NOTE: V2 addresses are dead! So tools like eschalot aren't working anymore!
With mkp224o
apt install gcc libc6-dev libsodium-dev make autoconf
git clone https://github.com/cathugger/mkp224o.git
cd mkp224o && ./autogen.sh && ./configure
# Alternate configure tuning:
# ./configure --enable-amd64-51-30k --enable-batchnum=4096
make
# Run with
./mkp224o -d /opt/hs_dir filter-name -n 6 -s -v -B
Install TOR and setup config for hidden service
apt install tor
cat <<EOF >> /etc/tor/torrc
HiddenServiceDir /var/lib/tor/other_hidden_service/XXXXXXXXXXXXjznzit2rlnj43ehbovl3hd7mzqdoawfvlqjxclq1id.onion/
#HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 443 IP:443
EOF
systemctl restart tor
Now edit torrc file in section HiddenService / Port and restart tor service
This looks like this:
Help for parameters with mkp224o
# ./mkp224o -h
Usage: ./mkp224o FILTER [FILTER...] [OPTION]
./mkp224o -f FILTERFILE [OPTION]
Options:
-f FILTERFILE specify filter file which contains filters separated
by newlines
-D deduplicate filters
-q do not print diagnostic output to stderr
-x do not print onion names
-v print more diagnostic data
-o FILENAME output onion names to specified file (append)
-O FILENAME output onion names to specified file (overwrite)
-F include directory names in onion names output
-d DIRNAME output directory
-t NUMTHREADS specify number of threads to utilise
(default - try detecting CPU core count)
-j NUMTHREADS same as -t
-n NUMKEYS specify number of keys (default - 0 - unlimited)
-N NUMWORDS specify number of words per key (default - 1)
-Z use "slower" key generation method (initial default)
-z use "faster" key generation method (later default)
-B use batching key generation method
(>10x faster than -z, current default)
-s print statistics each 10 seconds
-S SECONDS print statistics every specified amount of seconds
-T do not reset statistics counters when printing
-y output generated keys in YAML format instead of
dumping them to filesystem
-Y [FILENAME [host.onion]]
parse YAML encoded input and extract key(s) to
filesystem
-p PASSPHRASE use passphrase to initialize the random seed with
-P same as -p, but takes passphrase from PASSPHRASE
environment variable
--checkpoint filename
load/save checkpoint of progress to specified file
(requires passphrase)
--rawyaml raw (unprefixed) public/secret keys for -y/-Y
(may be useful for tor controller API)
-h, --help, --usage print help to stdout and quit
-V, --version print version information to stdout and exit