Downloading and Installing the Publius Proxy

[ Publius Home | Use Publius | Download Paper | Code | Volunteer | Thank You ]

Publius Proxy Installation - Unix version

Once you have successfully installed the Publius proxy you can retrieve Publius URLs and perform Publius operations.

Warning: Publius is an experimental system and should not be installed on critical or sensitive computers.

  1. The Publius client software requires the crypto++ library. You will need to compile this C++ based cryptographic library. Crypto++ can be downloaded from Installation instructions are included in the crypto++ distribution. Make sure to download and install version 3.2. Once compiled you can test crypto++ by issuing the command "cryptest.exe v". This is mentioned in the readme.txt file in the crypto++ distribution.

  2. Publius is written in Perl 5. If you don't have Perl installed you can download it from

  3. Publius requires the Digest-MD5, MIME-Base64, and Libwww-Perl CPAN modules. These modules will need to be installed if you have not done so previously.

  4. Download the Publius proxy from the software download area. The proxy is distributed as a "tar" file. Only download the file if you agree with the "Terms and Conditions" stated at the top of the download page.

  5. Type the following command to extract the contents of the tar file tar -xf proxy.tar This command will cause the directory "publius_proxy" to be created. The directory will contain the Publius proxy code. Enter the publius_proxy directory with the "cd" command. The subdirectory "workDir" is empty. Publius needs this directory so do NOT delete it.

  6. Here are the instructions to compile publius.cpp to form the required pcrypto.exe executable. You can copy publius.cpp to the directory you installed crypto++ in. Then issue the following command g++ -o pcrypto.exe -O2 -fpermissive -w -L. publius.cpp -lcrypt This may not work on your operating system. Please consult the crypto++ Makefile for the correct command.

  7. Copy the pcrypto.exe file you created the previous step into the publius_proxy directory created by the "tar -xf" command.

  8. Get the latest hostTable.txt file from the software download area. Copy this file into the publius_proxy directory. It must be called hostTable.txt and needs the correct read permissions.

  9. Make sure that and pcrypto.exe files have the correct execute permissions. Publius needs read, write and execute rights on the workDir subdirectory described above.

  10. The Publius proxy uses port 1787. If you would like Publius use a different one you can change the string "$Common::publiusLocalPort" on line 690 of to a port number. For example if you want to use port 1500 just bring into your favorite editor, go to line 690 and replace "$Common::publiusLocalPort" with the value 1500. If you just want the Publius proxy to use the next available port replace "$Common::publiusLocalPort" with "INADDR_ANY".

  11. The Publius proxy program will retrieve non-Publius URLs as well as Publius URLs. If you do not want the proxy to retrieve non-Publius URLs change line 58 of the file to 'my $proxyNonPubliusUrls="NO";'.
    NOTE: "YES" is the default option - By default non-Publius URLs will be retrieved.

  12. Execute the proxy by typing "./". The proxy program should tell you the port number it is using and the number of hosts it read from the hostTable.txt file. You can keep the Publius proxy running even after you log out by executing the following command - "nohup ./ &" at the command shell. You will need to execute the nohup command if you wish to host a Publius proxy that others can use even after you log out.

  13. To configure your browser to use the proxy follow these instructions

  14. To learn how to use Publius visit the Using Publius page.