So, three systems which all require a central service?
Ongoing work is happening, for example by the webtorrent folks, to remove this constraint.
Do these services also act as connectors in case of double NAT?
Would that meet the requirements without being a "central" service?
Just take any .onion domain and append it with .to and it should work. examplelettersblah.onion becomes examplelettersblah.onion.to and that works without needing to muck about with Tor.
This would be a horrible idea if you're concerned with privacy/anonymity. But, it'd make it easy for people to download your shared files.