You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jeremy Latt e15f47c766 move to channel-based logging 10 년 전
irc move to channel-based logging 10 년 전
.gitignore remove unnecessary ignores 10 년 전
LICENSE MIT license 10 년 전
README.md fix up README some more and helpful comment in config 10 년 전
ergonomadic.conf move to channel-based logging 10 년 전
ergonomadic.go move to channel-based logging 10 년 전

README.md

Ergonomadic

Ergonomadic is an IRC daemon written from scratch in Go. Pull requests and issues are welcome.

Some Features

  • follows the RFC where possible
  • gcfg gitconfig-style configuration
  • server password (PASS command)
  • channels with most standard modes
  • IRC operators (OPER command)
  • haproxy PROXY protocol header for hostname setting
  • passwords stored in bcrypt format
  • channels that persist between restarts (+P)

Why?

I wanted to learn Go.

What’s with the name?

“Ergonomadic” is an anagram of “Go IRC Daemon”.

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. This will allow the server to get the client’s original addresses for hostname lookups.

Installation

go get
go install
ergonomadic -conf ergonomadic.conf -initdb

Configuration

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

ergonomadic -genpasswd 'hunter2!'

Running the Server

ergonomadic -conf ergonomadic.conf

Helpful Documentation