Mixmaster Primer

(Windows example, but Unix users may benefit also)

  Mixmaster can be rather daunting to set up and use.   Mixmaster has a help manual (http://mixmaster.sourceforge.net/manpage.html), but many still have great difficulty in comprehending how to set up and use Mixmaster even with it
(once you set up Mixmaster using this primer, you will probably then be able to better comprehend the Mixmaster help manual).  Mixmaster parameters are unforgiving, almost always case sensitive, and must be exactly right or problems will be encountered, sometimes without any program explanation whatsoever.  This primer will attempt to show how to set up and use Mixmaster.  It will deal with sending emails and posting to news groups.  Other Mixmaster features are beyond the scope of this primer.

  Mixmaster can be downloaded from its home site at SourceForge, but a better compiled version was created by the author of the QSL remailer program.  This version has the ability to update your statistic files, whereas the version on SourceForge does not have this capability, therefore other means would have to be used to update the stats.

  There are two programs that you will need to download:

       1. Mix3.0.2.zip at: ftp://ftp.quicksilvermail.net/pub/quicksilver/

       2. Sendmail.zip at: http://glob.com.au/sendmail/

       3. (Just for reference, the SourceForge Mixmaster is found here:

__ _ __

Mixmaster installation and set up

   The following instruction must be followed precisely.  You can try to change things afterwards if you need to.

  1.  Unzip Mix3.0.2.zip into a fold named C:\Mix302\.

  2.  Unzip Sendmail.zip into a fold named C:\Mix302\sendmail\.

  3.  To make starting Mixmaster easier, create a file in C:\Mix302\ named
       StartDOS.txt.  Place this in that file:
       and then rename the file to StartDOS.bat .  Now when you want to start
       Mixmaster, you can double click on StartDOS.bat and DOS will start
       with the correct DOS prompt (you must run Mixmaster at its own
       DOS folder prompt:  C:\Mix302> )

  4.  You now need to execute Mixmaster so that certain files can be
       automatically creates upon the first execution of Mixmaster.  At the DOS
       prompt, type mix.exe and hit enter.  Upon its execution you will get a
       prompt to 'Please enter some random characters.'.  Do this for over 128
       characters and then hit enter.  Your firewall may request permission to allow
       Sendmail to access the web here.  You will then be given several choices to
       select from in the DOS window.  Enter the single letter 
q  and then close
       the DOS window.  Mix3.0.2 has now created a folder in
       C:\Users\<computer User name>\AppData\Roaming\Mixmaster\
       with several files therein.

  5.  You now need to set up the Mixmaster mix.cfg file that is in the C:\Mix302\
       folder.  Replace what is in there with the following (every statement is left

ALLPINGERSURL https://raw.githubusercontent.com/remops/allpingers/master/allpingers.txt
SENDMAIL c:\mix302\sendmail\sendmail.exe
##SENDMAIL outfile
ERRLOG errlog.txt

   6.  To make life easier, copy the mix.cfg you just updates from C:\Mix302\ to
        C:\Users\<computer User name>\AppData\Roaming\Mixmaster\.  Reply
        OK to replace it.  If this is not done, you will have to place this command
        in every command line you execute:

__ _ __

Sendmail installation and set up

  The following instruction must be followed precisely.  You can try to change things afterwards if you need to.

  After unzipping the Sendmail.zip file into the folder named C:\Mix302\sendmail\, you will have to change the parameters in Sendmail's sendmail.ini file.  The parameters are set for you to use a free encrypted TLS mail server called snorky.mixmin.net.  Open the sendmail.ini file with a text editor and replace what is in there with the following (every statement is left justified):

;BEGIN configuration for fake sendmail


; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.


;smtp port=25

; SMTPS (SSL) support
;   auto = use SSL for port 465, otherwise try to use TLS
;   ssl  = alway use SSL
;   tls  = always use TLS
;   none = never try to use SSL

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

; if your smtp server requires authentication, modify the following two lines

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines.  do not enable unless it is required.

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting.  you can manually set the ehlo/helo name if required

;END configuration for fake sendmail

__ _ __

Updating statics with Mixmaster

  You must periodically update the Mixmaster stat files (should be done at least once a day).  These stat files are kept in
C:\Users\<computer User name>\AppData\Roaming\Mixmaster\.

    (Note: 1 and 2 below only work with the Mix3.0.2.zip mixmaster)

  1.  Start DOS by double clicking on the StartDOS.bat or otherwise go to
       C:\Mix302>.  After the DOS prompt C:\Mix302>, type in:
       mix.exe --update-pinger-list

       You should receive the message: Info: All Pingers File Downloaded OK.

  2.  Next, after the DOS prompt C:\Mix302>, type in:
mix.exe --update-stats=mixmin

       You should receive the messages (or similar with other stats providers):

downloading mlist.txt from http://pinger.mixmin.net/mlist.txt...done
downloading rlist.txt from http://pinger.mixmin.net/rlist.txt...done
downloading pubring.mix from http://pinger.mixmin.net/pubring.mix...done
downloading pubring.asc from http://pinger.mixmin.net/pgp-all.asc...done

       Again, your firewall may request permission to allow Sendmail to access
       the web here.

       Always wait for the C:\Mix302> prompt to reappear before typing again or
       quitting DOS.

       A note here about the remailer providing the stats (mixmin used here).  If you
       open the allpingers.txt file located in the
       C:\Users\<computer User name>\AppData\Roaming\Mixmaster\ folder,
       you will see several remailers such as
[austria], [banana], [mixmin].  The
       remailer names in brackets are followed by the URLs where the remailer
       has provided the various stats on the web.  Be sure to choose a remailer
       that is not providing stats through '
HTTPS://'.  For this Mixmaster set up
       example, stats can only be downloaded from an 'HTTP://' provider.  As of
       July 2012, these old and trusted remailers should be good:
[mixmin] or
       [frell] or [devurandom].  If you encounter any trouble with executing the
       --update-stats  parameter, try switching to another stats provider.

__ _ __

Sending mail with Mixmaster

  There are two ways to send emails with Mixmaster.  You can use (A) a command
line method to send the email message, or you can (
B) execute the header parameters placed within a text file.  Topic (C) is an example of sending a post to a news group via a mail-to-news system.

  A. Sending emails with command line parameters:

  The basic formats for sending emails with command line parameters is fairly straight forward and can be seen in these two example:

Example 1: (All on one line, no line breaks)
At the DOS command prompt, type:

mix.exe --verbose --send --mail --subject="your subject"
--to=the@recipient.net --chain=*,*,* --copies=3 mailout.txt

Example 2: (All on one line, no line breaks)
At the DOS command prompt, type:

mix.exe --verbose --send --mail --subject="your subject"
--to=the@recipient.net --chain=banana,*,dizum --copies=3 mailout.txt

  As you can see, the parameters are basically straight forward.  The actual email message text goes in the mailout.txt file that should be in the C:\Mix302\ folder.  The file name can be anything and is simply tacked onto the end of the command line string as shown.

  Note the double quotes around the --subject.  DOS is rather temperamental and will truncate a line at a space, so any text containing a space will have to be placed within double quote marks.  Always use double quote marks by default.

Subject without space:
Subject with space:      --subject=”your subject”

Note: The --chain="banana,*,dizum" can be placed in double quote marks also.

  B. Sending emails with header parameters placed within a text file:

  The formats for sending emails with header parameters placed within a text file is completely different from the command line parameters.  Header parameters in a text file are set as in this example:

Chain: banana,*,dizum;copies=3;
From: anon@domain.invalid
To: the@recipient.net
Subject: your subject

The email message begins here.

  Note that there is a space after every colon (:) above.  There also must be a blank line between the last header line (Subject: in this example) and the email message text.  All of the above would preferably be placed in a text file such as mailout.txt. 

  Then at the DOS command prompt, type:

mix.exe mailout.txt --send --mail

  Note:  1. The Mixmaster instruction manual says that the --mail parameter is the
                 default, but DO NOT leave it out or Mixmaster will not process your
             2. The Chain: name1,name2,name3; can be hard coded as shown here with
                 multiple remailer names. In such cases, leave out the 'copies=3;'.  The
                 semicolon at the end of a hard coded chain can be left out when the
                 copies=3; parameter is not used.

  C. Sending a mail-to-news post header parameters:

  The header formats for sending a post to a new group via email is as follows:

Chain: banana,*,dizum;copies=3;
From: anon@domain.invalid
To: mail2news@m2n.mixmin.net
Subject: your subject

The post message begins here.

  D. Send a dummy message parameters:

  Dummy messages can be easily generated with Mixmaster as a protection against traffic analysis.  For each dummy message you would like to send, at the DOS command prompt, type:

mix.exe --dummy --send

_ _ _ __ _ __

Additional notes:

  1.  You can leave out the
--send command within a command line.  Doing so
       will place the outgoing email into the
       C:\Users\<computer User name>\AppData\Roaming\Mixmaster\pool\
       folder.  Later, all the mail accumulated in the pool can be sent with the
       following command (
S case sensitive):  mix.exe -S  (or  mix.exe --send)

  2a. If you want to copy the content of a DOS window, right click on the DOS
        window and click 'Select All'.  Then right click on the DOS window's top title
        bar and select 'Edit...' and 'Copy'.  To paste a line into a command line, use
        the paste menu item.

  2b. If you want to edit and/or execute a DOS line again, press the up arrow key
        to return the previous string(s) you want.

  2c. To cancel a DOS prompt line containing parameters, press the ESC key.

¹If you start DOS from the Run window, you will have to navigate to the
        C:\Mix302 folder by entering this command at the DOS command prompt:
cd C:\Mix302

  3.  If you begin to encounter problems sending Mixmaster messages after you
       send several messages, the cause could be that too many DOS windows
       have been started and are hiding in your system.  You will need to start a
       process manager to terminate them.  It should be noted that when you
       start a DOS window using the .bat file suggested above, two DOS programs
       will show up in the process manager list.  This doesn't seem to effect
       Mixmaster's performance.

  4.  Any text in the above examples that appears between
< and > should be
       replaced with the approiate text and the
<> should be eliminated.

  5.  Some common Mixmaster error messages (as you can see, some
       Mixmaster error messages are bogus and you must decipher what
       the problem is):

    5a. C:\Mix302>mix.exe --verbose --send --mail --subject="Test Mix"
    --to=any@mixnym.net --chain=bananay,*,dizum --copies=3 mailout.txt
    Error: No such remailer: bananay
    (The remailer banana was spelled incorrectly as bananay)

    5b. C:\Mix302>mix.exe --verbose --send --mail --subject="Test Mix"
    --to=any@mixnym.net --chain=banana,kulin --copies=3 mailout.txt
    Error: Multi-packet message without random remailers!
    (This means that you have a chain that does not contain any asterisks, so the
    '--copies=3' parameter can not be processed)

    5c. C:\Mix302\mix.exe --update-stats=mixminy
    Error: Stats source does not include all required files.
    (This could mean that you have not included a stats provider name after the
    '--update-stats=' parameter or could also mean that the stats provider
    name used is invalid - should be mixmin)

    5d. C:\Mix302>mix.exe --verbose --send --mail --subject=Test Mix
    --to=any@mixnym.net --chain=banana,*,dizum --copies=3 mailout.txt
    mix.exe: Error in command line: mailout.txt
    (This bogus error message is being caused by the '--subject=Test Mix' not
    being within double quotes, should be --subject="Test Mix")

    5e. C:\Mix302>mix.exe mailout.txt --send --mail
    The system cannot find the path specified.
    (This error message is probably the result of the wrong path being specified
    in the SENDMAIL parameter within the Mixmaster mix.cfg file that points to
    the 'C:\Mix302\Mixmaster\sendmail\sendmail.exe' program)

    5cr. C:\Mix302>mix.exe --verbose --send --mail --subject="Test Mix"
    POPUP WINDOW: C:\Mix302\mix.exe is not a valid Win32 application.
    Access is denied.
    C:\Mix302> --to=any@mixnym.net --chain=banana,*,dizum --copies=3
    (You apparently have pasted a command line into DOS that contains a line
    break (a line break is after --subject="Test Mix" in this example))

__ _ __   __ _