| yamn |
| NAME | yamn - An anonymous remailer application |
| SYNOPSIS |
[-m] [-s] [-l rem1,rem2,rem3,...] [-t user@host] [-s subject] [-c num] [recipient] filename [-M] [-D] [-s] |
| DESCRIPTION |
Yamn (Yet Another Mix Network) is an anonymous remailer. Remailers provide protection against traffic analysis and allow sending mail anonymously or pseudonymously. In the non-interactive mode, Yamn reads a message from its standard input or from a Maildir. Destination address and input file can be specified in the command line. If no address is given in the command line, the input file is expected to contain a message complete with mail headers. |
| OPTIONS | -c, --copies=num |
When operating in client mode, define how many copies of each message should be sent. Multiple copies share the same exit-remailer which retains a list of processed Packet-IDs, ensuring that only a single copy is delivered. This setting overrides the default config Stats/Numcopies option (Default: 1) |
| --config=filename |
Specify an alternate configuration file. This flag overrides the YAMNCFG environment variable which, in turn, overrides the default which expects a yamn.cfg file to exist in the same directory as the yamn binary. |
| -D, --daemon |
Start a remailer in an endless loop of reading, processing and sending messages. This option only has meaning when used with the -M option. |
| -l, --chain=rem1,rem2,rem3,... |
Use the defined chain to route the message through the Yamn network. Random nodes can be selected with asterisks. E.g. --chain="*,*,*". If multiple copies are specified, all copies must share a common exit remailer. |
| -m, --mail | Operate in client mode and inject a plain-text message into the Yamn pool. |
| -M, --remailer |
Operate in server mode. Normally used in combination with -D to continuously process, otherwise only a single iteration of read, process, send will be performed. |
| -R, --read-mail | Read the message from the STDIN pipe instead of from a file or Maildir. |
| -s, --subject=subject |
Specify a Subject header for the message. If this isn’t defined, the Subject is expected to be defined within the message. |
| -S, --send |
Flush the outbound pool. Useful for client mode and remailer testing but should not be used on an in-production remailer. |
| --stdout | Pipe the output message to STDOUT instead of storing it in the Pool. |
| -t, --to=user@host |
Specify a recipient for the message. If this option isn’t defined, the recipient is expected to be included in the message itself. |
| CONFIGURATION |
Yamn, by default, reads its configuration from the file yamn.cfg in its working directory. This behaviour can be overridden using the --config option defined above. The file consists of name=value pairs, grouped into sections. Examples: Pubring=/path/to/pubring.mix Fetch=yes SMTPRelay=any.relay.net SMTPPort=25 MXRelay=true |
| Files section: | The following parameters go under the [Files] section header in yamn.cfg. |
| Pubring | Path to the public keyring file. Default: pubring.mix |
| Mlist2 | Path to the remailer statistics file. Default: mlist2.txt |
| Pubkey | Path to the remailer’s public key file. Default: key.txt |
| Secring | Path to the remailer’s secret keyring file. Default: secring.mix |
| Secnew |
Path to the remailer-generate secret keyring file. This file is updated as new keys are generated and old keys expire. If the operator deems fit, the Secring file can be overwritten by this constantly revised version. Default: secring.new |
| Adminkey |
Path to the operator’s personal PGP Public Key. If this file exists, it will be sent in response to client remailer-adminkey requests. Default: adminkey.txt |
| Help |
Path to the remailer help file. This will be sent in response to a remailer-help request. Default: help.txt |
| Pooldir |
Path to the directory that will be used for storing inbound and outbound remailer messages. Default: pool |
| Maildir |
Path to the Maildir folder the remailer will read inbound messages from. Default: Maildir |
| IDLog | Path to the directory that will host the ID Log Database. Default: idlog |
| ChunkDB | Path to the director hosting the Chunk Database. Default: chunkdb |
| Urls section: |
The following parameters go under the [Urls] section header in yamn.cfg. Yamn has the capability to pull stats and key sources from URLs published by pingers. The following settings determine which source URLS should be used if periodic downloading is required. |
| Fetch | Should Yamn attempt to retrieve stats/keys at periodic intervals? Default: yes |
| Pubring |
URL of a Public Keyring source. See also Files/Pubring for the default save location of the downloaded file. Default: http://www.mixmin.net/yamn/pubring.mix |
| Mlist2 |
URL of an Mlist2 style stats source. See also Files/Mlist2 for the default save location of the download files. Default: http://www.mixmin.net/yamn/mlist2.txt |
| Mail section: |
The following parameters go under the [Mail] section header in yamn.cfg. Special attention should be paid to this section. Without a knowledge of how to send outbound email, both clients and remailers cannot function. |
| SMTPRelay | Hostname that mail should be relayed to. Default: 127.0.0.1 |
| SMTPPort |
Used in combination with SMTPRelay to define the port number of the SMTP service. Default: 25 |
| MXRelay | Use the SMTPRelay and SMTPPort options to look up the MX. Default: false |
| Sendmail |
Boolean (yes/no) option to determine if Yamn’s internal sendmail function should be used to deliver messages. If set to yes, the settings SMTPRelay, SMTPUsername and SMTPPassword MUST be defined. If set to no, the server will use the standard SMTP relay instead. This is potentially a good option if delivering mail to a local MTA or any one where authentication is not required. The SMTPRelay option defines where messages should be relayed to. |
| Outfile |
If set to "yes", outbound messages will be written to the queue directory instead of mailing them. This overrides all other delivery options. Default: No |
| Pipe |
If this option is specified, messages will be piped to an external command for mail delivery. A common example being: /usr/sbin/sendmail -t. This overrides the Sendmail option described above. Default: None |
| Sender |
The sender address the remailer will use on outbound messages. This applies to all inter-remailer messages and to final-recipient messages if no user-defined sender is specified. Default: mix@nowhere.invalid |
| UseTLS | Send packet using TLS if available. Default: true |
| OnionRelay |
Allow .onion addresses as MX relays. Default: false |
| Username | Username of SMTPRelay if required. |
| Password | Password of SMTPRelay if required. |
| OutboundName |
The outbound name in the From: address. This is used in remailer mode only. Default: Anonymous Remailer |
| OutboundAddy |
The outbound address in the From: address. This is used in remailer mode only. Default: remailer@domain.invalid |
| CustomFrom | Allow custom From address. Default: false |
| Stats section: |
The following parameters go under the [Stats] section header in yamn.cfg. |
| Minrel |
When constructing chains with random nodes, only those exceeding this minimum percentage uptime will be considered. Default: 98.0 |
| Relfinal |
When constructing chains with a random exit node, only those exceeding this minimum percentage uptime will be considered for the final hop. Default: 99.0 |
| Minlat |
The minimal latency (in minutes) the local remailer or client will consider when building a chain that contains one or more random nodes. Default: 2 |
| Maxlat |
The highest latency (in minutes) the local remailer or client will consider when building a chain that contains one or more random nodes. Default: 60 |
| Chain | The remailer chain. Default: *,*,* |
| Numcopies |
The number of copies to send.< font color="4B788B">Default: 1 |
| Distance |
When selecting random remailers, the chain will contain DISTANCE other remailers between two occurrences of the same remailer in the chain. Default: 2 |
| StaleHrs | ???. Default: 24 |
| UseExpired | Use remailers with expired keys. Default: false |
| Pool section: |
The following parameters go under the [Pool] section header in yamn.cfg. |
| Size | Pool size before send the pool. Default: 5 |
| Rate |
Percentage of messages from the pool to be sent. Default: 65 |
| MinSend | Minimum messages in the pool before sending. Default: 5 |
| Loop |
Loop dictates how long (in seconds) the server will wait between checking the pool to see if any messages need processing. This only has significance when running in daemon mode. Default: 300 |
| MaxAge | Pooled Date header maximum age. Default: 28 |
| Remailer section: |
The following parameters go under the [Remailer] section header in yamn.cfg. |
| Name | The name to be prepended to the remailer 'Address'. Default: anon |
| Address | The address of the remailer. Default: mix@nowhere.invalid |
| Exit | Determines if a remailer is to be a middle or and exit. Default: false |
| MaxSize | Maximum message size in kB. Default: 12 |
| IDexp |
YAMN keeps a log of packet IDs to prevent replay attacks. IDEXP specifies after which period of time old IDs are expired. Default: 14 |
| ChunkExpire | ChunkDb expiration date. Default: 60 |
| MaxAge | Maximum days of ChunkDb. Default: 14 |
| Keylife | Days key will be valid and then become expired expires. Default: 14 |
| Keygrace | Days an expired key will still be available. Default: 28 |
| Daemon | Start in continuous running mode. Default: false |
| General section: |
The following parameters go under the [General] section header in yamn.cfg. |
| LogToFile | Log yamn events to log file yamn.log. Default: true |
| LogLevel | Select LogLevel trace, info, warn, or error for the log file output. |