Browse Source

documentation updates

tags/v2.5.0-rc1
Shivaram Lingamneni 3 years ago
parent
commit
7728844ac4
4 changed files with 14 additions and 102 deletions
  1. 1
    1
      .goreleaser.yml
  2. 1
    1
      DEVELOPING.md
  3. 0
    92
      docs/INFO.md
  4. 12
    8
      docs/MANUAL.md

+ 1
- 1
.goreleaser.yml View File

@@ -47,7 +47,7 @@ archives:
47 47
       - oragono.motd
48 48
       - default.yaml
49 49
       - traditional.yaml
50
-      - docs/*
50
+      - docs/MANUAL.md
51 51
       - languages/*.yaml
52 52
       - languages/*.json
53 53
       - languages/*.md

+ 1
- 1
DEVELOPING.md View File

@@ -1,6 +1,6 @@
1 1
 # Developing Oragono
2 2
 
3
-This is just a bunch of tips and tricks we keep in mind while developing Oragono. If you wanna help develop as well, they might also be worth keeping in mind!
3
+This is a guide to modifying Oragono's code. If you're just trying to run your own Oragono, or use one, you shouldn't need to worry about these issues.
4 4
 
5 5
 
6 6
 ## Golang issues

+ 0
- 92
docs/INFO.md View File

@@ -1,92 +0,0 @@
1
-# Oragono Information
2
-
3
-Here's a bunch of misc info about the Oragono server! This can include questions, plans on
4
-how I'm going forward, how to properly use features, or why Oragono does/doesn't do
5
-something.
6
-
7
-Essentially, this document acts as a braindump about Oragono while we figure out a better
8
-place to put all this information.
9
-
10
-
11
-## Accounts and Channels
12
-
13
-Most IRC servers out there offer IRC account and channel registration through external
14
-services such as NickServ and ChanServ. In Oragono, we bundle accounts and channel ownership
15
-in as a native server feature instead!
16
-
17
-Because there's a lot of aspects of accounts/channels that haven't been specified as native
18
-commands and all yet, Oragono includes the pseudo-clients NickServ and ChanServ to roughly
19
-mimic the functionality that other IRCds get from services packages, in a user-facing set
20
-of commands that's familiar to everyone.
21
-
22
-The plan is to move more features and functionality (such as channel registration, channel
23
-permissions and all) over to native commands first and to use the NickServ/ChanServ as
24
-legacy interfaces to access these functions. However, it's gonna be a while before all of
25
-this is specified by someone like the IRCv3 WG.
26
-
27
-
28
-## PROXY
29
-
30
-The PROXY command, specified by [HAProxy's PROXY v1 specifications](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt),
31
-allows someone to setup HAProxy in front of Oragono. This allows them to use HAProxy for
32
-TLS negotiation (allowing older versions of SSL/TLS than Go's inbuilt TLS support does).
33
-However, it also allows them to update TLS certificates by updating them with HAProxy,
34
-rather than relying on our `REHASH` command (which is less-well-tested than I'd like
35
-right now).
36
-
37
-This is a toss-up of course – allowing older versions of TLS might be seen as undesired,
38
-and I wouldn't use the feature myself, but it's useful for real-world installations which
39
-is why it exists. The command is only allowed from specific hosts which should restrict it
40
-appropriately.
41
-
42
-
43
-## Server-to-Server Linking (or Federation)
44
-
45
-Right now Oragono doesn't support linking multiple servers together. It's certainly planned,
46
-but it's a fair while away.
47
-
48
-When I do add S2S linking to Oragono, I want to use it as a testbed for a new sort of
49
-linking protocol. Mostly, I want a meshy protocol that minimises the effects of netsplits
50
-while still ensuring that messages get delivered, and preserves the AP nature of IRC
51
-reliability (in terms of the CAP theorem), which is something that traditional solutions
52
-based on the Raft protocol don't do.
53
-
54
-Basically, I'm going to continue working on my [DCMI](https://github.com/DanielOaks/dcmi)
55
-protocol, get that to a point where I'm happy with it and _then_ start looking at S2S
56
-linking properly. If anyone is interested in server protocols and wants to look at this with
57
-me, please feel free to reach out!
58
-
59
-
60
-## Rehashing
61
-
62
-Rehashing is reloading the config files and TLS certificates. Of course, you can rehash the
63
-server by connect, opering-up and using the `/REHASH` command. However, similar to other
64
-IRCds, you can also make the server rehash by sending an appropriate signal to it!
65
-
66
-To make the server rehash from the command line, send it a `SIGHUP` signal. In *nix and OSX,
67
-you can do this by performing the following command:
68
-
69
-    killall -HUP oragono
70
-
71
-This will make the server rehash its configuration files and TLS certificates, and so can be
72
-useful if you're automatically updating your TLS certs!
73
-
74
-
75
-## Rejected Features
76
-
77
-'Rejected' sounds harsh, but basically these are features I've decided I'm not gonna
78
-implement in Oragono (at least, not until someone convinces me they're worth doing).
79
-
80
-### Force/Auto-Join Channels on Connect
81
-
82
-When a user connects, some IRC servers let you force-join them to a given channel. For
83
-instance, this could be a channel like `#coolnet` for a network named CoolNet, a lobby
84
-channel, or something similar.
85
-
86
-My main objection to having this feature is just that I don't like it that much. It doesn't
87
-seem nice to forcibly join clients to a channel, and I know I'm always annoyed when networks
88
-do it to me.
89
-
90
-To network operators that want to do this, I'd suggest instead mentioning the channel(s) in
91
-your MOTD so that your users know the channels exist! If they want to join in, they can do
92
-it from there :)

+ 12
- 8
docs/MANUAL.md View File

@@ -142,6 +142,11 @@ If you're using Arch Linux, you can also install the [`oragono` package](https:/
142 142
 For further information and a sample docker-compose file see the separate [Docker documentation](https://github.com/oragono/oragono/blob/master/distrib/docker/README.md).
143 143
 
144 144
 
145
+## Building from source
146
+
147
+You'll need an [up-to-date distribution of the Go language for your OS and architecture](https://golang.org/dl/). Once you have that, just clone the repository and run `make build`. If everything goes well, you should now have an executable named `oragono` in the base directory of the project.
148
+
149
+
145 150
 ## Becoming an operator
146 151
 
147 152
 Many administrative actions on an IRC server are performed "in-band" as IRC commands sent from a client. The client in question must be an IRC operator ("oper", "ircop"). The easiest way to become an operator on your new Oragono instance is first to pick a strong, secure password, then "hash" it using the `oragono genpasswd` command (run `oragono genpasswd` from the command line, then enter your password twice), then copy the resulting hash into the `opers` section of your `ircd.yaml` file. Then you can become an operator by issuing the IRC command: `/oper admin mysecretpassword`.
@@ -440,21 +445,20 @@ Setting `server.ip-cloaking.num-bits` to 0 gives users cloaks that don't depend
440 445
 
441 446
 ## Moderation
442 447
 
443
-Oragono's multiclient and always-on features mean that moderation (at the server operator level) requires different techniques than a traditional IRC network. Server operators have three principal tools for moderation:
448
+Oragono's multiclient and always-on features mean that moderation (at the server operator level) requires different techniques than a traditional IRC network. Server operators have two principal tools for moderation:
444 449
 
445
-1. `/NICKSERV SUSPEND`, which disables a user account and disconnects all associated clients
446
-2. `/DLINE ANDKILL`, which bans an IP or CIDR and disconnects clients
447
-3. `/DEFCON`, which can impose emergency restrictions on user activity in response to attacks
450
+1. `/UBAN`, which can disable user accounts and/or ban offending IPs and networks
451
+2. `/DEFCON`, which can impose emergency restrictions on user activity in response to attacks
448 452
 
449 453
 See the `/HELP` (or `/HELPOP`) entries for these commands for more information, but here's a rough workflow for mitigating spam or other attacks:
450 454
 
451 455
 1. Subscribe to the `a` snomask to monitor for abusive registration attempts (this is set automatically in the default operator config, but can be added manually with `/mode mynick +s u`)
452
-2. Given abusive traffic from a nickname, identify whether they are using an account (this should be displayed in `/WHOIS` output)
453
-3. If they are using an account, suspend the account with `/NICKSERV SUSPEND`, which will disconnect them
454
-4. If they are not using an account, or if they're spamming new registrations from an IP, determine the IP (either from `/WHOIS` or from account registration notices) and temporarily `/DLINE` their IP
456
+2. Given abusive traffic from a nickname, use `/UBAN INFO <nickname>` to find out information about their connection
457
+3. If they are using an account, suspend the account with `/UBAN ADD <account>`, which will disconnect them
458
+4. If they are not using an account, or if they're spamming new registrations from an IP, you can add a temporary ban on their IP/network with `/UBAN ADD <ip | network>`
455 459
 5. When facing a flood of abusive registrations that cannot be stemmed with `/DLINE`, use `/DEFCON 4` to temporarily restrict registrations. (At `/DEFCON 2`, all new connections to the server will require SASL, but this will likely be disruptive to legitimate users as well.)
456 460
 
457
-For channel operators, as opposed to server operators, most traditional moderation tools should be effective. In particular, bans on cloaked hostnames (e.g., `/mode #chan +b *!*@98rgwnst3dahu.my.network`) should work as expected. With `force-nick-equals-account` enabled, channel operators can also ban nicknames (with `/mode #chan +b nick`, which Oragono automatically expands to `/mode #chan +b nick!*@*` as a way of banning an account.)
461
+For channel operators, `/msg ChanServ HOWTOBAN #channel nickname` will provide similar information about the best way to ban a user from a channel.
458 462
 
459 463
 
460 464
 -------------------------------------------------------------------------------------------

Loading…
Cancel
Save