PyProxy ------- A combined tcp and icp to icmp mapping proxy implemented in Python. This proxy came about because we had some upstream proxies that wouldn't use ICP. Because we like to use ICP for load-balencing our different links to upstream proxies, we were annoyed. So we made an ICP to ICMP mapping proxy. This needed to be combined with a simple tcp proxy so that squid could be pointed at a pair of localhost ports that would be forwarded to the upstream proxy, with the ICP mapped to ICMP pings. The first cut of this was a hotch-potch of C code cut and pasted from mixed licence sources, making it difficult to release and buggy. I wrote this python version instead. It uses the python asyncore module, and also uses some modules from pyping. A brief explanation of the files included; README this file. pyproxy a combined tcp and icp to icmp proxy for squid icping a simple icp ping utility echosrv.py a simple tcp echo server icmp.py icmp module pyping ip.py ip module from pyping init.d/pyproxy an init.d script for starting/stopping pyproxy pyproxy.conf an example pyproxy config file. INSTALL ------- Extract the tarball into /usr/local/lib, which will create a pyproxy-x.x directory there. Create a symbolic link pyproxy in /usr/local/lib to the versioned pyproxy directory. Create a symbolic link in /usr/local/sbin to /usr/local/lib/pyproxy/pyproxy. Copy or symlink /usr/local/lib/pyproxy/init.d/pyproxy to /etc/init.d. Copy pyproxy.conf to /etc and edit to suit your upstream proxy preferences. Please email any comments/suggestions/complaints to me, or leave a comment on the freshmeat appindex entry. Donovan Baarda http://freshmeat.net/projects/pyproxy/