Update README
This commit is contained in:
		
							
								
								
									
										52
									
								
								README.adoc
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								README.adoc
									
									
									
									
									
								
							@@ -3,7 +3,8 @@ uirc3
 | 
				
			|||||||
:compact-option:
 | 
					:compact-option:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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, as long as
 | 
				
			||||||
 | 
					you can make do with minimalist software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
All of them have these potentially interesting properties:
 | 
					All of them have these potentially interesting properties:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -15,33 +16,38 @@ All of them have these potentially interesting properties:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
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.
 | 
					that has been hacked to death.  Its interface should feel somewhat familiar for
 | 
				
			||||||
 | 
					weechat or irssi users.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This is the youngest and largest application within the project.  It has most of
 | 
					This is the largest application within the project.  It has most of the stuff
 | 
				
			||||||
the stuff you'd expect of an IRC client, such as being able to set up multiple
 | 
					you'd expect of an IRC client, such as being able to set up multiple servers,
 | 
				
			||||||
servers, powerful configuration system, integrated help, mIRC text formatting,
 | 
					a powerful configuration system, integrated help, text formatting, CTCP queries,
 | 
				
			||||||
CTCP queries, automatic splitting of overlong messages, autocomplete, logging
 | 
					automatic splitting of overlong messages, autocomplete, logging to file,
 | 
				
			||||||
to file, command aliases and rudimentary support for Lua scripting.
 | 
					command aliases and rudimentary support for Lua scripting.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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.
 | 
					testing purposes or a small network of respectful users (or bots), this one will
 | 
				
			||||||
 | 
					do it just fine.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Notable features:
 | 
					Notable features:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 - TLS autodetection (why doesn't everyone have this?)
 | 
					 - TLS autodetection (why doesn't everyone have this?), using secure defaults
 | 
				
			||||||
 - IRCop authentication through TLS client certificates
 | 
					 - IRCop authentication via TLS client certificates
 | 
				
			||||||
 - epoll/kqueue support; it should be able to handle quite a number of users
 | 
					 - epoll/kqueue support; this means that it should be able to handle quite
 | 
				
			||||||
 | 
					   a number of user connections
 | 
				
			||||||
 - 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; I've also found no
 | 
				
			||||||
 - online changes to configuration; the config system from degesch could be used
 | 
					   use for this feature yet
 | 
				
			||||||
 | 
					 - online changes to configuration; the configuration system from degesch could
 | 
				
			||||||
 | 
					   be used to implement this feature if needed
 | 
				
			||||||
 - limits of almost any kind, just connections and mode `+l`
 | 
					 - limits of almost any kind, just connections and mode `+l`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ZyklonB
 | 
					ZyklonB
 | 
				
			||||||
@@ -50,21 +56,19 @@ 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
While originally intended to be a simple C99 rewrite of the original bot, which
 | 
					While originally intended to be a simple rewrite of the original AWK bot in C,
 | 
				
			||||||
was written in the GNU dialect of AWK, it fairly quickly became a playground
 | 
					it fairly quickly became a playground, and it eventually got me into writing
 | 
				
			||||||
where I added everything that seemed nice, and it eventually got me into writing
 | 
					the rest of the package.
 | 
				
			||||||
the rest of this package.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Notable features:
 | 
					It survives crashes, server disconnects and timeouts, and also has native SOCKS
 | 
				
			||||||
 | 
					support (even though socksify can add that easily to any program).
 | 
				
			||||||
 - resilient against crashes, server disconnects and timeouts
 | 
					 | 
				
			||||||
 - 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), lua >= 5.3 (degesch, optional)
 | 
					Runtime dependencies: openssl, curses (degesch),
 | 
				
			||||||
                      readline or libedit >= 2013-07-12 (degesch)
 | 
					                      readline >= 6.0 or libedit >= 2013-07-12 (degesch),
 | 
				
			||||||
 | 
					                      lua >= 5.3 (degesch, optional)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 $ git clone --recursive https://github.com/pjanouch/uirc3.git
 | 
					 $ git clone --recursive https://github.com/pjanouch/uirc3.git
 | 
				
			||||||
 $ mkdir uirc3/build
 | 
					 $ mkdir uirc3/build
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user