Skip to content
vanity address generator for tor onion v3 (ed25519) hidden services
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ed25519 explicit void params declarations, add warnings to keep it correct May 14, 2019
.gitattributes .gitattributes: make sure *.h *.c are detected as C Oct 29, 2018
.gitignore
COPYING.txt README & COPYING Sep 25, 2017
Makefile.in oops forgot Mar 31, 2019
OPTIMISATION.txt s/avaiable/available/ Jan 10, 2018
README.txt split worker off Mar 16, 2019
autogen.sh add amd64-{51-30k,64-24k} from SUPERCOP, now use autoconf Sep 26, 2017
base16.h improvements all over the place Sep 25, 2017
base16_from.c some more explicitness Feb 23, 2018
base16_to.c init Sep 24, 2017
base32.h harden pseudo-YAML validation Jul 12, 2018
base32_from.c some more explicitness Feb 23, 2018
base32_to.c improvements all over the place Sep 25, 2017
base64.h split worker off Mar 16, 2019
base64_from.c stronger base64 validation Jul 12, 2018
base64_to.c optional functionality for writing results to the single file and ext… Jul 6, 2018
common.h cleanups, make clang happy Mar 15, 2019
configure.ac explicit void params declarations, add warnings to keep it correct May 14, 2019
cpucount.c glibc isn't limited to linux Mar 31, 2019
cpucount.h explicit void declaration, remove unused arg. thanks ccomp Oct 23, 2017
filters.h explicit void params declarations, add warnings to keep it correct May 14, 2019
filters_common.inc.h split worker off Mar 16, 2019
filters_main.inc.h split worker off Mar 16, 2019
filters_worker.inc.h split worker off Mar 16, 2019
hex.h add numwords functionality Oct 22, 2017
ioutil.c some more explicitness Feb 23, 2018
ioutil.h attempt to support windows Feb 22, 2018
keccak.c explicit void declaration, remove unused arg. thanks ccomp Oct 23, 2017
keccak.h explicit void declaration, remove unused arg. thanks ccomp Oct 23, 2017
likely.h some fixes and optimizations Sep 27, 2017
main.c explicit void params declarations, add warnings to keep it correct May 14, 2019
test_base16.c delet trailing whitespace Jul 12, 2018
test_base32.c delet trailing whitespace Jul 12, 2018
test_base64.c cleanups, make clang happy Mar 15, 2019
test_ed25519.c delet trailing whitespace Jul 12, 2018
types.h more flexible intfilter config Oct 22, 2017
vec.c some vec tweaks Oct 10, 2017
vec.h small fixup, implement deduplication support Sep 26, 2018
worker.c unconditionally define feature test macros Mar 31, 2019
worker.h split worker off Mar 16, 2019
worker_batch.inc.h split worker off Mar 16, 2019
worker_fast.inc.h split worker off Mar 16, 2019
worker_fast_pass.inc.h split worker off Mar 16, 2019
worker_slow.inc.h split worker off Mar 16, 2019
yaml.c explicit void params declarations, add warnings to keep it correct May 14, 2019
yaml.h explicit void params declarations, add warnings to keep it correct May 14, 2019

README.txt

mkp224o - vanity address generator for ed25519 onion services

This tool generates vanity ed25519 (hidden service version 3, formely known as proposal 224) onion addresses.
For context, see <https://gitweb.torproject.org/torspec.git/plain/rend-spec-v3.txt>.

REQUIREMENTS:
C99 compatible compiler, libsodium, GNU make, GNU autoconf, UNIX-like platform (currently tested in Linux and OpenBSD).

BUILDING:
`./autogen.sh` to generate configure script, if it's not there already.
`./configure` to generate makefile; in *BSD platforms you probably want to use
`./configure CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"`.
You probably also want to pass something like "--enable-amd64-51-30k"
or "--enable-donna" to configure script for faster key generation;
run `./configure --help` to see all available options.
Finally, `make` to start building (`gmake` in *BSD platforms).

USAGE:
Generator needs one or more filters to work.
It makes directory with secret/public keys and hostname
for each discovered service. By default root is current
directory, but that can be overridden with -d switch.
Use -s switch to enable printing of statistics, which may be useful
when benchmarking different ed25519 implementations on your machine.
Use -h switch to obtain all available options.
I highly recommend reading OPTIMISATION.txt for performance-related tips.

CONTACT:
For bug reports/questions/whatever else, email cathugger at cock dot li.
PGP key, if needed, can be found at <http://cathug2kyi4ilneggumrenayhuhsvrgn6qv2y47bgeet42iivkpynqad.onion/contact.html>.

ACKNOWLEDGEMENTS & LEGAL:
To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.

keccak.c is based on <https://github.com/gvanas/KeccakCodePackage/blob/master/Standalone/CompactFIPS202/Keccak-more-compact.c>.
ed25519/{ref10,amd64-51-30k,amd64-64-24k} are adopted from SUPERCOP <https://bench.cr.yp.to/supercop.html>.
ed25519/ed25519-donna adopted from <https://github.com/floodyberry/ed25519-donna>.
Idea used in worker_fast() is stolen from <https://github.com/Yawning/horse25519>.
base64 routines and initial YAML processing work contributed by Alexander Khristoforov <heios@protonmail.com>.
Passphrase-based generation code and idea used in worker_batch() contributed by <https://github.com/foobar2019>.
You can’t perform that action at this time.