Thanks James, this is awesome! Very well done. Out of curiosity why sidestep any use of Stem? It supports encoding/decoding most tor cell types...
Yours: https://github.com/torpyorg/torpy/blob/master/torpy/cells.py Mine: https://gitweb.torproject.org/stem.git/tree/stem/client/cell.py If you'd care to integrate any of this functionality into Stem I'd be delighted to work with you. Cheers! -Damian On Thu, Oct 17, 2019 at 7:05 AM James Brown <jbrown...@yandex.com> wrote: > > Hello all, > > Recently I finished a pure python implementation of the Tor client. It's > called torpy (https://github.com/torpyorg/torpy). > > It offers handy API, supports v2 hidden services with "basic" and "stealth" > authorization protocol. Works with python 3.6+. > It has no dependencies on the original C Tor client and Stem. For more > information please take a look at README on github. > > Here is a quick example of how to use the library: > ```python > from torpy import TorClient > > hostname = 'ifconfig.me' # or onion-services as well, for example > 'http://facebookcorewwwi.onion' > tor = TorClient() > > # Choose random guard node and create 3-hops circuit > with tor.create_circuit(3) as circuit: > # Create tor stream to host > with circuit.create_stream((hostname, 80)) as stream: > # Now we can communicate with host > stream.send(b'GET / HTTP/1.0\r\nHost: %s\r\n\r\n' % hostname.encode()) > recv = stream.recv(1024) > ``` > > Please list torpy project at > https://trac.torproject.org/projects/tor/wiki/doc/ListOfTorImplementations > > It would be nice if you try the client. I look forward to any feedback. > > Cheers. > > > _______________________________________________ > tor-dev mailing list > tor-dev@lists.torproject.org > https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev _______________________________________________ tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev