| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
33583287cc
|
Create README | 2 days ago |
|
|
4b751dae73
|
Create CHANGES | 2 days ago |
@ -0,0 +1,73 @@ |
|||
1.8 (2018-02-04): |
|||
- prevent nick collisions by only setting the nick after the server |
|||
accepted it and print a message about change to server log. |
|||
- remove query.sh. |
|||
- add OpenBSD pledge(2) support. |
|||
- fix QUIT message string. |
|||
- raw IRC output to stdout. |
|||
- add quit command (/q [string]). |
|||
- write timestamp in outfile as UNIX timestamp (UTC+0). |
|||
- server host (-s) doesn't default to irc.freenode and is now required. |
|||
- add option (-u) to connect directly to a UNIX domain socket, this |
|||
is useful for tunneling connections. |
|||
- remove "in" file when leaving a channel (enabled commented code). |
|||
- remove "in" files on exit. |
|||
- use IRC_MAX (512), instead of PIPE_BUF (4096) on most systems. |
|||
PIPE_BUF is guaranteed to be atleast 512 bytes for atomic operations. |
|||
- Makefile: always be verbose. |
|||
- use C99 and -D_DEFAULT_SOURCE |
|||
- remove obsolete gethostbyname, use getaddrinfo. |
|||
- IPV6 support. |
|||
- timeout now uses separate exit statuscode 2. |
|||
- cleanup: |
|||
- use arg.h for command-line option parsing. |
|||
- use sbase util functions (estrtol, eprintf). |
|||
- use and import OpenBSD strlcpy(). |
|||
- man page typos. |
|||
- style: |
|||
- linewrap to 79 characters. |
|||
- coding style fixes. |
|||
- non-roman numerals for LICENSE period. |
|||
|
|||
1.7 (2013-01-05) |
|||
- -k now specifies an environment variable that contains the |
|||
server key. This behaviour has been changed in order to not |
|||
expose the password in the process list. |
|||
- Fix parsing of JOIN messages for certain servers. |
|||
Thanks Ivan Kanakarakis! |
|||
- Use , rather than _ for slash characters in channel names. |
|||
As per RFC , is not allowed in a channel name, while _ is. |
|||
Thanks plomplomplom and Nils Dagsson Moskopp! |
|||
|
|||
1.6 (2011-01-31): |
|||
- fix regression introduced for handling unknown commands |
|||
|
|||
1.5 (2011-01-24): |
|||
- fix channel name comparison in add_channel(), compare lowercase |
|||
to prevent leaking file descriptors in the long run => Thanks samurai! |
|||
- only handle commands ii explicitely understands and treat the rest |
|||
as raw irc (only worked for raw commands in capital lettersin the past) => Thanks samurai! |
|||
- create in FIFO on receiving a privmsg directly instead of requiring a new |
|||
/j command first => Thanks Evan Gates |
|||
this also implies that in FIFOs aren't deleted on channel leaves any longer because |
|||
this itself creates a channel event again which in turn would recreate the file |
|||
- minor changes |
|||
|
|||
1.4 (2008-08-09): |
|||
- fix directory traversal on servers that support SAJOIN |
|||
NOTE: not marking as security relevant as it is only possible to |
|||
create directories outside (which is of course annoying) of the irc |
|||
hierarchy but not overwriting arbitrary files with the channel name. |
|||
- documentation fixes |
|||
- general cleanup |
|||
|
|||
1.3 (2007-07-14): |
|||
- server messages about users (QUIT,JOIN) will no longer |
|||
go to the user directories but to the server out file to |
|||
give an easy method to monitor it and to prevent spamming |
|||
the irc directory. |
|||
|
|||
1.2 (2007-06-23): |
|||
- Exit on channel creation failure, thanks Michael Prokop |
|||
- Implemented joining of password protected channels |
|||
- Removed -v option from the manpage since it's not implemented |
|||
@ -0,0 +1,92 @@ |
|||
Abstract |
|||
-------- |
|||
ii is a minimalistic FIFO and filesystem based IRC client. It creates an irc |
|||
directory tree with server, channel and nick name directories. In every |
|||
directory a FIFO file (in) and normal file (out) is placed. |
|||
|
|||
The in file is used to communicate with the servers and the out files include |
|||
the server messages. For every channel and every nick name there will be new in |
|||
and out files. |
|||
|
|||
The basic idea of this is to be able to communicate with an IRC server with |
|||
standard command line tools. For example if you want to join a channel just do |
|||
echo "/j #channel" > in and ii creates a new channel directory with in and out |
|||
file. |
|||
|
|||
|
|||
Installation |
|||
------------ |
|||
Edit config.mk to match your local setup. ii is installed into |
|||
/usr/local by default. |
|||
|
|||
Afterwards enter the following command to build and install ii (if |
|||
necessary as root): |
|||
|
|||
$ make clean install |
|||
|
|||
|
|||
Running ii |
|||
------------ |
|||
Simply invoke the 'ii' command with required arguments |
|||
|
|||
To make ii a bit more comfortable use it in combination with the multitail |
|||
program and for example with vim. Run vim in the server directory and use |
|||
key mapping like: |
|||
map w1 :.w >> \#ii/in<cr> |
|||
map w2 :.w >> \#wmii/in<cr> |
|||
to post to channels. |
|||
|
|||
If you use the next editor line for a new posting you can use ctrl-p for nick |
|||
completion if you wrote the nick in the past. |
|||
Thanks to Matthias Kopfermann for this hint. |
|||
|
|||
You can find an example of how this nested environment could look like on: |
|||
http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html |
|||
|
|||
|
|||
SSL/TLS support |
|||
--------------- |
|||
|
|||
Below is an example using OpenBSD relayd which sets up a TCP TLS relay |
|||
connection on localhost. A similar setup can be accomplished using |
|||
stunnel or netcat with TLS support. This also works for other programs |
|||
that don't support TLS natively. |
|||
|
|||
/etc/relayd.conf: |
|||
|
|||
table <freenode> { irc.freenode.net } |
|||
table <oftc> { irc.oftc.net } |
|||
|
|||
protocol "irctls" { |
|||
tcp { nodelay, sack } |
|||
} |
|||
|
|||
relay "freenode" { |
|||
listen on 127.0.0.1 port 6668 |
|||
protocol "irctls" |
|||
forward with tls to <freenode> port 6697 |
|||
} |
|||
|
|||
relay "oftc" { |
|||
listen on 127.0.0.1 port 6669 |
|||
protocol "irctls" |
|||
forward with tls to <oftc> port 6697 |
|||
} |
|||
|
|||
|
|||
Then connect: |
|||
|
|||
./irc -n nick -u name -s 127.0.0.1 -p 6668 |
|||
./irc -n nick -u name -s 127.0.0.1 -p 6669 |
|||
|
|||
|
|||
Configuration |
|||
------------- |
|||
No configuration is needed. |
|||
|
|||
|
|||
Changelog |
|||
--------- |
|||
Since I missed the chance to add a proper changelog right from the beginning, |
|||
please have a look at the commit messages on http://git.suckless.org/ii/ |
|||
they are fairly descriptive on releases prior to 1.2. |
|||