YAMN can be run as a client or a remailer server. In this tutorial we are interested only in the client portion of the program. Currently there is no GUI for Yamn under Linux. What exists is a command line app written in Golang.
First we will download the source code for YAMN, and then we will build a yamn binary using Go Language to compile it. If you would like to skip the compiling process and just grab a pre-compiled YAMN binary for various architectures click HERE.
If you haven't already done so install the Go language by following the tutorial HERE.
Now, as root or as a sudo, install Unzip:
root@vps:~$ apt install unzip
Logout of root. Login as regular user 'yamn' or whichever user in whose home directory you installed Go.
Download the YAMN source code:
yamn@vps:~$ mkdir tmp && cd tmp yamn@vps:~/tmp$ wget https://github.com/crooks/yamn/archive/refs/heads/master.zip yamn@vps:~/tmp$ unzip master.zip
If you encounter an error trying to use unzip then you probably don't have the Unzip program installed. As root or as sudo user do "apt install unzip" and try again.)
Now move into the folder with the source code files and build the YAMN binary:
yamn@vps:~/tmp$ cd yamn-master yamn@vps:~/tmp/yamn-master$ go build yamn@vps:~/tmp/yamn-master$mv yamn ~/go/bin
You have moved your new YAMN binary into the go/bin folder, a good place for it since go/bin is already in your $PATH. Now, let's create a proper yamn folder for our configuration file (yamn.yml) and other files.
yamn@vps:~/tmp/yamn-master$ mkdir -p ~/yamn/Maildir/{cur,new,tmp}
You will need to place a configuration file in that folder and then you will be ready to go. Here is a sample yamn.yml for you to start with. Download it to your new yamn directory:
yamn@vps:~/tmp/yamn-master$ cd ~/yamn yamn@vps:~/yamn$ wget https://www.sec3.net/yamnhelp/debian/client/yamn.yml
While in your yamn folder compose your outgoing message in file message.txt. Here is a sample for you: message.txt.
yamn@vps:~/yamn$ wget https://www.sec3.net/yamnhelp/debian/client/message.txt
Change recipient@example.com to a valid recipient address.
Once your outgoing message.txt is composed, at the command line do:
yamn@vps:~/yamn$ yamn --mail < message.txt
This will create an encrypted YAMN message chained through 3 random remailers and placed into ~/yamn/pool
To send out the messages in your pool do:
yamn@vps:~/yamn$ yamn -S
More Examples
# Create an anonymous email through 3 random remailers
yamn --mail < message.txt
# Create an anonymous email, multiple copies
yamn --mail --copies=2 < message.txt
# Create an anonymous email, with a user-defined chain
yamn --mail --chain="middleman,*,*,yamn2" --copies=2 < message.txt
# Generate one dummy message and place it in the pool
yamn -d
Done!