|
|
@@ -8,25 +8,26 @@ All of them have these potentially interesting properties: |
|
|
|
- SSL/TLS support, including client certificates |
|
|
|
- minimal dependencies |
|
|
|
- very compact and easy to hack on |
|
|
|
- liberal license |
|
|
|
|
|
|
|
degesch |
|
|
|
------- |
|
|
|
The IRC client. I thought it would be interesting to build an IRC client on |
|
|
|
top of libreadline. At least it's way simpler than doing it in ncurses. |
|
|
|
The interface should feel familiar for weechat users. |
|
|
|
The IRC client. It is largely defined by being built on top of GNU Readline. |
|
|
|
Its interface should however feel familiar for weechat or irssi users. |
|
|
|
|
|
|
|
It's the youngest and largest of them all and currently under heavy development. |
|
|
|
This is the youngest and largest application within the project and it's |
|
|
|
currently under development. |
|
|
|
|
|
|
|
It has most of the stuff you'd expect of an IRC client, such as being able to |
|
|
|
set up multiple servers, powerful configuration system, integrated help, |
|
|
|
mIRC text formatting, CTCP queries, automatic splitting of overlong messages, |
|
|
|
autocomplete, file logging, and command aliases. |
|
|
|
|
|
|
|
kike |
|
|
|
---- |
|
|
|
The IRC daemon. It mostly follows RFCs but it can't form networks consisting |
|
|
|
of multiple servers, or use any services packages, such as Atheme. (Mostly due |
|
|
|
to the protocol being incredibly ugly and tricky to implement correctly, with |
|
|
|
the poor quality of the RFCs not helping much). It is designed to be used as |
|
|
|
a regular user application rather than a system daemon. |
|
|
|
|
|
|
|
It is complete enough to be useful but doesn't support online configuration |
|
|
|
changes or limits of almost any kind yet. |
|
|
|
The IRC daemon. It is designed to be used as a regular user application rather |
|
|
|
than a system-wide daemon. If all you want is a decent, minimal IRCd for |
|
|
|
a small network of respectful users (or bots), or testing, this one will do it. |
|
|
|
|
|
|
|
Notable features: |
|
|
|
- SSL/TLS autodetection (why doesn't everyone have this?) |
|
|
@@ -34,6 +35,12 @@ Notable features: |
|
|
|
- epoll support on Linux; it should be able to handle quite a number of users |
|
|
|
- partial IRCv3 support |
|
|
|
|
|
|
|
Not supported: |
|
|
|
- server linking (which also means no services); I consider existing protocols |
|
|
|
for this purpose ugly and tricky to implement correctly |
|
|
|
- online changes to configuration; the config system from degesch could be used |
|
|
|
- limits of almost any kind, just connections and mode +l |
|
|
|
|
|
|
|
ZyklonB |
|
|
|
------- |
|
|
|
The IRC bot. It builds upon the concept of my other VitaminA IRC bot. The main |
|
|
@@ -42,7 +49,8 @@ allows for enhanced reliability and programming language freedom. |
|
|
|
|
|
|
|
While originally intended to be a simple C99 rewrite of the original bot, which |
|
|
|
was written in the GNU dialect of AWK, it fairly quickly became a playground |
|
|
|
where I added everything that seemed nice. |
|
|
|
where I added everything that seemed nice, and it eventually got me into writing |
|
|
|
the rest of this package. |
|
|
|
|
|
|
|
Notable features: |
|
|
|
- resilient against crashes, server disconnects and timeouts |
|
|
@@ -75,7 +83,7 @@ Note that for versions of CMake before 2.8.9, you need to prefix cpack with |
|
|
|
|
|
|
|
Running |
|
|
|
------- |
|
|
|
`degesch' has in-program configuration. Just run it and type "/help". |
|
|
|
`degesch' has in-program configuration. Just run it and read the instructions. |
|
|
|
|
|
|
|
For the rest you might want to generate a configuration file: |
|
|
|
$ zyklonb --write-default-config |
|
|
@@ -87,8 +95,11 @@ doing that), simply run the appropriate program with no arguments: |
|
|
|
$ kike |
|
|
|
|
|
|
|
`ZyklonB' stays running in the foreground, therefore I recommend launching it |
|
|
|
inside a Screen or tmux session. `kike', on the other hand, immediately forks |
|
|
|
into the background. Use something like `killall' if you want to terminate it. |
|
|
|
inside a Screen or tmux session. |
|
|
|
|
|
|
|
`kike', on the other hand, immediately forks into the background. Use the PID |
|
|
|
file or something like `killall' if you want to terminate it. You can run it |
|
|
|
as a `forking' type systemd user service. |
|
|
|
|
|
|
|
Client Certificates |
|
|
|
------------------- |