Oragono's grumpy little brother.
Go to file
2016-04-13 08:56:05 +10:00
irc ergonomadic -> oragono. I'm making lots of changes and this is AN EXPERIMENT. I want to differentiate this from Ergonomadic proper 2016-04-13 08:55:37 +10:00
.gitignore Use docopt for command-line processing and new YAML configuration format 2016-04-13 08:46:14 +10:00
LICENSE MIT license 2014-02-25 09:54:14 -08:00
oragono.go ergonomadic -> oragono. I'm making lots of changes and this is AN EXPERIMENT. I want to differentiate this from Ergonomadic proper 2016-04-13 08:55:37 +10:00
oragono.motd motd: Add default MOTD 2016-04-13 08:56:05 +10:00
oragono.yaml motd: Add default MOTD 2016-04-13 08:56:05 +10:00
README.md ergonomadic -> oragono. I'm making lots of changes and this is AN EXPERIMENT. I want to differentiate this from Ergonomadic proper 2016-04-13 08:55:37 +10:00

Oragono is a very early, extremely experimental fork of the Ergonomadic IRC daemon. Ergonomadic looks cool, and this is something I can experiment on. Hopefully most of the stuff I do in this can be merged back into Ergonomadic! Also see the mammon IRC daemon for something similar written in Python.

Features

  • UTF-8 nick and channel names
  • yaml configuration
  • server password (PASS command)
  • channels with most standard modes
  • IRC operators (OPER command)
  • passwords stored in bcrypt format
  • channels that persist between restarts (+P)
  • messages are queued in the same order to all connected clients

What about SSL/TLS support?

Go has a not-yet-verified-as-safe TLS 1.2 implementation. Sadly, many popular IRC clients will negotiate nothing newer than SSLv2. If you want to use SSL to protect traffic, I recommend using stunnel version 4.56 with haproxy's [PROXY protocol][proxy-proto]. This will allow the server to get the client's original addresses for hostname lookups.

Installation

go get
go install
cp oragono.yaml ircd.yaml
vim ircd.yaml  # modify the config file to your liking
oragono initdb

Configuration

See the example oragono.yaml. Passwords are base64-encoded bcrypted byte strings. You can generate them with the genpasswd subcommand.

oragono genpasswd

Running the server

oragono run

Credits