Tor does the DNS resolving. Here's what I know about it (quoting from the Freenode web site): ===== If your IRC client can handle socks5 with remote dns, you can just connect to the .onion address directly. Otherwise, use Tor's "mapaddress" feature to fake it. (We do not recommend that you use Privoxy with irssi. It's unnecessary. Just use the 'mapaddress' approach and torify irssi to start it up.) Add a line to your torrc, as in this example: mapaddress 10.40.40.40 p4fsi4ockecnea7l.onion Be sure to HUP (reload) Tor if you change your torrc. After you've made the change, just connect your torified IRC client to the IP you specified in your mapaddress statement for the freenode service. Tor will do the conversion for you internally and you'll connect to freenode. ===== Note that this "remote DNS resolving" is a feature of Socks5. Apparently, if the IRC client is configured for Socks4 or Socks4a, it won't work. So that's one potential problem. If you are using the wrong Socks port (9150 in this case), that's another potential problem. If your program can do Socks5 but not the "remote DNS resolving" part, that's a third potential problem. The fact that it said error resolving server is why I thought this was the problem and mapaddress is the solution. Even if it isn't the problem, using mapaddress won't hurt. Now I'm not sure what the problem is, but they should check all the configuration stuff I mentioned again.