How to Use Mkp224o
Here is how to use the mkp224o utility to generate a vanity URL based on your specified filter.
Step 1 — Prepare Server
These instructions are for a Linux server running a recent version of Debian or Ubuntu.
Get your server package lists up to date:
sudo apt update
Upgrade to the latest version of all your existing packages:
sudo apt upgrade
Install the prerequisites for compiling mkp224o from source:
sudo apt install git build-essential autoconf libsodium-dev
Step 2 — Compile Mkp224o
Make a directory for downloads, and change into it:
mkdir ~/Downloads
cd ~/Downloads
Get the source code for mkp224o from Github:
git clone https://github.com/cathugger/mkp224o.git
Change into the mkp224o source directory:
cd mkp224o
Generate the configure script:
./autogen.sh
Run the configure script:
./configure
Compile mkp224o from source:
make
Step 3 — Run Mkp224o
Make the output directory for the generated address possibilities. We will name this directory as possible
:
mkdir possible
Now run mkp224o and send its output to the directory named possible
. We use the option -d
to specify the output directory, and we select only onion domain names that begin with the characters blog
. Of course, you can change possible
and blog
in the example to names of your own choosing.
./mkp224o -d possible blog
For the 4-character filter blog
, on my machine, mkp224o generated one possible onion domain name every 5 seconds. Onion v3 addresses may have one of 32 different characters in each position. Extrapolating to length 5, we might expect it to generate one possible domain name every 2 minutes 40 seconds. Extrapolating to length 6, we would expect a possible onion domain name every 1.5 hours. For a filter of length 7, we would expect a possible onion domain name every 2 days. For length 8, you might get a single possibility roughly every 64 days.
When you are satisfied with the number of possibilities generated, press Ctrl+c on your computer keyboard to stop the mkp224o process.
Now list the results in the directory named possible
:
ls -l possible
Choose one of the generated domain names. List the contents of that domain name’s directory. For example:
ls -l possible/blogiwuasytomnunoj642gv7pswvacsnil4pr465mtz2wrlqf2mac5ad.onion
You will see that the directory contains three files:
hostname
hs_ed25519_public_key
hs_ed25519_secret_key
Step 4 — Implement Onion Address
You will need to copy the three files above into your /var/lib/tor/hidden_service
directory. For example, if you use the word blog
as your hidden service directory name:
sudo mkdir /var/lib/tor/blog
sudo cp possible/blogiwuasytomnunoj642gv7pswvacsnil4pr465mtz2wrlqf2mac5ad.onion/* /var/lib/tor/blog
sudo chown -R debian-tor:debian-tor /var/lib/tor/blog
sudo chmod 700 /var/lib/tor/blog
Now turn to the post for sample Tor and Nginx onion website configuration files.