xref: /znc/
NameDateSize

..16-Mar-201612 KiB

.appveyor.yml09-Nov-20152.3 KiB

.clang-format09-Dec-2015290

.gitignore24-Aug-2015819

.gitmodules10-Sep-2015208

.travis-coverity-scan.py09-Nov-20151.3 KiB

.travis-coverity.yml09-Nov-20151.2 KiB

.travis-generate-docs.sh09-Nov-2015866

.travis-github.enc02-May-20143.2 KiB

.travis.ssh09-Nov-2015126

.travis.yml30-Nov-20156.3 KiB

.travis_after_all.py02-May-20144.5 KiB

AUTHORS07-Apr-20152.8 KiB

autogen.sh12-Aug-20151.3 KiB

bootstrap.sh12-Aug-20151.3 KiB

ChangeLog.md16-Nov-201582.7 KiB

configure.ac09-Dec-201521.6 KiB

CONTRIBUTING.md15-Sep-2015970

Doxyfile09-Dec-201574.8 KiB

include/28-Jan-20144 KiB

LICENSE28-Jan-201411.1 KiB

m4/23-Feb-20154 KiB

make-tarball.sh09-Nov-20151.9 KiB

Makefile.in15-Dec-20159.6 KiB

man/28-Jan-20144 KiB

modules/09-Dec-20154 KiB

NOTICE07-Apr-20152.8 KiB

README.md09-Nov-20155.4 KiB

src/15-Dec-20154 KiB

test/15-Dec-20154 KiB

third_party/10-Sep-20154 KiB

version.sh07-Aug-20151.6 KiB

webskins/28-Jan-20144 KiB

znc-buildmod.in24-Aug-20151.2 KiB

znc-uninstalled.pc.in24-Aug-2015591

znc.pc.in24-Aug-2015499

znc.service.in30-Nov-2015153

README.md

1# [![ZNC](http://wiki.znc.in/resources/assets/wiki.png)](http://znc.in) - An advanced IRC bouncer
2
3[![Travis Build Status](https://img.shields.io/travis/znc/znc/master.svg?label=linux%2Fosx)](https://travis-ci.org/znc/znc)
4[![AppVeyor Build status](https://img.shields.io/appveyor/ci/DarthGandalf/znc/master.svg?label=windows)](https://ci.appveyor.com/project/DarthGandalf/znc/branch/master)
5[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=1759)](https://www.bountysource.com/trackers/1759-znc?utm_source=1759&utm_medium=shield&utm_campaign=TRACKER_BADGE)
6[![Coverage Status](https://coveralls.io/repos/znc/znc/badge.svg?branch=master&service=github)](https://coveralls.io/github/znc/znc?branch=master)
7
8## Table of contents
9
10- Minimal Requirements
11- Optional Requirements
12- Installing ZNC
13- Setting up znc.conf
14- Special config options
15- Using ZNC
16- File Locations
17- ZNC's config file
18- Writing own modules
19- Further infos
20
21## Minimal Requirements
22
23Core:
24
25* GNU make
26* pkg-config
27* GCC 4.7 or clang 3.2
28* autoconf and automake (if building from git)
29
30## Optional Requirements
31
32SSL/TLS support:
33* openssl 0.9.7d or later
34    * try installing openssl-dev, openssl-devel or libssl-dev
35    * Mac OS X: OpenSSL from Homebrew is prefered over system
36
37modperl:
38* perl and its bundled libperl
39* SWIG if building from git
40
41modpython:
42* python and its bundled libpython
43* perl is required
44* Mac OS X: Python from Homebrew is preferred over system version
45* SWIG if building from git
46
47cyrusauth:
48* This module needs cyrus-sasl2
49
50Character Encodings:
51* To get proper character encoding and charsets install ICU (`libicu4-dev`)
52
53## Installing ZNC
54
55Installation from source code is performed using the `automake` toolchain.
56If you are building from git, you will need to run `./autogen.sh` first to
57produce the `configure` script.
58
59```shell
60./configure
61make
62make install
63```
64
65You can use `./configure --help` if you want to get a list of options, though
66the defaults should be suiting most needs.
67
68## Setting up znc.conf
69
70For setting up a configuration file in `~/.znc` you can simply do
71`znc --makeconf` or `./znc --makeconf` for in-place execution.
72
73If you are using SSL you should do `znc --makepem`
74
75## Special config options
76
77When you create your ZNC configuration file via --makeconf, you are asked
78two questions which might not be easy to understand.
79
80> Number of lines to buffer per channel
81
82How many messages should be buffered for each channel. When you connect to
83ZNC you get a buffer replay for each channel which shows what was said
84last. This option selects the number of lines this replay should consist
85of. Increasing this can greatly increase ZNC's memory usage if you are
86hosting many users. The default value should be fine for most setups.
87
88> Would you like to keep buffers after replay?
89
90If this is disabled, you get the buffer playback only once and then it is
91deleted. If this is enabled, the buffer is not deleted. This may be useful
92if you regularly use more than one client to connect to ZNC.
93
94## Using ZNC
95
96Once you have started ZNC you can connect with your favorite IRC-client to
97ZNC. You should use `username:password` as the server password (e.g.
98`/pass user:pass`).
99
100Once you are connected you can do `/msg *status help` for some commands.
101Every module you have loaded (`/msg *status listmods`) should additionally
102provide `/msg *modulename help`
103
104## File Locations
105
106In its data dir (`~/.znc` is default) ZNC saves most of its data. The only
107exception are modules and module data, which are saved in
108`<prefix>/lib/znc` and `<prefix>/share/znc`, and the znc binary itself.
109More modules (e.g. if you install some later) can be saved in
110`<data dir>/modules` (-> `~/.znc/modules`).
111
112In the datadir is only one file:
113
114- `znc.pem` - This is the server certificate ZNC uses for listening and is
115created with `znc --makepem`.
116
117These directories are also in there:
118
119- configs - Contains `znc.conf` (ZNC's config file) and backups of older
120  configs.
121- modules - ZNC also looks in here for a module.
122- moddata - Global modules save their settings here.
123  (e.g. webadmin saves the current skin name in here)
124- users   - This is per-user data and mainly contains just a moddata
125  directory.
126
127## ZNC's config file
128
129This file shouldn't be too hard too understand. An explanation of all the
130items can be found on the
131[Configuration](http://wiki.znc.in/Configuration)-Page.
132**Warning: better not to edit config, while ZNC is running.** Use  the
133[webadmin] and [controlpanel] modules instead.
134
135[webadmin]:http://wiki.znc.in/Webadmin
136[controlpanel]:http://wiki.znc.in/Controlpanel
137
138If you changed some settings while ZNC is running, a simple
139`pkill -SIGUSR1 znc` will make ZNC rewrite its config file. Alternatively
140you can use `/msg *status saveconfig`
141
142## Writing own modules
143
144You can write your own modules in either C++, python or perl.
145
146C++ modules are compiled by either saving them in the modules source dir
147and running make or with the `znc-buildmod` shell script.
148
149For additional info look in the wiki:
150
151- [Writing modules](http://wiki.znc.in/Writing_modules)
152
153Perl modules are loaded through the global module
154[ModPerl](http://wiki.znc.in/Modperl).
155
156Python modules are loaded through the global module
157[ModPython](http://wiki.znc.in/Modpython).
158
159## Further infos
160
161Please visit http://znc.in/ or
162[#znc on freenode](ircs://irc.freenode.net:6697/#znc) if you still have
163questions.
164
165You can get the latest development version with git:
166`git clone https://github.com/znc/znc.git --recursive`
167