SOCKSifizieren

So macht man unter Unix Programme SOCKS-fähig: Man übersetzt und installiert natürlich zuerst die SOCKS-Library und die dazugehörenden Header.

Systeme mit dynamischen Libraries

Bei Systemen mit shared libraries und den dlopen()-Funktionen braucht man keine Programme neu zu übersetzen, wenn man die dynamische Library nachladen kann. Das geht so: man installiere die dynamische Library (libsocks5_sh.so) in /usr/local/lib und rufe Programme mit der Environmentvariable LD_PRELOAD=/usr/local/lib/libsocks5_sh.so auf.

Das geht laut Dokumentation mit FreeBSD 2, SunOS 4, Solaris 2, Irix 5, and OSF1 und nach meiner Erfahrung auch mit Linux mit libc 5 (hierzu Anmerkung beachten).

Systeme ohne dynamische Libraries

Hier müssen die Netzwerkanwendungen neu übersetzt werden. Angenommen, die Library steht in /usr/local/lib und die Include-Files in /usr/local/include, dann bringe man folgende Ergänzungen im Makefile an: Das wars schon! Die obigen CFLAGS gelten für gcc. Wer den nicht hat, lasse das -include ...-Argument weg und füge die Zeile #include <socks.h> am Anfang sämtlicher C-Quellfiles des Programms ein.

Anmerkung: manche Programme kommen von vornherein mit einkonfigurierbarer SOCKS-Unterstützung. Aufpassen, wenn eine Library namens "libsocks" gesucht oder verlangt wird: das ist SOCKS4 und hier nicht brauchbar. (Ein Beispiel für ein solches Paket ist ircII.) Dann keine SOCKS-Unterstützung einkonfigurieren und trotzdem wie oben vorgehen.


1997-07-04 Olaf Titz, G212