Open eriksank opened 9 years ago
I am curious of whether this is possible as well.
Snow is not an anonymity service.
It uses virtual addressing but the daemon itself still requires an underlying transport.
Receiving packets anonymously requires some device (a privacy VPN, a Tor exit node) which has a public IP address and will forward packets sent to that IP address to you, without remembering or telling anyone where the packets go.
Using a VPN is mosly transparent. If you route all the traffic to and from your machine through a VPN then snow sees the VPN like a local NAT gateway and the outside world sees the IP address of the VPN as your IP address. The thing to watch for is that snow might provide your local public IP address to peers who want to connect to you if it can learn it from UPnP or NAT-PMP, or because you started snow before starting the VPN, or you have a global IPv4 address or IPv6 address on your local machine etc.
Tor is a different animal. The client interface is SOCKS rather than IP and snow doesn't currently support SOCKS. But optional Tor support is likely to be added. Snow supporting Tor as a transport would effectively give Tor an IP client interface, which some people may find useful. Tor is also very good at NAT and firewall traversal (because it looks like TLS, runs on port 443 and already pays the cost of relaying all traffic), so using it as a transport of last resort for peers that don't care about anonymity would improve connectivity for peers with extremely broken networks. That would then provide useful cover traffic for peers who do need anonymity. It seems to be a win all around.
I wonder, is there any way to use this to avoid revealing the IP address of a particular server? Tor can do that by running hidden services. Server machines are only known by their onion address, without revealing their IP address. Can snow be repurposed somehow for that same purpose? Or would it be unrealistic?