Skip to main content
https://raw.githubusercontent.com/isislovecruft/leekspin/develop/doc/sphinx/source/_static/Loituma.gif

An Onion Router descriptor generator

Leekspin (á la the original internet masterpiece) is a small tool for generating mock Onion Router (OR) descriptors such as those used by relays, bridges, and Hidden Services (HS) within the Tor network in order to convey information about said relay, bridge, or Hidden Service to the Tor directory authorities, the bridge authority, Tor clients connecting to the network, and/or other relays within the network.

This tool is meant to be used to generate mock descriptors for testing or fuzzing other Tor libraries and programs, such as Stem, BridgeDB, and Tor. The keys, hash digests, and signatures generated within these mock descriptors are meant to be indistinguishable from those generated by real relays, bridges, and Hidden Services within the Tor network.

authors:

Isis Lovecruft <isis@torproject.org>

licence:

MIT licence, see LICENSE file for details

copyright:

© 2013-2016 Isis Lovecruft, The Tor Project, Inc.

Installing

The very simplest way, if you use pip, would be to do:

$ pip install leekspin

Otherwise, the standard setuptools commands work just fine:

$ git clone https://git.torproject.org/user/isis/leekspin.git
$ cd leekspin
$ python setup.py install --record installed-files.txt

Running

Leekspin will install a script named… leekspin. To use it to generate twenty-three Bridge descriptors, do:

$ leekspin --bridge -n 23

And to generate forty-two Relay descriptors:

$ leekspin --relay -n 42

And, likewise, to generate ten hidden service descriptors, do:

$ leekspin --hidden-service -n 10

Commandline Flags

$ leekspin -h
usage: leekspin [-h] [[-v | -q] [--version] [-r | -b | -hs] [-n DESCRIPTORS]

Generate a signed set of network-status, extra-info, and server descriptor
documents for mock Tor relays or bridges.

Optional arguments:

-h, --help

show this help message and exit

-v, --verbose

print information to stdout

-q, --quiet

don’t print anything

--version

print leekspin version and exit

Descriptor types:

-r, --relay

generate Relay descriptors

-b, --bridge

generate Bridge descriptors

-hs, --hidden-service

generate Hidden Service rendezvous descriptors

Descriptor variations:

-xt, --without-tap

generate descriptors without TAP support, e.g. without RSA keys

-xn, --without-ntor

generate descriptors without ntor support, e.g. without Ed25519 keys

Required arguments:

-n DESCRIPTORS, --descriptors DESCRIPTORS

generate <n> sets of descriptors

Bugs

Should you decide to use this tool, and especially should you be so insane as to try hacking on it, you will likely find bugs. You may find bugs in Leekspin, BridgeDB, Stem, Tor’s specifications , and possibly even in Tor. Please, for math’s sake! Report them! The Tor developers will love you forever. You can report bugs on our issue tracker here .

Release files for leekspin 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distributions (sdists)

Source distribution for leekspin 2.1.1
File Size Uploaded
leekspin-2.1.1.zip 44.2 kB Details
leekspin-2.1.1.tar.gz 35.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for leekspin 2.1.1
File Interpreter ABI Platform
leekspin-2.1.1-py2.7.egg Legacy Egg format - - Details

Total release size: 168.9 kB

Release files / leekspin-2.1.1.zip

Download URL leekspin-2.1.1.zip
Size 44.2 kB
Tags Source
SHA-256 checksum
How to use checksums
35b7ca32ac8263a4caadee93bea088b5398931742d8c1a5f042fdd61d270a668
BLAKE2b-256 checksum
How to use checksums
ba6eafb2ff19f8b7ff467225bf9b025c15b0fa80c3bbee4d5adc5fa8d3584fc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / leekspin-2.1.1.tar.gz

Download URL leekspin-2.1.1.tar.gz
Size 35.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a5d9eb3904a33c9e5ac13a49882a4156dbd81312d17f1cd6fdff59670e249443
BLAKE2b-256 checksum
How to use checksums
da640e5eacc17f5c9df7190f0973b86b8b25263f00fa761b6042c4aad7aa6e21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / leekspin-2.1.1-py2.7.egg

Download URL leekspin-2.1.1-py2.7.egg
Size 89.0 kB
Tags Egg
SHA-256 checksum
How to use checksums
b765a16d2f0f0f1cf7e850c63d8d90d392571137ba43bf7ec0a5407f6cd94341
BLAKE2b-256 checksum
How to use checksums
dc1288bf70eb30bc0f73a067d03ab39375aec57fb91f0e9f72651c38c5a128a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2.1.1 This release

3 release files

2.1.0

3 release files

2.0.0

3 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.1

3 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

3 release files

0.1.2

3 release files

0.1.1

3 release files

0.1.0

1 release file

0.0.10

3 release files

0.0.9

3 release files

0.0.8

3 release files

0.0.7

3 release files

0.0.6

3 release files

0.0.4

3 release files

0.0.3

3 release files

0.0.2

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page