Mix Server Configuration Guide
The configuration file for the mix proxy is a complex XML file. We provide a MixConfigTool which assists you. MixConfigTool is a Java application. First you need a Java Runtime Environment to run the application. We recommend Sun-Java6 or OpenJDK6. Please note that this is a grahical tool - you will need a graphical desktop environment to use it, command line will not work.
- For Windows you may download Java from website http://www.java.sun.com.
- For Linux/UNIX, you may install the package sun-java6-jre or openjdk6-jre with the package manager of your distribution.
java -jar /path/to/MixConfig.jar
You may create a dekstop/menu entry for easy use.
Debian/Ubuntu package of MixConfigTool
You can use our software repository to install the Debian package and keep it up-to-date. Add the following line to /etc/apt/sources.list and replace DISTRI by the name of your distribution. At the moment lenny, squeeze, sid, intrepid, jaunty, karmic and lucid are supported.
deb http://debian.anonymous-proxy-servers.net DISTRI main
The repository ist signed with the OpenPGP key 0xF1305880. Download the key, verify the fingerprint and add it to your apt keyring:
gpg --recv 0xF1305880 gpg --fingerprint 0xF1305880 fingerprint: 1866 F973 8C97 A3D6 56A4 E142 F510 0840 F130 5880 gpg --export 0xF1305880 | sudo apt-key add -
Afterwards you can install the MixConfigTool and all dependencies by running:
sudo apt-get update sudo aptitude install mix-config-tool
The package will create a menu entry in "applications -> utilities" for MixConfigTool.
Create a Mix Configuration
After startup choose the button "Create new configuration..." and follow the wizard.
1st step: parameters for placing your mix in a cascade
- select the position of your mix in the cascade (entry, middle or exit mix)
- enable payment for premium services,
- set the name of the cascade (only entry mixes have to set the name)
- configure the listener interfaces.
For entry mixes please configure 3 listener interfaces at port 80, 443 and 6544. For middle and exit mixes only port 6544 is needed.
2nd step: parameters for your mix server
- Configure your logging options. Normally you will write log files to a directory. It case of trouble with your mix, it may be helpfull to send the log file to the developers or add it to the bug tracker message. This may be impossible for log files with a size of 100 MB or more. Limit the actual log file size to max. 2 MB. Log rotation is done by the mix.
- Configure the system UID for the mix server and the number of max. open filedescriptors (usually 32684).
- Only for entry mixes you may set the max. number of users on a cascade. You may use this to get a lower traffic on your service.
- You can encrypt your log file with a X.509 certificate. This is recommended if the log contains sensitive information.
- Specify a network interface and listen port for monitoring, if your mix was complied with --enable-server_monitoring.
Traffic shaping for free exit mixes
For free exit mixes you have to set the traffic shaping parameters. The shaping parameters are set for the individual user. To limit the traffic bandwidth to 50 kBit/sec for each user, you may set the following values:
- Additional Latency (ms): 0
- Shaping Interval (ms): 1000
- Shaping Interval (packets): 7000
- Unshaped Traffic (packets): 0
3rd step: create or import your certificates
- First enter necessary the information below and choose the Buttons "Create" for the operator certificate.
- Alternatively, you may import your operator certificate and key.
- Enter the information about your mix server (name, location) and choose the button "Create".
- Sign your mix certificate with your operator certificate.
- Export the public mix and operator certificates and send both to your mix partners.
You can send the operator CSR and the mix certificate to JonDos GmbH at the end of configuration process.
4th step: Import the certificates of your partner mix(es)
You can import the certificates of the previous or next mix(es) here.
5th step: Exit mix configuration
For exit mixes only you have to configure the listener addresses of your Squid proxy. For premium exit mixes only you have to add the listener address of your Dante SOCKS proxy. Default settings:
Squid: HTTP Proxy | Raw/TCP | localhost | 3128 Dante: Socks Proxy | Raw/TCP | localhost | 1080 (only for premium exits)
6th step: Optionally send the CSR and certificates to JonDos GmbH
At the last step you can create an email and send your operator CSR to JonDos GmbH for signing. You will get back a valid X.509 certificate by mail. You have to import this certificate in your configuration.
Save the configuration and copy it to your server.