State of anonymous hosting on IPFS

Hello, I’m interested in hosting content through IPFS Desktop. I do not want to use a private server/cluster; I want it publicly available to everyone. However, I heard that IPFS broadcasts your IP address, making doxing possible. And that because TOR and I2P were never implemented, the only way to host anonymously is through a VPN.

Is this still the case? Is there any setting in IPFS Desktop to help host anonymously, or is a VPN still the only option?

Currently there is no built-in anonymity mechanism in kubo, nor IPFS Desktop.

If you advertise content to the Amino DHT, the CIDs that you make available to the network will point to your node’s peer ID, which will point to your IP address.

To hide that IP address, you have to use a proxy solution (such as VPN), and limit kubo to use the proxied network interface (see config docs).

If using a VPN, you should setup VPN port forwarding so that your node gets a dedicated public IP+port. Many commercial VPNs don’t offer this service. NAT Hole punching has a lower success rate when used over a VPN/proxied connection.

2 Likes

So I need a VPN with port forwarding. Got it, thanks. As you may well know, VPN apps have a setting to either force all connections to use the VPN, or only require it for certain applications. My last question is in regards your explanation:

Is this the same as mandating that all traffic go through the VPN, or is there an additional Kubo setting I need to look at?

If the VPN app has an option to route all traffic go through the VPN you should be fine. The Kubo config setting to look at is kubo/docs/config.md at master · ipfs/kubo · GitHub which by defaults binds to all interfaces using 0.0.0.0 which resolves to all interfaces by the operating system, including the local private network.

You can test this by running ipfs id after enabling the VPN and setting the Addresses.Swarm config. You can also test the public visibility of your node using the delegated routing endpoint: https://delegated-ipfs.dev/routing/v1/peers/YOUR_PEER_ID

1 Like

Understood. Thank you both for your time.

1 Like