If you have shell access to another machine running an OpenSSH daemon that has unfirewalled access to Freenode, you can tunnel your connection to Freenode via that machine. On your machine running the chat client:
Code:
ssh -N -L 331:irc.freenode.net:6667 [HOST]
Where [HOST] is the hostname of the other machine. You can then provide 127.0.0.1:331 as the address in the constructor for your socket. I don't think Freenode does any aggressive probing for open relays when you connect, so it should work.