Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
*but relies on IPFS.
Useless.
It relies on libp2p not ipfs. ipfs uses libp2p as its transport
Tell me what I'm misunderstanding here.
So I dug into the source code a bit to see how it's used. It turns out that IPFS might actually optional, as per the log line on https://github.com/hyprspace/hyprspace/blob/master/p2p/node.go#L213 ("Getting additional peers from IPFS API")
The list of required bootstrap peers is hardcoded in the same file, but a few lines above, specifically at https://github.com/hyprspace/hyprspace/blob/master/p2p/node.go#L181
I say might be because - while the required bootstrap peers include a bunch of ones based on bootstrap.libp2p.io - there is a long list of hardcoded ip addresses and I don't recognize any of them.
So those might be libp2p.io ip addresses, but they might also be IPFS ip addresses, or even belong to someone else altogether. (Edit: There are WHOIS tools online like https://lookup.icann.org/en that can be used to look these up and figure out who they belong to if you are really curious, but I can't be bothered to do that right now.)
In any case, it looks like the way this works is that from a peer, libp2p tries to look up additional peers, and so on. So at most IPFS would be used as a way to get a listing, but once the desired peer is found, IPFS is cut out of the picture for that particular connection and NAT hole punching is used to establish a direct connection between peers instead (as per the linked wikipedia article, https://en.wikipedia.org/wiki/Hole_punching_(networking )