As of version 2.2, sirc supports connections through SOCKS proxies, using the SOCKS version 4 protocol (also supported by most SOCKS version 5 servers). This is achieved by loading the script "socks.pl" before the client attempts its initial server connection. Note that socks.pl redefines some of sirc's internal functions and has more intimate knowledge of sirc's internals than a proper sirc script should, so it should be considered more like a module than a script. The usual way to setup the client to load socks.pl automatically is by including the line &load("socks.pl"); in the system-wide "sircrc.pl" configuration file, located in sirc's lib directory. sirc also requires the environment variable SOCKS_SERVER to be set to the hostname or IP address of the SOCKS proxy server. If the proxy uses a port different than 1080, it must be set in SOCKS_PORT. If the local host cannot resolve names outside of the firewalled network, *and* if your SOCKS server implements the SOCKS4A extension of the SOCKS 4 protocol (which lets the local client pass hostnames instead of resolved addresses to the SOCKS proxy), then set the environment variable SOCKS_DNS to 1, and sirc will try to use it. This is quite experimental; mail me some feedback if it actually worked. If the SOCKSified sirc is able to talk to your SOCKS host, and has sufficient permissions for the connections, you should be able to connect to servers and accept DCC CHATs and DCC SENDs. To be able to send out DCC CHAT and SEND requests, the SOCKS protocol requires that you specify the IP address of the remote host that will connect to you. This script provides the command /setrem for this; use it before the DCC command. Since the remote host will generally be the same as the one appearing in the remote user's WHOIS, you can use the shortcuts /sdc and /sds to automatically look up the remote host and initiate a DCC CHAT or DCC SEND.