meejah/txtorcon
meejah/txtorcon has 258 GitHub stars and 79 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-13 10:58 UTC. Last push 2026-06-01.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Twisted-based asynchronous Tor control protocol implementation. Includes unit-tests, examples, state-tracking code and configuration abstraction.
SecurityREADME.md
Original.. _NOTE: see docs/index.rst for the starting-point .. _ALSO: https://txtorcon.readthedocs.org for rendered docs
.. image:: https://github.com/meejah/txtorcon/actions/workflows/python3.yaml/badge.svg :target: https://github.com/meejah/txtorcon/actions :alt: github-actions
.. image:: https://coveralls.io/repos/meejah/txtorcon/badge.png?branch=main :target: https://coveralls.io/github/meejah/txtorcon?branch=main :alt: coveralls
.. image:: https://codecov.io/github/meejah/txtorcon/coverage.svg?branch=main :target: https://codecov.io/github/meejah/txtorcon?branch=main :alt: codecov
.. image:: https://readthedocs.org/projects/txtorcon/badge/?version=stable :target: https://txtorcon.readthedocs.io/en/stable :alt: ReadTheDocs
.. image:: https://readthedocs.org/projects/txtorcon/badge/?version=latest :target: https://txtorcon.readthedocs.io/en/latest :alt: ReadTheDocs
txtorcon
- docs: https://txtorcon.readthedocs.org or http://fjblvrw2jrxnhtg67qpbzi45r7ofojaoo3orzykesly2j3c2m3htapid.onion/
- code: https://github.com/meejah/txtorcon
torsocks git clone git://fjblvrw2jrxnhtg67qpbzi45r7ofojaoo3orzykesly2j3c2m3htapid.onion/txtorcon.git- MIT-licensed;
- Python 3.8+, PyPy 7.3.7+;
- depends on
Twisted,Automat <https://github.com/glyph/automat>
Ten Thousand Feet
txtorcon is an implementation of the control-spec <https://gitweb.torproject.org/torspec.git/blob/HEAD:/control-spec.txt>_
for Tor <https://www.torproject.org/>_ using the Twisted_
networking library for Python <http://python.org/>_.
This is useful for writing utilities to control or make use of Tor in
event-based Python programs. If your Twisted program supports
endpoints (like twistd does) your server or client can make use of
Tor immediately, with no code changes. Start your own Tor or connect
to one and get live stream, circuit, relay updates; read and change
config; monitor events; build circuits; create onion services;
etcetera (ReadTheDocs <https://txtorcon.readthedocs.org>_).
Some Possibly Motivational Example Code
download <examples/readme.py>_
.. code:: python
from twisted.internet.task import react
from twisted.internet.defer import inlineCallbacks, ensureDeferred
from twisted.internet.endpoints import UNIXClientEndpoint
import treq
import txtorcon
async def main(reactor):
tor = await txtorcon.connect(
reactor,
UNIXClientEndpoint(reactor, "/var/run/tor/control")
)
print("Connected to Tor version {}".format(tor.version))
url = u'https://www.torproject.org:443'
print(u"Downloading {}".format(repr(url)))
resp = await treq.get(url, agent=tor.web_agent())
print(u" {} bytes".format(resp.length))
data = await resp.text()
print(u"Got {} bytes:\n{}\n[...]{}".format(
len(data),
data[:120],
data[-120:],
))
print(u"Creating a circuit")
state = await tor.create_state()
circ = await state.build_circuit()
await circ.when_built()
print(u" path: {}".format(" -> ".join([r.ip for r in circ.path])))
print(u"Downloading meejah's public key via above circuit...")
config = await tor.get_config()
resp = await treq.get(
u'https://meejah.ca/meejah.asc',
agent=circ.web_agent(reactor, config.socks_endpoint(reactor)),
)
data = await resp.text()
print(data)
@react
def _main(reactor):
return ensureDeferred(main(reactor))
Try It Now On Debian/Ubuntu
For example, serve some files via an onion service (aka hidden service):
.. code-block:: shell-session
$ sudo apt-get install --install-suggests python3-txtorcon
$ twistd -n web --port "onion:80" --path ~/public_html
Read More
All the documentation starts in docs/index.rst <docs/index.rst>. Also hosted at txtorcon.rtfd.org <https://txtorcon.readthedocs.io/en/latest/>.
You'll want to start with the introductions <docs/introduction.rst>_ (hosted at RTD <https://txtorcon.readthedocs.org/en/latest/introduction.html>_).
.. _Twisted: https://twistedmatrix.com/trac
Explore related projects
trimstray/the-book-of-secret-knowledge
A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more.
258,176 starsHack-with-Github/Awesome-Hacking
A collection of various awesome lists for hackers, pentesters and security researchers
125,360 starsswisskyrepo/PayloadsAllTheThings
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
82,649 starscaddyserver/caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
79,038 stars