thanks for sharing, as always very educational, obligatory mention of Tailscale. Since it just works almost everywhere .
@folguefolgue61774 ай бұрын
to make it easier to unmarshal you could define struct with the same data structute definition, check the json module documentation. Its been a while since ive written go, but I remember it been simple to do. PS: Interesting video :)
@raven-vr5yz4 ай бұрын
bro just casually drops the most insane videos youtube has ever seen fr no cap
@hoff._world4 ай бұрын
fr fr ohio skibidi cooking porkchops for the sigma crew
@rangerzh3 ай бұрын
is it 24/7 port forward?
@raven-vr5yz3 ай бұрын
hey I have a question about your implementation of controling light bulbs in your room. I’m currently in school working on a smart home project and I have everything already planned out but the light bulbs. Should I use a relay and put in in the middle of the connection or do you know about any light bulb that has an open api?
@hoff._world3 ай бұрын
hey bro so the lights I have are phillips hue and they use a protocol called zigbee which is like a mesh-based local smart home protocol. There's a great piece of software called zigbee2mqtt which will bridge that to MQTT which is a network socket based protocol that any machine with an internet connection can access, and that's how I'm bridging my lights to the network. I have a daemon that bridges my own protocol to MQTT and that's p much how it works. I'd suggest checking out the zigbee2mqtt supported devices page for a list of bulbs. Zigbee bulbs are kind of expensive and recently I reverse engineered the IR remote for those cheap chinese LED products so I'll do a vid on that too :) if you go the zigbee route you need some hardware to act as the 'zigbee coordinator', which can be a raspberry pi with a USB zigbee coordinator dongle. I'm using the SONOFF ZBDongle-E
@mblenczewski4 ай бұрын
Nice video! Reinventing a vpn, we love to see it :^) Initially when I saw the setup_exec() and process_watcher() code I had a lil' grimace, but it is simple, effective, and was quick to implement so I cannot complain. Plus this is written in a real language and not c so you have convenience and ergonomics, no need to overcomplicate anything. Aside from wanting to implement something yourself, why not simply use some vpn server for a point-to-point or point-to-site setup? Would that have worked, or is this use case of private services tunneled over public networks (the internet) unsuited to a vpn in some way? Any hints on what is coming up next?
@hoff._world4 ай бұрын
didnt wanna use a VPN because I want this to be always on and having everything go thru my home network all the time would probably be kinda slow re: coming next I think I should stop making promises I can't 100% keep :')
@mblenczewski4 ай бұрын
@@hoff._world hahaha no worries about the future videos. Sometimes things become larger and more complicated than expected, sometimes other topics pop up and are easier to do, or we just stop being interested in something. All of these are fine and happen, nothing wrong with that :) Regarding not using a vpn due to all traffic always going through the home network, my understanding was that this was something you could choose to enable, not something that was unavoidable? For example, in a "point-to-site" case, your LAN would have the vpn server running on your top-level router. This is the "site" part, and would allow incoming traffic to be routed to all/some local subnets. On your device, i.e. the "point" part, you would have the vpn client running and this would tunnel all traffic going into it to the vpn server, as your ssh setup does now. You could obviously tunnel all traffic on your device through the vpn, and this could indeed be slow. But the default would be that your local network subnets are visible on your device, likely under some different subnet address and only traffic to this new subnet is tunneled (e.g. your home network is on 192.168.*.* but is visible on your device as 10.0.*.*, you simply access your local network services via this new 10.0.*.* network). I may still be misunderstanding your use case or constraints And this may not be how how all vpns work, some might enforce greater security at the cost of tunneling all traffic, or may not be configurable/flexible enough to allow my above mentioned setup.
@hoff._world4 ай бұрын
@mblenczewski neato u learn smth new every day that does sound like it could be good. to be honest haven't experimented so much with self-hosting a VPN of any capacity - freebsd's wireguard implementation was only recently considered 'production ready' so was planning on messing around with that when I have the time. The way this setup works at the moment is only port based, it just sets up a listener on that port and routes traffic on that through the enc tunnel, everything else goes thru the normal connection. With the method you're describing it would be that you simply interact with them as if they were regular hosts on your LAN except on a different subnet which would also be a completely valid way to solve the problem, thanks for sharing :)
@mblenczewski4 ай бұрын
@@hoff._world your current implementation maps to multiple "point-to-point" vpns (one for each sshd host), each exposing their services onto the localhost subnet, I think. To my mind, the upside of ssh tunneling is remapping ports, which you don't get by default with a vpn. And ssh tunneling isnt talked about enough as it is, so it is always good to mention it. Enjoyed the video regardless :)
@estebanmurcia84514 ай бұрын
Have you ever used ruby for network programming? if so, what are your thoughts, specially when compared to other languages?
@hoff._world4 ай бұрын
I have never actually written anything in ruby. I hear rails is pretty good, or by network programming do you mean socket based stuff?
@estebanmurcia84514 ай бұрын
@@hoff._world socket based, i once planned a project, basically a fancy firewall and a professor recommended ruby which kinda surprised me because i never thought ruby would be used for this type of projects, later i found out that there are actually more projects for "low level" networking in ruby than i expected
@hoff._world4 ай бұрын
@estebanmurcia8451 interesting, yeah that surprises me too since it's interpreted you'd probably consider it a high level lang. Come to think of it there are also more socket programs and such written in python than I would expect so yeah I can see it
@royalpotato47334 ай бұрын
Its learning time :> also hoff I need some ideas in the field of Network programming, anonymity to work on for my final year project. Any assistant sensei
@alex.2894 ай бұрын
Couldn’t these problems be solved with Kubernetes?
@hoff._world4 ай бұрын
if it could I would still rather not pull in all that complexity for what I knew would be at max 300 loc
@alex.2894 ай бұрын
@@hoff._world yea it would probably add more complexity than necessary indeed
@hoff._world4 ай бұрын
@alex.289 it is always interesting tho to see other options put forth, in software engg and infrastructure stuff there's always multiple ways to do the same thing :)
@evanrittenhouse78664 ай бұрын
Have you thought about live streaming you coding?
@GregTash4 ай бұрын
That would be pretty good I reckon
@hoff._world4 ай бұрын
it's crossed my mind, unfortunately I'd be exposing myself as a massive fraud who's never written a line in his life. nah kidding, main issue is timezone (im AEST) + busyness, there's no shot I could hold down a schedule but maybe if I announce one like a week in advance could work... no promises but ill think on it!