GIMPS networking, PrimeNet and communication

From Prime-Wiki
Jump to: navigation, search

How do I do sneakernetting?

To sneakernet (nonet or off-line work) or move work in progress around various machines, follow this procedure:

The prime95 client structure is quite simple. There are 5 basic files that are in use:

prime.ini
local.ini
worktodo.ini
prime.spl
checkpoint files: p123456, q123456 and pl123456

The first two checkpoint files are Lucas-Lehmer primality tests (one is a backup, to nonet only one is needed) and the last one is for factoring work.

Optionally, copy results.txt and prime.log if you want to see what was going on while the work crunched. The safest way to handle sneakernetting is to install each instance in a unique directory and configure it as such with its own userid. Start up the client, get the amount of work required (keeping in mind you must make an update within 60 days maximum) and then stop it. Zip the above files to move them to the new target install.

On the target box, install the client as torture test only. This ensures that there will be no confusion, as all the information required is found in local.ini and prime.ini. Alternately, the entire client can be copied over from the source box.

prime.spl may or may not be present depending on the work type and settings. It contains the results (and unsent messages to the server). If it exists, do not let it and the checkpoint files become unsynchronised. To dump a box, stop the client and keep it stopped until you return with fresh work. Then, it will pick up exactly where it was last stopped on the exponent in progress. When returning to the nonet box you must delete the old prime.spl (and checkpoint files if you had run the exponent for any period of time on the master box, otherwise do not copy back the checkpoint file as it will not be needed).

For nonet computers it is desirable to minimize the number of communication attempts. Set the send new end dates in options / preferences to 58 days and set the network retry to 300 minutes. Set the cache option to 1 day to prevent the client from attempting to get more work.

How do I get proxy to work?

Create a file in the same local folder as Prime client executable, called primenet.ini. Add the following text lines, substituting the appropriate proxy server URL and port:

[PrimeNet Proxy]
ProxyHost=http://proxy.megacorp.com:8080

If the proxy is secured by a userid/password, add the following two text lines, substituting the appropriate values:

ProxyUser=whatever_the_userid_is
ProxyPass=whatever_the_password_is

After the first time PrimeNet is contacted through a secure proxy, the proxy password is encoded and a new parameter ProxyMask=1 set. To change the password, simply change the ProxyPass= value, and either delete the ProxyMask text line or set ProxyMask=0.

If you still have problems you can add a line with "Debug=1" to primenet.ini to get a more detailed report on the communication with the server. The prime.log file will contain all the http data sent and received. This may be helpful error information.

Proxy authentication will not work if the proxy server requires encrypted communication (typically in corporate environments). George Woltman is aware of the problem and says: "The next version of prime95 will use HTTP/1.1 requests. That is quite a ways off."

How to submit results via another networked box?

Make a fresh install of the Prime client in a new directory on the box with the network connection, choose the torture test option during the install.

Stop the client, zip the entire directory, except the main executable, onto a floppy or CD, unzip it to your dialup PC, connect to the internet, run the client long enough for it to send results and get new work, stop the client and zip it back to floppy to move back to the original computer.

To return to the original box do the same and remember delete the *.spl file in the original client. Do make a backup first if this is a bit dicey to you.

How to use Prime95 through a proxy server or firewall?

The easiest method uses the built-in HTTP protocol. First simply try using the program to connect to PrimeNet using the HTTP protocol, in the PrimeNet settings, and then select Help, About PrimeNet server. If this fails with an error (other than 23: server busy), refer to your web browser's proxy settings, and create a file called PrimeNet.INI in the same folder as Prime executable, and enter the following text lines. The bracketed line, "[PrimeNet Proxy]" is required:

[PrimeNet Proxy]
ProxyHost=http://proxy_server_domain:proxy_port#

where you substitute the protocol, proxy server domain name and port number exactly as they appear in your web browser. You might need to remove the "http://" prefix to get the connection to work.

Example:

ProxyHost=http://proxy.supermegacorp.com:8080

or, if your system does not work with this URL (remove "http://"):

ProxyHost=proxy.supermegacorp.com:8080

If a security userid and password are required, add the following lines:

ProxyUser=proxy_userid
ProxyPass=proxy_password
ProxyMask=0

After the first secure connection, the ProxyPass value will be encoded and ProxyMask gets set to 1. To later change the password, simply replace the encoded value of ProxyPass with the new password, and set ProxyMask=0.

Proxy Server Locating Tip: If your proxy settings match your web browser, yet the program still can't connect, use the PING command in the MS-DOS command prompt window to test and resolve the proxy server's true address. For example:

c:\\windows> PING proxy.supermegacorp.com
Pinging proxy13.supermegacorp.com [207.104.25.155] with 32 bytes of data:
Reply from 216.120.70.80: bytes=32 time=123ms TTL=127<br/>
Reply from 216.120.70.80: bytes=32 time=120ms TTL=127<br/>
Reply from 216.120.70.80: bytes=32 time=121ms TTL=127<br/>
Reply from 216.120.70.80: bytes=32 time=121ms TTL=127<br/>

Ping statistics for 216.120.70.80:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 120ms, Maximum = 123ms, Average = 121ms

If the ping command echos back from a different proxy server name, use that name instead in the primenet.ini file. In the example above, we pinged proxy.supermegacorp.com, yet proxy13.supermegacorp.com replied, so you would use the latter.

If you still have problems you can add a line with "Debug=1" to primenet.ini to get a more detailed report on the communication with the server. The prime.log file will contain all the http data sent and received. This may be helpful error information. Proxy authentication will not work if the proxy server requires encrypted communication (typically in corporate environments.) George Woltman is aware of the problem and says: "The next version of prime95 will use HTTP/1.1 requests. That is quite a ways off."

Is there a way to use the RPC protocol with a proxy server?

As of Version 22.1 of prime95 client using RPC is no longer supported. The HTTPNET.DLL and RPCNET.DLL have been deleted.

What is the url for the manual check in?

It is kept well hidden! Manual Tests

Will a permanently connected box function automatically?

It should take care of itself - go to prime95 ==> options ==> preferences and set minutes between network retries to 300, days between sending new end dates to 1 day.

See also

External links