Sorry this is mostly just my opinion and I may lack understanding here and there. PLEASE correct me if I am wrong or add additional info, maybe I forgot or don’t know about similar programs!
IPFS is probably the most known, it does content addressing. ipfs website It’s kinda nice, but it’s geared towards people who are building applications and people who manage/serve large amounts of data. As your typical user you can’t do much with it but serve files with it, but it doesn’t really help with hosting from home etc. Also you typical programs you want to run don’t have IPFS integrated so they can’t make use of it.
Yggdrasil network is a p2p network based on generated IPV6 addresses. yggdrasil website You start it on two machines, they both get an IPV6 address which enables them to find each other in the network and have encrypted connections.
OpenNIC is pretty cool and basically just a DNS service with some new tlds. OpenNIC website It’s cool, but you still have to change DNS on all your systems while still relying on a central authority to manage top level domains.
KadNode introduces a .p2p tld and resolves it through bittorrent p2p. KadNode on github Unfortunately that’s all it does, you can’t get a specific domain but instead the address is <public-hex-key>.p2p.
as another user mentioned in a previous post of mine: GNUnet has GNS (alternative DNS), filesharing and their routing protocol CADET. GNUnet website To address a machine in the network through GNS you have to make an identity which works as your DNS zone and that means that you can’t reach other domains in the network without adding the zones of others via adding their public key.
Please tell me that I forgot major ones because I don’t particularly like this list, for selfhosting it’s probably easiest to just use a free subdomain or something like that because the alternatives seem like a lot of work for not that much benefit.