]> jfr.im git - irc/freenode/web-7.0.git/blame - content/kb/connect/chat.md
Add additional sentence to cmode +p description
[irc/freenode/web-7.0.git] / content / kb / connect / chat.md
CommitLineData
de97d234 1Title: Connecting to freenode
c7279396 2Slug: chat
3---
c7279396 4
05b3480d
EK
5The freenode network can be accessed via the [freenode
6webchat](//webchat.freenode.net) or using an IRC client such as irssi, WeeChat,
7ERC, HexChat, Smuxi, Quassel or mIRC.
8
9You can connect to freenode by pointing your IRC client at `chat.freenode.net`
7d5bfc26
DP
10on ports 6665-6667 and 8000-8002 for plain-text connections, or ports 6697, 7000
11and 7070 for SSL-encrypted connections.
a1b22831
CD
12
13## Accessing freenode Via SSL
a1b22831 14
05b3480d
EK
15freenode provides SSL client access on all servers, on ports 6697, 7000 and
167070. Users connecting over SSL will be given user mode +Z, and _is using a
17secure connection_ will appear in WHOIS (a 671 numeric). Webchat users will not
18currently appear with +Z or the 671 numeric, even if they connect to webchat
19via SSL.
20
21In order to verify the server certificates on connection, some additional work
22may be required. First, ensure that your system has an up-to-date set of root
23CA certificates. On most linux distributions this will be in a package named
24something like ca-certificates. Many systems install these by default, but some
25(such as FreeBSD) do not. For FreeBSD, the package is named ca\_root\_nss,
26which will install the appropriate root certificates in
27/usr/local/share/certs/ca-root-nss.crt.
a1b22831 28
05b3480d
EK
29Certificate verification will generally only work when connecting to
30**`freenode.net`**. If your client thinks the server's certificate is invalid,
31make sure you are connecting to `chat.freenode.net` rather than any other name
32that leads to freenode.
debd708e 33
3f819807
EK
34For most clients this should be sufficient. If not, you can download the root
35certificate from
29ce2dd1 36[LetsEncrypt](https://letsencrypt.org/certificates/).
a1b22831 37
05b3480d
EK
38Client SSL certificates are also supported, and may be used for identification
39to services. See [this kb article](kb/using/certfp). If you have connected with
40a client certificate, _has client certificate fingerprint
41f1ecf46714198533cda14cccc76e5d7114be4195_ (showing your certificate's SHA1
42fingerprint in place of _f1ecf46..._) will appear in WHOIS (a 276 numeric).
6da654fb
CFL
43
44## Accessing freenode Via Tor
45
05b3480d
EK
46freenode is also reachable via [Tor<i class="fa fa-external-link"
47aria-hidden="true"></i>](https://www.torproject.org/), bound to some
3f819807
EK
48restrictions. You can't directly connect to chat.freenode.net via Tor; use
49the following hidden service as the server address instead:
6da654fb
CFL
50
51 freenodeok2gncmy.onion
52
05b3480d
EK
53The hidden service requires SASL authentication. In addition, due to the abuse
54that led Tor access to be disabled in the past, we have unfortunately had to
55add another couple of restrictions:
6da654fb 56
3f819807 57- You must log in using SASL `EXTERNAL` or `ECDSA-NIST256P-CHALLENGE` (more
05b3480d
EK
58 below)
59- If you log out while connected via Tor, you will not be able to log in
60 without reconnecting.
6da654fb
CFL
61
62If you haven't set up the requisite SASL authentication, we recommend SASL
63EXTERNAL. You'll need to generate a client certificate and add that to your
c3260969 64NickServ account. This is documented [in our knowledge base](kb/using/certfp).
05b3480d 65
3e7dd983
DP
66Connecting using SASL EXTERNAL requires that you connect using SSL encryption.
67
3f819807
EK
68Note that due to the SSL certificates not matching the hidden service, you
69might have to disable the verification in your client. If your client supports
70*key* pinning, you can verify our Tor server's public key fingerprint:
05b3480d
EK
71
72 E0:1B:31:80:56:D9:78:C4:2B:2D:3F:B2:DB:81:AB:03:15:59:BF:04:7E:31:E8:60:5F:98:07:A1:BB:8F:A3:0D
6da654fb
CFL
73
74You'll then want to tell your client to try the `EXTERNAL` mechanism. We lack
75comprehensive documentation for this, but it's a feature in most modern
76clients, so please check their docs for instructions for now.