Hi naif,
Thanks for the input. This is good to know.
The ability to build internal circuits and at least access hidden services as a client is a feature that I definitely consider "must-have" at some point in the future. There are a number of things that have precedence over implementing this, though (e.g. more serious testing, fixing some simplifications made that make using it somewhat annoying, and bringing things like path selection and when to get network status docs up to full spec compliance).
However, when I get to the point of really digging into rend-spec I will definitely keep this in mind and take a serious look at supporting hidden services too.
Thanks for the idea.
Best, Nik
On 01/21/2015 02:42 AM, Fabio Pietrosanti (naif) - lists wrote:
On 1/20/15 1:15 AM, Nik wrote:
Hi tor-dev,
I care deeply about the ability for people to have anonymity online, and I've always been really interested in exactly how Tor works.
So for a class project last semester I wrote oppy, an onion proxy in 100% Python. I spent most of my winter break cleaning it up and writing documentation, and today I'm releasing oppy as a free software project :)
code: https://github.com/nskinkel/oppy docs: https://nskinkel.github.com/oppy
It would be an amazing evolution to see support for Tor Hidden Services.
There are plenty of software (such as GlobaLeaks) that use Tor only:
- as a Client (to make outbound connection)
- as a Server (to receive outbound connection)
It's a wet dream to have a pure-python Tor implementation integrated within Twisted, that enable to:
- connect to the outside world using Tor
- receive inbound connection as a Tor Hidden Service
I understand that's quite tricky to reach production-grade, but for software-integration it would be a very valuable approach.
Another approach to achieve better "software integration" is to have Tor as a Library (it has been discussed few times, there are some existing architectural issues within Tor and some concern on how it shall be done).