previous page: D.18 How can I recompile WinBoard from source?
page up: GNU Chess and XBoard FAQ
next page: D.20 How can I use XBoard or WinBoard on chess.net with accuclock?

D.19 How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?

Headaches Begone! A Systemic Approach To Healing Your Headaches Book


This article is from the GNU Chess and XBoard FAQ, by Tim Mann mann@pa.dec.com with numerous contributions by others.

D.19 How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?

There is no single answer to this question, because there are many
different kinds of firewalls in use. They work in various different ways
and have various different security policies. This answer can only
provide hints.

Note that you can't access Internet Chess Servers through a Web proxy,
because they are not a Web service. You talk to them through a raw TCP
connection, not an HTTP connection. If you can only access the Web
through a proxy, there may be a firewall that stops you from making
direct TCP connections, but there may also be a way through it. Read on
for hints, and contact your local system administrator if you need more
information about your local configuration.

If you are using a non-SOCKS firewall, read the FIREWALLS section in
your XBoard or WinBoard documentation (man page, info document, or Help
file). If you can telnet to a chess server in some way, then you can
almost certainly connect to it with xboard/WinBoard, though in some
cases you may not be able to run timestamp or timeseal. The timestamp
and timeseal protocols require a clean, 8-bit wide TCP connection from
your machine to the ICS, which some firewalls do not provide.

If you have a SOCKS firewall and are using XBoard , you should be able
to SOCKSify xboard and use it. See http://www.socks.nec.com/ for
information about SOCKS and socksification. However, if you do this, you
can't use timestamp or timeseal; what you really need is a socksified
version of timestamp or timeseal. This is hard because the source code
for timestamp and timeseal is proprietary; the folks running the chess
servers don't give it out because that would make it too easy to cheat.
On some versions of Unix, you may be able to socksify a program that you
don't have the source code to by running it with an appropriate dynamic
library; see http://www.socks.nec.com/ . For others, you might be able
to get a pre-built socksified version from the chess server
administrators. For timeseal versions, see
ftp://ftp.freechess.org/pub/chess/timeseal/ . For timestamp versions,
the directory would be ftp://ftp.chessclub.com/pub/icc/timestamp/ , but
at this writing there don't seem to be any socksified timestamps there.
Once you have a socksified timestamp or timeseal, simply run it with a
normal, non-socksified xboard in place of the standard timestamp or

If you have a SOCKS firewall and you are using WinBoard , we now know
how to make this configuration work, complete with timestamp or

Start by getting SocksCap32. This software is freely available from
http://www.socks.nec.com/ . Install it on your machine, read the
documentation, and learn to use it. You may find it useful with many
other programs besides WinBoard.

Next, don't socksify WinBoard. Socksifying WinBoard itself doesn't let
you use it with timestamp or timeseal. For some reason I don't
understand -- something strange that SocksCap32 does -- the socksified
WinBoard runs but does nothing, and timestamp/timeseal runs all by
itself in its own window.

Instead, use the following workaround. Follow the instructions exactly;
don't try to skip steps or simplify things.

First, make SocksCap32 application profiles for timestamp and timeseal.
Use the following command lines in the SocksCap32 profiles. Name the
first profile "timestamp" and the second "timeseal".

"c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
"c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000

Second, run timestamp or timeseal by itself, socksified, using its
profile. This will open an unneeded, black window that will not respond
to typing. Minimize it to the task bar and ignore it. It will go away
when you exit from WinBoard.

Next, run WinBoard using the following command line. Make a shortcut or
type this command into an MS-DOS Prompt box. Don't run WinBoard itself
socksified, just run it directly.

"c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000

After you get this working, you can try getting the timestamp window to
auto-minimize by starting it from a shortcut instead of from the
SocksCap32 control window. As it says in the SocksCap32 help file, put
the following in the Target field of a shortcut's Properties page:

"c:\program files\sockscap32\sc32.exe" timestamp

Then select "Run: Minimized" on the same page. Do the same for timeseal.

Another method that can work is to use a .bat file to start both
timestamp and WinBoard. It would look something like this:

  REM --
  REM -- icc.bat
  REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
  REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
  REM --  Do not change it to the filename of the timestamp program!
  REM --
  start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
  cd "c:\program files\winboard"
  winboard /ics /icshost=localhost /icsport=5000

This workaround has a problem if you want to run two copies of WinBoard
at once, talking to the same chess server twice (for bughouse) or to two
different chess servers. If you need to do that, you will need to run a
separate copy of timestamp with a different port number for each
connection. You'll need to make a second set of profile entries with a
different value after the -p flag (say, 5001) and you'll need to change
the WinBoard command line /icsport=5000 for the second WinBoard to


Continue to:

Free Sex Improvement Training at ExperientialSexLab.com

previous page: D.18 How can I recompile WinBoard from source?
page up: GNU Chess and XBoard FAQ
next page: D.20 How can I use XBoard or WinBoard on chess.net with accuclock?