anderspitman
anderspitman on Hacker News
I'm assuming you're already aware of SpringRTS and Zero K?
You can start investing in open platforms and services that get better, not worse, over time. Centralized tech doesn't result in less pain. It's just amortized over eternity.
Tunneling solves the ISP problem and the complexity problem of handling inbound connections. It also has some nice security benefits
One advantage of tunneling is your ISP doesn't know what the traffic is. Also I expect ISP competition to slowly improve. More people are getting access to fiber all the time.
Sandstorm is awesome but requires significant modifications to apps in order to work within the system. Also, it doesn't solve the complexity problem. You still need a programmer or sysadmin to set it up and manage security.
See also Cloudron, Yunohost, Umbrel.
The author talked about this a few months ago on Tim Ferriss' podcast[0]. One of my favorite episodes.
I'm passionate[1] about the concept but articles like this are a reminder to me that we need to make self hosting an order of magnitude simpler and accessible to more people. It shouldn't need to involve any CLI, DNS, TLS certs, port forwarding/NAT traversal, IP addresses, etc etc.
Self hosting shouldn't be any more difficult or less secure than installing an app on your phone. The flow should be 1) install the "self hosting app" on an old laptop or phone. 2) Go through a quick OAuth2 flow to connect your app to a tunnel that enables inbound traffic. 3) Use the self hosting app to install other apps like Jellyfin, Calendar, Nextcloud, etc. Everything should be sandboxed (containers work pretty well on Linux and Windows 10/11 via WSL2) and secure by default. Automatic backups (ideally an OAuth2 flow to your friends' self hosted installations) and auto app updates are table stakes.
There's no technical reason this can't all be done, but lots of technical challenges, and it's unclear whether anyone will pay for tunnels. I'm currently trying to figure out how to do reliable auto backups without filesystem snapshots.
[0]: https://youtu.be/0BaDQCjqUHU?si=0wDf-2RH-u9vdm3g&t=1380
[1]: https://github.com/anderspitman/awesome-tunneling
The state of backup tech is surprisingly bad, and runs OS deep. Even with modern solutions like restic, you have no guarantee of a consistent backup[0] unless you pair it with a filesystem that supports snapshots like btrfs, ZFS, etc, which basically no one other than power users are even aware of. Interestingly, Windows ships snapshot support by default[1], but you need admin privileges to use it.
Also, it's unclear to me what happens if you attempt a snapshot in the middle of something like a database transaction or even a basic file write. Seems likely that the snapshot would still be corrupted. So for databases you're stuck using db-specific methods like pg_dump.
All this complexity makes it very difficult to make self-hosting realistic and safe by default for non-experts, which is the problem I'm having.
[0]: https://forum.restic.net/t/what-happens-if-file-changes-duri...
[1]: https://learn.microsoft.com/en-us/windows-server/storage/fil...
Posted by
anderspitman on Wednesday September 13, 2023 @09:16PM
from the trisul.org dept.
Any sufficiently popular/reputable VPN provider will eventually remove port forwarding functionality. It's almost exclusively used for scams and torrenting and creates a fat target for litigation.
How would you synchronize them?
For small deployments, you might be surprised how far you can get with just systemd/journalctl. It even has built in aggregation over a network.
I was introduced to this concept as a kid by "The Great Brain" book series. Was surprised to discover as an adult that it actually works in many ways. I'm a huge proponent of sleeping when I'm stuck on something. The tricky part is recognizing when I'm in an unfruitful debugging session and pulling myself away.
Posted by
anderspitman on Sunday August 27, 2023 @09:06AM
from the wordpress.com dept.
> We all claim to hate complexity, but it’s actually just complexity added by other people that we hate — our own bugbears are always exempted, and for things we understand we quickly become unable to even see there is a potential problem for other people
Posted by
anderspitman on Wednesday August 23, 2023 @01:25PM
from the tantek.com dept.
I've had a great experience with eSIMs these past few days during a trip to Europe (coming from the US). It's so convenient to be able to arrive at a city and use airport wifi to download a mobile data package for a few bucks. The process is slightly clunky but not bad at all.
There's a lot of use cases outside traditional tablet functionality, such as running a webserver or turning those excellent Apple screens into a secondary monitor.
Would love to see it, but my guess would be only if there's ever regulation to force Apple to allow it under climate concerns or right to repair type policy.
Posted by
anderspitman on Thursday August 17, 2023 @09:48PM
from the phoronix.com dept.
Not refuting your valid points but just another angle to consider, do all websites need to work all the time? If my family knows they can go to apitman.com to see my latest trip photos, if it's down occasionally that's not going to significantly impact their experience. They can just try again later.
That said, when I imagine self hosting from a phone I definitely think the phone + USB drive in a closet approach makes more sense.
> 99.99999% of people want to host nothing at all
While I agree this is true today, people also didn't know they wanted cars or smartphones until good implementations were made. Smartphones existed for many years but were niche before the iPhone. We as an industry have thus far completely failed to show the value of self hosting.
I'm a big proponent of this idea. Unfortunately IPv6 alone isn't enough, due to firewalls. It's just not realistic for the average person to be expected to set up port forwarding etc. Now, if something like UPnP was universally deployed alongside IPv6, that would pretty much do it.
Personally, I think the future of self hosting is going to happen through IPv4 tunnels[0] with SNI routing. You also get the added benefit of not exposing your actual IP address, and dealing with things like DDoS become the tunnel provider's concern.
[0]: https://github.com/anderspitman/awesome-tunneling
Do you have an overview anywhere of the protocol you're using to encapsulate TCP in HTTP? Why did you go with HTTP instead of WebSockets? Does Narrowlink support UDP?
Sorry for so many questions
Hot take. IPv6 adoption is never going to hit 100% because SNI routing covers most of the cases people actually need. If UDP functionality is necessary QUIC will be used. I wish this wasn't the case. It would be nice if the software was good enough that more people were enabled to self host.
Hopefully we'll see browser integration eventually