Convert README to AsciiDoc
So that it looks nice on GitHub. Neither Markdown nor RST worked for me.
This commit is contained in:
parent
3d59a94554
commit
e75e840346
|
@ -1,17 +1,18 @@
|
||||||
uirc3
|
= uirc3
|
||||||
=====
|
|
||||||
The unethical IRC trinity. This project consists of an experimental IRC client,
|
The unethical IRC trinity. This project consists of an experimental IRC client,
|
||||||
daemon, and bot. It's all you're ever going to need for chatting.
|
daemon, and bot. It's all you're ever going to need for chatting.
|
||||||
|
|
||||||
All of them have these potentially interesting properties:
|
All of them have these potentially interesting properties:
|
||||||
|
|
||||||
- full IPv6 support
|
- full IPv6 support
|
||||||
- TLS support, including client certificates
|
- TLS support, including client certificates
|
||||||
- minimal dependencies
|
- minimal dependencies
|
||||||
- very compact and easy to hack on
|
- very compact and easy to hack on
|
||||||
- permissive license
|
- permissive license
|
||||||
|
|
||||||
degesch
|
== degesch
|
||||||
-------
|
|
||||||
The IRC client. It is largely defined by being built on top of GNU Readline.
|
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.
|
Its interface should however feel familiar for weechat or irssi users.
|
||||||
|
|
||||||
|
@ -21,26 +22,28 @@ servers, powerful configuration system, integrated help, mIRC text formatting,
|
||||||
CTCP queries, automatic splitting of overlong messages, autocomplete, logging
|
CTCP queries, automatic splitting of overlong messages, autocomplete, logging
|
||||||
to file, and command aliases.
|
to file, and command aliases.
|
||||||
|
|
||||||
kike
|
== kike
|
||||||
----
|
|
||||||
The IRC daemon. It is designed to be used as a regular user application rather
|
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
|
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.
|
a small network of respectful users (or bots), or testing, this one will do it.
|
||||||
|
|
||||||
Notable features:
|
Notable features:
|
||||||
|
|
||||||
- TLS autodetection (why doesn't everyone have this?)
|
- TLS autodetection (why doesn't everyone have this?)
|
||||||
- IRCop authentication through TLS client certificates
|
- IRCop authentication through TLS client certificates
|
||||||
- epoll/kqueue support; it should be able to handle quite a number of users
|
- epoll/kqueue support; it should be able to handle quite a number of users
|
||||||
- partial IRCv3 support
|
- partial IRCv3 support
|
||||||
|
|
||||||
Not supported:
|
Not supported:
|
||||||
|
|
||||||
- server linking (which also means no services); I consider existing protocols
|
- server linking (which also means no services); I consider existing protocols
|
||||||
for this purpose ugly and tricky to implement correctly
|
for this purpose ugly and tricky to implement correctly
|
||||||
- online changes to configuration; the config system from degesch could be used
|
- online changes to configuration; the config system from degesch could be used
|
||||||
- limits of almost any kind, just connections and mode +l
|
- limits of almost any kind, just connections and mode `+l`
|
||||||
|
|
||||||
|
== ZyklonB
|
||||||
|
|
||||||
ZyklonB
|
|
||||||
-------
|
|
||||||
The IRC bot. It builds upon the concept of my other VitaminA IRC bot. The main
|
The IRC bot. It builds upon the concept of my other VitaminA IRC bot. The main
|
||||||
characteristic of these two bots is that they run plugins as coprocesses, which
|
characteristic of these two bots is that they run plugins as coprocesses, which
|
||||||
allows for enhanced reliability and programming language freedom.
|
allows for enhanced reliability and programming language freedom.
|
||||||
|
@ -51,12 +54,13 @@ where I added everything that seemed nice, and it eventually got me into writing
|
||||||
the rest of this package.
|
the rest of this package.
|
||||||
|
|
||||||
Notable features:
|
Notable features:
|
||||||
|
|
||||||
- resilient against crashes, server disconnects and timeouts
|
- resilient against crashes, server disconnects and timeouts
|
||||||
- SOCKS support (even though socksify can add that easily to any program)
|
- SOCKS support (even though socksify can add that easily to any program)
|
||||||
|
|
||||||
Building
|
== Building
|
||||||
--------
|
|
||||||
Build dependencies: CMake, pkg-config, help2man, awk, sh, liberty (included)
|
Build dependencies: CMake, pkg-config, help2man, awk, sh, liberty (included) +
|
||||||
Runtime dependencies: openssl, curses (degesch),
|
Runtime dependencies: openssl, curses (degesch),
|
||||||
readline or libedit >= 2013-07-12 (degesch)
|
readline or libedit >= 2013-07-12 (degesch)
|
||||||
|
|
||||||
|
@ -68,54 +72,59 @@ Runtime dependencies: openssl, curses (degesch),
|
||||||
$ make
|
$ make
|
||||||
|
|
||||||
To install the application, you can do either the usual:
|
To install the application, you can do either the usual:
|
||||||
|
|
||||||
# make install
|
# make install
|
||||||
|
|
||||||
Or you can try telling CMake to make a package for you. For Debian it is:
|
Or you can try telling CMake to make a package for you. For Debian it is:
|
||||||
|
|
||||||
$ cpack -G DEB
|
$ cpack -G DEB
|
||||||
# dpkg -i uirc3-*.deb
|
# dpkg -i uirc3-*.deb
|
||||||
|
|
||||||
Note that for versions of CMake before 2.8.9, you need to prefix cpack with
|
Note that for versions of CMake before 2.8.9, you need to prefix `cpack` with
|
||||||
`fakeroot' or file ownership will end up wrong.
|
`fakeroot` or file ownership will end up wrong.
|
||||||
|
|
||||||
Running
|
== Running
|
||||||
-------
|
|
||||||
`degesch' has in-program configuration. Just run it and read the instructions.
|
_degesch_ has in-program configuration. Just run it and read the instructions.
|
||||||
|
|
||||||
For the rest you might want to generate a configuration file:
|
For the rest you might want to generate a configuration file:
|
||||||
|
|
||||||
$ zyklonb --write-default-config
|
$ zyklonb --write-default-config
|
||||||
$ kike --write-default-config
|
$ kike --write-default-config
|
||||||
|
|
||||||
After making any necessary edits to the file (there are comments to aid you in
|
After making any necessary edits to the file (there are comments to aid you in
|
||||||
doing that), simply run the appropriate program with no arguments:
|
doing that), simply run the appropriate program with no arguments:
|
||||||
|
|
||||||
$ zyklonb
|
$ zyklonb
|
||||||
$ kike
|
$ kike
|
||||||
|
|
||||||
`ZyklonB' stays running in the foreground, therefore I recommend launching it
|
_ZyklonB_ stays running in the foreground, therefore I recommend launching it
|
||||||
inside a Screen or tmux session.
|
inside a Screen or tmux session.
|
||||||
|
|
||||||
`kike', on the other hand, immediately forks into the background. Use the PID
|
_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
|
file or something like `killall` if you want to terminate it. You can run it
|
||||||
as a `forking' type systemd user service.
|
as a `forking` type systemd user service.
|
||||||
|
|
||||||
Client Certificates
|
== Client Certificates
|
||||||
-------------------
|
|
||||||
`kike' uses SHA1 fingerprints of TLS client certificates to authenticate users.
|
_kike_ uses SHA1 fingerprints of TLS client certificates to authenticate users.
|
||||||
To get the fingerprint from a certificate file in the required form, use:
|
To get the fingerprint from a certificate file in the required form, use:
|
||||||
|
|
||||||
$ openssl x509 -in public.pem -outform DER | sha1sum
|
$ openssl x509 -in public.pem -outform DER | sha1sum
|
||||||
|
|
||||||
Contributing and Support
|
== Contributing and Support
|
||||||
------------------------
|
|
||||||
Use this project's GitHub to report any bugs, request features, or submit pull
|
Use this project's GitHub to report any bugs, request features, or submit pull
|
||||||
requests. If you want to discuss this project, or maybe just hang out with
|
requests. If you want to discuss this project, or maybe just hang out with
|
||||||
the developer, feel free to join me at irc://anathema.irc.so, channel #anathema.
|
the developer, feel free to join me at irc://anathema.irc.so, channel #anathema.
|
||||||
|
|
||||||
Disclaimer
|
== Disclaimer
|
||||||
----------
|
|
||||||
I am not an antisemitist, I'm just being an offensive asshole with the naming.
|
I am not an antisemitist, I'm just being an offensive asshole with the naming.
|
||||||
And no, I'm not going to change the names.
|
And no, I'm not going to change the names.
|
||||||
|
|
||||||
License
|
== License
|
||||||
-------
|
|
||||||
`uirc3' is written by Přemysl Janouch <p.janouch@gmail.com>.
|
`uirc3' is written by Přemysl Janouch <p.janouch@gmail.com>.
|
||||||
|
|
||||||
You may use the software under the terms of the ISC license, the text of which
|
You may use the software under the terms of the ISC license, the text of which
|
Loading…
Reference in New Issue