Rules ===== 0. Participation in darwin requires a real-world connection to the community (you must be a current or former colleague of an existing member, or have an invitation from one). 1. Be nice. 2. Don't bridge any darwin.network channels with Slack or Discord (IRCCloud is OK because they are friends of ours). 3. darwin is not a testnet. For testing features of Ergo, or demonstrating IRCv3 client code, please use the official Ergo testnet: testnet.ergo.chat Account registration FAQ ======================== 1. How do I register my nickname / account? Use this command, substituting your desired password and e-mail address: /msg NickServ register mySecretPassword validEmailAddress@example.com The server will dispatch a verification code and further instructions to your e-mail address. Ask in #darwin if you have problems. 2. How do I authenticate to my nickname? You should enable SASL in your client. Libera.Chat's guide covers many popular clients: https://libera.chat/guides/sasl If your client is not listed, it may have its own documentation or help pages. If you are using our Kiwi web client, check the "I have a password" box and enter your account password. If your client doesn't support SASL, you can authenticate using the `PASS` command, which is normally used to support server passwords. Find the "PASS" or "server password" configuration in your client, and set the value to `myUsername:mySecretPassword`. 3. What are the benefits of registering my nickname? The primary benefit of nickname registration is that the server can act as an "IRC bouncer" on your behalf. Specifically: a. No one else will be able to use your nickname b. If all your clients are configured to use SASL, they can all use the same nickname (as though they were connected to the same ZNC instance) c. Optionally, the server can keep you present on the server even if you have no connected clients. To enable this, use the following command: `/msg NickServ set always-on true` d. You will be able to receive history playback (see below). 4. How does server-side history work? darwin.network retains up to 14 days of chat history on the server side, stored in an on-disk database. All messages are purged once they reach the age limit. Furthermore, access to history is restricted so that users can only replay messages that they could have received normally when they were sent. Specifically: a. Anonymous users cannot view messages sent more than 1 hour before they connected to the server. This allows people to join and see the context of the current discussion, but not to probe into past conversations. b. Logged-in users cannot view messages sent more than 1 hour before their account was registered. This is equivalent to having had a personal IRC client or bouncer connected since the time of registration. By default: c. Messages sent to an unregistered channel are stored in-memory ("ephemeral history"), but not in the database. d. Messages sent to a registered channel are stored in the database. As the owner of a registered channel, you can disable this with `/msg ChanServ set history ephemeral` (or `set history off`). e. Direct messages for logged-out clients are stored in-memory. f. Direct messages for logged-in clients are stored in the database. You can disable this with `/msg NickServ set dm-history ephemeral` (or `set history off`). Unfortunately, client support for history playback is lagging behind our server-side support: g. The most convenient way to access server-side history is with our fully self-hosted Kiwi IRC instance, which can play back history on request. h. If your client supports ZNC's playback module, you can use it to replay only the lines you missed. For example, in Textual, go to "Server properties", select "Vendor specific", uncheck "Do not automatically join channels on connect", and check "Only play back messages you missed". Other clients with support are listed on ZNC's wiki page. i. You can set your client to always-on, then use per-device missed message tracking. To do this, first enable always-on: /msg NickServ set always-on true then set your SASL username to include a device ID, e.g., if your account name is 'alice', set it to 'alice@laptop' or 'alice@phone'. The server will track which messages you received and replay missed messages on each login. j. You can manually request recent channel history by issuing the command: /quote history #channel k. If you are not using the multi-client feature, you can set your account to auto-replay messages that were sent while you were logged out (similar to the default behavior of ZNC). To enable this, send: /msg NickServ set always-on true /msg NickServ set autoreplay-missed true 5. I'm trying to use a client certificate, but it doesn't work --- why not? First, connect on port 6698 instead of port 6697 (keep TLS enabled). Then you can either: a. Register a new account by sending `*` as the password, e.g., /msg NickServ register * validEmailAddress@example.com This account will then use your current client certificate as its only authentication credential. b. If you already have a password-based account, compute its SHA-256 fingerprint, e.g., with `openssl`: openssl x509 -noout -fingerprint -sha256 -inform pem -in client.crt then add the fingerprint to your account with `/msg NickServ cert`: /msg NickServ cert add 12:34:56:78:90:AB:CD:EF... Then, enable SASL EXTERNAL in your client so that you will be logged in automatically on each reconnection.