Note: I have tested this with the "real" AOL Instant Messenger client under Mac OS X. It may work with other clients but they must support HTTP as a proxy option.
cd /pub/mirrors/redhat/.../RPMS/ (sudo) rpm -Uvh privoxy-3.0.0-8.i386.rpm
toggle 1 to toggle 0
Save and exit.
/etc/init.d/privoxy restart
tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN 2039/privoxy
#!/bin/bash # Create ssh tunnel to http proxy for encrypted AIM chat ssh -g -L 1080:localhost:8118 -N your-uml.com
Host: 127.0.0.1 Port: 1080 Name: localhost Protocol: HTTP Password: (leave blank)
Do NOT check the "use proxy to resolve host names" box. Save changes.
sudo tcpdump -i en0 -s 1500 -X 'host your-local-host' > dump.txt (send an IM or two) (ctrl-c the tcpdump session) less dump.txt
Look for your IM content. It should NOT be visible -- you should only see ssh ciphertext.
Caveats:
AIM seems more prone to unexpected disconnects after doing this. Could be unrelated (client bug, bad internet link, etc.) and I don't see anything relevant in privoxy's logs when it happens. However, when it does, I usually have to quit and relaunch AIM to get it to reconnect. YMMV.
Also, keep in mind that this only encrypts the AIM traffic between your local machine and your UML. The connection between your UML and the AIM server(s) is still clear-text.
Thanks to Bill Stearns for telling me how to make this be like 37 fewer steps than it originally was. :)