aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 1a451b5a17061436a878b304df49571981d8480c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!-- vim: syntax=Markdown -->
<!--
  Title: KISS for IRC (kirc)
  Description: A tiny IRC client written in POSIX C99.
  Author: mcpcpc
-->

<h3 align="center">
  <img src="https://raw.githubusercontent.com/mcpcpc/kirc/gh-pages/kirc.png" alt="kirc" height="170px">
</h3>

<p align="center">KISS for IRC, a tiny IRC client written in POSIX C99.</p>

<p align="center">
  <a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
  <a href="https://github.com/mcpcpc/kirc/releases"><img src="https://img.shields.io/github/v/release/mcpcpc/kirc.svg"></a>
  <a href="https://repology.org/metapackage/kirc"><img src="https://repology.org/badge/tiny-repos/kirc.svg" alt="Packaging status"></a>
  <a href="https://www.codacy.com/manual/mcpcpc/kirc/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=mcpcpc/kirc&amp;utm_campaign=Badge_Grade"><img src="https://app.codacy.com/project/badge/Grade/5616c0ed4b2f4209826038dbc270dbf5" alt="Codacy status"></a>
</p>

## Features

*   Excellent cross-platform compatibility.
*   Asynchronous user input and server messager handling.
*   No dependencies other than a C99 compiler.
*   Simple Authentication and Security Layer (SASL) procotol support.
*   Client-to-client protocol (CTCP) support.
*   Transport Layer Security (TLS) protocol support (via external utilities).
*   Full chat history logging.
*   Multi-channel joining at server connection.
*   Simple command aliases and full support for all RFC 2812 commands.
*   Easy color scheme definition via ANSI 8-bit colors.

## Installation & Usage

Building and installing on **KISS Linux** using the Community repository:

```shell
kiss b kirc
kiss i kirc
```

Building and installing on **Arch** and **Arch-based** distros using the AUR:

```shell
git clone https://aur.archlinux.org/kirc-git.git
cd kirc
makepkg -si
```

Building and installing from source (works on **Raspbian**, **Debian**, **Ubuntu** and many other Unix distributions):

```shell
git clone https://github.com/mcpcpc/kirc.git
cd kirc
make
make install
```

### Usage

Consult `man kirc` for a full list and explanation of available `kirc` arguments.

```shell
kirc [-s hostname] [-p port] [-c channels] [-n nickname] [-r realname] [-u username] [-k password] [-a token] [-x command] [-o logfile] [-e|v|V]
```

### Command Aliases

```shell
<message>                  Send a PRIVMSG to the current channel.
@<channel|nick> <message>  Send a message to a specified channel or nick 
@@<channel|nick> <message> Send a CTCP ACTION message to a specified channel or nick 
/<command>                 Send command to IRC server (see RFC 2812 for full list).
/#<channel>                Assign new default message channel.
```

### User Input Key Bindings

*   **CTRL+B** or **LEFT ARROW** moves the cursor one character to the left.
*   **CTRL+F** or **RIGHT ARROW** moves the cursor one character to the right.
*   **CTRL+E** moves the cursor to the end of the line.
*   **CTRL+A** or **HOME** moves the cursor to the start of the line.
*   **CTRL+W** deletes the previous word.
*   **CTRL+U** deletes the entire line.
*   **CTRL+K** deletes the from current character to end of line.
*   **CTRL+C** Force quit kirc.
*   **CTRL+D** deletes the character to the right of cursor.
*   **CTRL+T** swap character at cursor with previous character.
*   **CTRL+H** equivalent to backspace.

## Support Documentation

Please refer to the official [Support Documention](https://mcpcpc.github.io/kirc/documentation.html) for examples, troubleshooting and use cases.

## Contact

For any further questions or concerns, feel free to reach out to me, [mcpcpc](https://github.com/mcpcpc), on `#kirc`
or `#kisslinux` Freenode IRC channels.