The above examples all assumed you will be running the proxy in dedicated mode, where the server is explicitly named on the command line, and the IRC client must connect directly to the host running the proxy. If dedicated access to multiple hosts is to be granted, the admin must create several configurations of Tircproxy, and the user needs to know which port on the proxy host corrospond to the server he wishes to connect to.
This can quickly get quite out of hand.
Transparent mode solves this problem. On Linux 2.0 and up, and on other systems which support the IPF package (FreeBSD, NetBSD, OpenBSD, Solaris, ...) the proxy can be configured to intercept direct connection attempts which would otherwise fail or offer degraded service (e.g. broken DCC, see chapter 2 for details).
If you want to run Tircproxy in transparent mode, you must install it on the border of your firewall - it must have direct access both to the clients and the Internet. In addition, the host Tircproxy is installed on must be the clients' default gateway. (These conditions are usually all met on home networks, when the machine running Tircproxy is the one with the modem.)
Running Tircproxy in transparent mode means you don't specify a server and port to connect to when you run the proxy - the proxy automatically connects to the server which the user had selected. Under Linux, additional information will be needed for this to work - specifically the internal address of the proxy, so it can rewrite DCC requests in a fashion that guarantees that the clients can accept what's offered. This is done using the -i flag. Example:
tircproxy -d9 -s 7666 -MILHR -i 10.10.10.254
This is not enough though - the operating system's firewalling subsystem must also be configured to redirect connections to the proxy. How this is done varies slightly between operating systems. Examples:
Linux 2.0:
ipfwadm -I -i accept -P tcp -S 10.10.10.0/24 -D 0.0.0.0/0 6667 -r 7666
Linux 2.2:
ipchains -A input -j REDIRECT 7666 -p tcp -s 10.10.10.0/24 -d 0.0.0.0/0 6667
IPF:
rdr ep0 10.10.10.0/24 port 6667 - 127.0.0.1 port 7666 tcp
Notes: