Our main server rotation is chat.freenode.net. Pointers to freenode currently include irc.ghostscript.com, irc.gnu.org, irc.handhelds.org, and irc.kde.org. Please see our acknowledgements page for the generous groups and organizations who have helped us to provide this service. The network needs servers on the Pacific Rim and in the Americas. If you think you might be able to help our community in this way, please take a look at the server hosting page and email us at hosting at freenode dot net. Thanks!
The following table lists freenode client servers. Please be aware that the below list is at no time authoritative, and as such our advice is to connect using chat.freenode.net. If you are using one of the servers below and it's not working, please check that it's in chat.freenode.net and select another server from that list if it's not.
The main rotation, chat.freenode.net, has AAAA records for servers with IPv6 capability, so simply telling your client to connect to chat.freenode.net by IPv6 should work. We do not provide regional rotations, except Asia/Pacific Rim, because we aren't very good at keeping them up-to-date as the main rotation changes.
All freenode servers listen on ports 6665, 6666, 6667, 6697 (SSL only), 7000 (SSL only), 7070 (SSL only), 8000, 8001 and 8002.
|Brisbane, AU||roddenberry.freenode.net||IPv4, IPv6|
|Budapest, HU||adams.freenode.net||IPv4, IPv6|
|Milan, IT||calvino.freenode.net||IPv4, IPv6|
|Vilnius, LT||cameron.freenode.net||IPv4, IPv6|
|Oslo, NO||gibson.freenode.net||IPv4, IPv6|
|Pitesti, RO||hobana.freenode.net||IPv4, IPv6|
|London, UK||holmes.freenode.net||IPv4, IPv6|
|Umeå, SE||leguin.freenode.net||IPv4, IPv6|
|Helsinki, FI||rajaniemi.freenode.net||IPv4, IPv6|
|Ashburn, VA||dickson.freenode.net||IPv4, IPv6|
|Chicago, IL||morgan.freenode.net||IPv4, IPv6|
Accessing freenode Via SSL
freenode provides SSL client access on all servers. If your client is not configured to verify SSL certificates, then you can simply connect, with SSL enabled, on port 6697, 7000 or 7070. Users connecting over SSL will be given user mode +Z, and is using a secure connection will appear in WHOIS (a 671 numeric). Webchat users will not appear with +Z or the 671 numeric, even if they connect to webchat via SSL.
If you wish to verify the server certificates on connection, some additional work may be required. First, ensure that your system has an up-to-date set of root CA certificates. On most linux distributions this will be in a package named something like ca-certificates. Many systems install these by default, but some do not (such as FreeBSD, on which the package you wish to install is ca_root_nss, and the cafile to use would be /usr/local/share/certs/ca-root-nss.crt). For most clients this should be sufficient. If not, you can download the required intermediate cert from Gandi and the root cert from InstantSSL.
Those of you using irssi will find that it has some oddities in SSL certificate verification, and will not find the root certificates on its own. To work around this, use
/connect -ssl_verify -ssl_capath /etc/ssl/certs chat.freenode.net 6697
or on FreeBSD
/connect -ssl_cafile /usr/local/share/certs/ca-root-nss.crt chat.freenode.net 6697
Once you tell irssi where to find the root certificates, it should be able to verify the certificate correctly.
Client SSL certificates are also supported, and may be used for identification to services via CertFP. If you have connected with a client certificate, has client certificate fingerprint f1ecf46714198533cda14cccc76e5d7114be4195 (showing your certificate's SHA1 fingerprint in place of f1ecf46...) will appear in WHOIS (a 276 numeric).
Accessing freenode Via Tor
The primary Tor hidden service address for freenode is p4fsi4ockecnea7l.onion. The service listens on ports 6667, 6697 (SSL), 7000 (SSL), and 7070 (SSL). To connect, a NickServ account is needed, and the IRC client must be configured to support SASL. Information on how to register a nick can be found on our FAQ page. If support is not built-in, SASL may require the use of additional scripts in your client. A collection of scripts and instructions for use can be found here. Tor's wiki also has a page on configuring IRC clients to use Tor.
Latencies are improving all the time and can be quite reasonable. You can always find a pointer to our Tor hidden service in DNS, as an unresolved CNAME record, irc.tor.freenode.net, which can be retrieved, for example, via the *nix shell command:
dig +short irc.tor.freenode.net cname
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. In addition to providing location privacy, the Tor hidden service gives you end-to-end encryption, providing benefits similar to those of ircs / irc-ssl.
If you are unable to connect to p4fsi4ockecnea7l.onion, then try using a secondary address:
There may be a bug in the Tor hidden service limiting the number of concurrent connections. If the primary address does not work for you but a secondary does, then please let us know (in #freenode) as it may help us in troubleshooting the issue.
That's all it takes. We appreciate your accessing freenode via the Tor hidden service. If you'd like to help us maintain quality access, please consider providing "middleman" bandwidth to the Tor network. Just set up your host as a Tor relay and specify how much bandwidth you want to provide. You don't have to be an exit node — you can set your exit policy to reject *:* and still help us make up for the bandwith we use for freenode's hidden service.