From f81e32dddd230852e157fd71b94ac85975a2a19e Mon Sep 17 00:00:00 2001 From: = Date: Thu, 1 Jul 2021 15:04:32 -0400 Subject: add ids on headers --- irc.html | 60 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/irc.html b/irc.html index f36b6ee..71b05eb 100644 --- a/irc.html +++ b/irc.html @@ -22,7 +22,7 @@ Having a chat server for you and your friends makes it impossible for a group of arbitrarily appointed moderators to deplatform you for wrong-think, and gives you greater freedom of communication.

-

Installing an IRCd

+

Installing an IRCd

An IRCd is short for "IRC daemon", which just means an IRC server. @@ -71,7 +71,7 @@ drwxr-xr-x 2 ergo ergo 12288 Jul 1 09:01 languages TODO Mention UFW firewall ports 6667, 6697 TODO Mention config rehashing at runtime (mention use-cases like new opers, etc) -

Configuring Ergo

+

Configuring Ergo

Now that Ergo is installed, you want to configure it to fit the needs of your group.
@@ -121,7 +121,7 @@ cp ergo.motd ircd.motd You should read over the configuration file yourself if you are curious about everything you can change.

-

Network and server names

+

Network and server names

One of the first properties in the config file is network name. You can change this to whatever you like, as it will show up as the name when you connect to the server. @@ -139,7 +139,7 @@ server: # server name name: "example.org" -

Network password

+

Network password

The next step is optional, depending on if you want your network password protected or not. The benefit of password protection is fairly obvious; nobody can connect to your network unless you gave them the password. @@ -159,7 +159,7 @@ server:

# password to login to the server, generated using `ergo genpasswd`:
 password: "<your hashed password>"
-

Message of the day (MotD)

+

Message of the day (MotD)

Change the MotD (Message of the Day) file to the one you copied earlier:

# motd filename
@@ -168,7 +168,7 @@ motd: ircd.motd

Feel free to edit ircd.motd to your heart's content. Its contents will be sent to clients when they connect to the network.

-

IP limits

+

IP limits

For security purposes, you might want to limit the amount of client connections per IP. For a private network, 4 is likely the maximum amount of connections you will have per IP, so that is a safe value.
@@ -183,7 +183,7 @@ ip-limits: # maximum concurrent connections per IP/CIDR max-concurrent-connections: 16 -

IP cloaking

+

IP cloaking

Traditionally, IRC networks expose users' IP addresses to everyone. This is not a good practice for privacy, however. With Ergo, IP cloaking is enable by default. You can enable or disable it if you like, and change how it looks to users.
@@ -211,7 +211,7 @@ ip-cloaking: # you may want to use your network name here netname: "chad" -

Password enforcement adjustments for HexChat (and possibly other clients)

+

Password enforcement adjustments for HexChat (and possibly other clients)

Ergo offers account registration to allow users to do things like use history and bouncer features, register channels, etc.
In clients such as HexChat, server password may conflict with account passwords, so the following setting should be enable if you wish to use accounts with clients such as HexChat.
@@ -227,7 +227,7 @@ ip-cloaking: # PASS as well, so it can be configured to authenticate with SASL only. skip-server-password: true -

Multiclient, always-on clients, history, etc

+

Multiclient, always-on clients, history, etc

Traditionally, IRC servers have no message history, and once you close your client, you cannot receive messages, and are not shown to be online at all. Ergo includes functionality to allow users to both receive history, and keep their clients "online" even after they have left. @@ -266,7 +266,7 @@ multiclient: # (use 0 or omit for no expiration): #always-on-expiration: 90d -

VHosts

+

VHosts

IP cloaking was mentioned previously, and somewhat related to that, Ergo includes "vhost" functionality, which allows users to set a custom IP/host string. This is mostly for cosmetic value, and does not interfere with operators being able to see actual IP addresses for banning, but if you do not want it enable for some reason, you can disable it. @@ -278,7 +278,7 @@ vhosts: # are vhosts enabled at all? enabled: true -

Channels

+

Channels

Channels are where everyone on an IRC network talk. By default, anyone can create a channel, and anyone with an account can register one. The difference between a normal channel and a registered one is that the registered one will preserve the operator status of the person who created, @@ -313,7 +313,7 @@ channels: # how many channels can each account register? max-channels-per-account: 15 -

Operators (administrators, etc)

+

Operators (administrators, etc)

The IRC term for an administrator or another privileged user is "operator", or "oper" for short.
Ergo's opers have different permissions that can be granted to them, and are defined in "classes", basically groups of permissions under a name. @@ -402,7 +402,7 @@ opers: Another, less privileged example of an oper is shown as a comment below the above configuration snippet.

-

Chat history

+

Chat history

Traditionally, IRC networks do not store, relay, or handle chat history in any way.
On a privacy standpoint, this is a good thing, since chats are entirely ephemeral and handled by clients.
@@ -490,7 +490,7 @@ retention: # may be needed for compliance with data privacy regulations. enable-account-indexing: true -

Spam reduction

+

Spam reduction

Most IRC networks have measures in place to reduce chat spam. By default, "fakelag" is enabled in Ergo, and that can deal with most aggregious chat spam.
If you are running a private network where user trust is high, you can disable it so that there are no limits on the speed that messages can be sent. @@ -515,12 +515,12 @@ fakelag: # sending any commands: cooldown: 2s -

Starting and using your server

+

Starting and using your server

Now that Ergo is both installed and configured, you can actually start using it!

-

Starting the server

+

Starting the server

First thing, make sure you're still using the ergo user, and are in the ~/server directory.
If you aren't, you can run the following to get back there: @@ -541,7 +541,7 @@ cd server you need to run ufw enable 6697 (not as the ergo user, of course).

-

Connecting to the server

+

Connecting to the server

To use IRC, you of course need an IRC client. There are many choices available, but the most widely used for Windows and Linux is HexChat. On Mac, you have a slightly nicer option with Textual, although you have to compile it from source if you want to use it for free.
@@ -578,7 +578,7 @@ cd server Textual network edit menu -

Surviving restarts with a SystemD service

+

Surviving restarts with a SystemD service

In the beginning of the last section, Ergo was started by simply running ./ergo run, but this is only suitable for testing. To have a proper server setup, you need to run it as a service. This can be achieved via a SystemD service. @@ -632,13 +632,13 @@ systemctl start ergo

Ergo is now installed and running as a service, and will automatically start when the system boots.

-

Registering accounts and channels

+

Registering accounts and channels

Account and channel registration were mentioned multiple times in this guide, and are indeed very important parts of the modern IRC ecosystem. You can connect to most IRC networks and talk without creating an account, but you will not be able to reserve your nickname or register channels, so it is important to register an account.

-

Registering an account with NickServ

+

Registering an account with NickServ

First, make sure you are connected to your IRC network. Once you are, type /nickserv help to make sure NickServ (the registration system) is working propertly.
@@ -665,7 +665,7 @@ systemctl start ergo

You will now be logged into your account when you connect to your network.

-

Registering channels with ChanServ

+

Registering channels with ChanServ

Once you have an account registered, you can register channels with ChanServ.
To do so, join the channel you want to register, then type the following, replacing <your channel> with the name of the channel you want to register: @@ -678,7 +678,7 @@ systemctl start ergo When you go offline, you won't lose ownership, and you cannot be removed as the owner unless you unregister the channel later.

-

Moderation

+

Moderation

Like any chat, there will come a point where you need to use moderation tools to keep things under control. Many IRC setup guides do not go over moderation, so it can be stressful when operators need to actually use moderation tools.
@@ -686,7 +686,7 @@ systemctl start ergo Channel ban keeps a person out of channel a channel, whereas a network ban keeps a person out of the entire network.

-

Understanding masks

+

Understanding masks

Bans are applied "masks", which are formatted pieces of text that contain a user's nick (username), their realname value, and their IP address or host.
This is what a mask looks like: nick!~nick-dude@127.0.0.1.
@@ -695,7 +695,7 @@ systemctl start ergo A ban on anyone with the IP address 127.0.0.1 would look like this: *!*@127.0.0.1

-

Discovering real IPs

+

Discovering real IPs

Even if IP cloaking is enabled on your network, you can still obtain real IP addresses/hosts if you are an operator. See the Operators part of the configuration section of this guide on how to become an operator.
@@ -703,7 +703,7 @@ systemctl start ergo /whois is not a command that is exclusive to operators, but it does not reveal as much information to non-operators.

-

Banning someone from the network

+

Banning someone from the network

Any netword-wide moderation action requires being an operator. See the Operators part of the configuration section of this guide on how to become an operator.
Banning someone from the network is achieved with the /kline command. To see more info on the command, type /helpop kline.
@@ -719,7 +719,7 @@ systemctl start ergo

To unban a mask, you can use the /unkline command with the mask you want to unban.

-

Banning someone from a channel

+

Banning someone from a channel

Channel owners, administrators, and operators can ban people from channels. This is not the same as banning someone from the network, since it only has an effect on one channel. @@ -737,7 +737,7 @@ systemctl start ergo You can see who is banned in a channel by typing /banlist.

-

Muting people in a channel

+

Muting people in a channel

By default, anyone can speak in an IRC channel. To change this, you must be a channel owner, administrator, or operator.
Channels, along with users, have modes, which modify their behavior. There is a special mode for channels called m (moderated) which requires users to be privileged in some way to talk.
@@ -756,7 +756,7 @@ systemctl start ergo

Unvoice the user by typing the above command, but replacing the + with a -.

-

Appointing channel administrators and operators

+

Appointing channel administrators and operators

Assuming you a channel owner, you can appoint both administrators and operators. If you are only an operator, you may only appoint operators.
@@ -775,7 +775,7 @@ systemctl start ergo To remove administrator or operator status, run either of the above commands, but replace the + with a -.

-

Bringing modern-day features to IRC with TheLounge

+

Bringing modern-day features to IRC with TheLounge

A large downside to IRC as a protocol is just how old it is, and the limitations that exist because of it. Other old protocols such as HTTP were built to be content-agnostic and versitile, but IRC was built with a very specific set of features, so it has not held up so well to contemporary chat systems.
@@ -796,7 +796,7 @@ systemctl start ergo


- +

Written by Termer

-- cgit v1.2.3