I realize the intent of this application. I am just wondering if it will be possible to use for sharing files between nodes anonymously. As you know this is more of an issue for political activits, environmental activists, client-doctor, client-lawyer relationships, journalist etc. Well one can also argue that criminals might benefit form such. But my original intention is for file sharing when privacy is the main issue which is a legitimate concern in this age.
I see that nodes have hash numbers which is cool but on the otherhand the nodes can see eachother`s ip. I am wondering if it would be possible where the client can disable broadcasting its ip therfore noone can see the ip? I realize that it will need to inform the announce server, but it might not be necessary afterwards?
The other issue I see is if the announce server is compromised which sounds like a separate set of problems.
And one last thing, will it be possible to exchange ips over a tor network type anon network? For example Tor offers hidden services where one can run say a web server that is only available within the Tor network.
Again my intention is not to divert attention from Syncthings general purpose, but I see that Syncthing seems to be a strong contender among open sync apps.
It’s hard to do a peer to peer connection without knowing the other side’s IP. Possibly something could be done with Tor; probably it could already with some trickiness and SOCKS proxies and so on…
It would be great if you can check this document out when you have time.
It talks about how the hidden services work. Basically hidden services is hashed node ip type thing where only the tor networks know about. So it is senseless otuside of tor , and it cant be accessed without the hash url and proper tor connection.
My intention would be below. And please let me know if this design might work well with Syncthing, which is some future idea.
Create a hidden service for the announce server
Create hidden service for the nodes so that the hidden service announce server on the network would let them exchange keys over the tor network. Once done they will comminucate through hidden service hash rather than the real ips.
In that regard Syncthing needs to be able to work over a sock proxy. Would that possible at some point. I am sure that some routing, some proxying might work at the moment. I am rather wondering if this technically sound feasible within the syncthing framework.
Getting syncthing to play nice with a SOCKS proxy shouldn’t be rocket science, so that could happen.
That is great.
In that case do you feel like the announce server might still be needed(assuming that the exchange is done via the tor hashes) ? I do not really know all the details of the project, maybe the announce server is also responsible for other things.
The announce system will probably not work at all in this environment, and it would be really dangerous to have it enabled (risk of packets getting out the normal way and not via Tor). I would expect there to be some utility or something that would help handling the conversion from Tor hashes to actual addresses etc. I don’t know.