]>
Commit | Line | Data |
---|---|---|
427ed8ea | 1 | # charybdis [![POSIX Build Status](https://travis-ci.org/charybdis-ircd/charybdis.svg?branch=master)](https://travis-ci.org/charybdis-ircd/charybdis) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/is0obsml8xyq2qk7/branch/master?svg=true)](https://ci.appveyor.com/project/kaniini/charybdis/branch/master) |
67603230 | 2 | |
be9fb5ac | 3 | Charybdis is an IRCv3 server designed to be highly scalable. It implements IRCv3.1 and some parts of IRCv3.2. |
41976628 | 4 | |
be9fb5ac | 5 | It is meant to be used with an IRCv3-capable services implementation such as [Atheme][atheme] or [Anope][anope]. |
67603230 AC |
6 | |
7 | [atheme]: http://www.atheme.net/ | |
8 | [anope]: http://www.anope.org/ | |
9 | ||
10 | # necessary requirements | |
11 | ||
12 | * A supported platform | |
fcf13f6d EM |
13 | * A working dynamic library system |
14 | * A working lex and yacc - flex and bison should work | |
15 | ||
16 | # platforms | |
17 | ||
18 | Charybdis is designed with portability in mind, but does not target older systems nor those of solely academic | |
19 | interest. | |
20 | ||
21 | Do note that operating systems are only supported if they are supported by their vendor. | |
22 | ||
23 | ## Tier 1 | |
24 | ||
25 | These platforms are the best supported, and should always work. They are actively tested. If you encounter | |
26 | problems, please file a bug. | |
27 | ||
28 | * FreeBSD 10.x and above (i386 and amd64) | |
29 | * Linux 2.6.x and above with glibc or musl (i386, x86_64, and ARM) | |
c0d82abe | 30 | * macOS 10.7 and above |
fcf13f6d EM |
31 | * Windows Vista/Server 2008 and above (x86 or x64) |
32 | ||
33 | ## Tier 2 | |
34 | ||
61566826 EM |
35 | These platforms are supported and occasionally tested, and most features should work, but this is not |
36 | guaranteed. If you find any problems, file a bug, but as these are not regularly tested platforms, a timely | |
37 | resolution may not be possible. | |
fcf13f6d EM |
38 | |
39 | * DragonflyBSD 4.4 and above (i386) | |
40 | * Linux with uClibc (i386 or x86_64) | |
41 | * NetBSD 6.1.x and above (i386, amd64) | |
42 | * OpenBSD 5.6 and above (i386, amd64) | |
43 | * Solaris 10 and above (i386) | |
44 | ||
45 | ## Tier 3 | |
46 | ||
61566826 | 47 | Anything else that hasn't been tested. Charybdis may or may not work on it; patches welcome if they don't. |
fcf13f6d EM |
48 | |
49 | # platform specific errata | |
50 | ||
51 | These are known issues and workarounds for supported platforms. | |
52 | ||
c0d82abe QP |
53 | * **macOS**: you must set the `LIBTOOLIZE` environment variable to point to glibtoolize before running autogen.sh: |
54 | ||
55 | ```bash | |
56 | brew install libtool | |
57 | export LIBTOOLIZE="/usr/local/bin/glibtoolize" | |
58 | ./autogen.sh | |
59 | ``` | |
19ec5fb1 | 60 | |
fcf13f6d EM |
61 | * **FreeBSD**: if you are compiling with ipv6 you may experience |
62 | problems with ipv4 due to the way the socket code is written. To | |
63 | fix this you must: "sysctl net.inet6.ip6.v6only=0" | |
64 | ||
65 | * **Solaris**: you may have to set your PATH to include /usr/gnu/bin and /usr/gnu/sbin before /usr/bin | |
66 | and /usr/sbin. Solaris's default tools don't seem to play nicely with the configure script. | |
67603230 | 67 | |
0409e18f AC |
68 | # building from git |
69 | ||
70 | We no longer supply a prebuilt configure script in git, due to use of automake and libtool causing problems. | |
71 | You will need to run `autogen.sh` to build the autotools files prior to building charybdis. | |
72 | ||
67603230 AC |
73 | # feature specific requirements |
74 | ||
354fd351 AC |
75 | * For SSL/TLS client and server connections, one of: |
76 | ||
fd9f6521 AJ |
77 | * OpenSSL 1.0.0 or newer (--enable-openssl) |
78 | * LibreSSL (--enable-openssl) | |
79 | * mbedTLS (--enable-mbedtls) | |
80 | * GnuTLS (--enable-gnutls) | |
354fd351 | 81 | |
fd9f6521 | 82 | * For certificate-based oper CHALLENGE, OpenSSL 1.0.0 or newer. |
354fd351 AC |
83 | (Using CHALLENGE is not recommended for new deployments, so if you want to use a different TLS library, |
84 | feel free.) | |
67603230 | 85 | |
fd9f6521 AJ |
86 | * For ECDHE under OpenSSL, on Solaris and RHEL/Fedora (and its derivatives such as CentOS) you will |
87 | need to compile your own OpenSSL on these systems, as they have removed support for ECC/ECDHE. | |
88 | Alternatively, consider using another library (see above). | |
67603230 AC |
89 | |
90 | # tips | |
91 | ||
d7f66fc3 | 92 | * To report bugs in charybdis, visit us at irc.charybdis.io #charybdis |
67603230 AC |
93 | |
94 | * Please read doc/index.txt to get an overview of the current documentation. | |
95 | ||
fcf13f6d EM |
96 | * Read the NEWS file for what's new in this release. |
97 | ||
67603230 AC |
98 | * The files, /etc/services, /etc/protocols, and /etc/resolv.conf, SHOULD be |
99 | readable by the user running the server in order for ircd to start with | |
100 | the correct settings. If these files are wrong, charybdis will try to use | |
101 | 127.0.0.1 for a resolver as a last-ditch effort. | |
102 | ||
238db377 EM |
103 | # git access |
104 | ||
105 | * The Charybdis GIT repository can be checked out using the following command: | |
3eb5fee4 | 106 | `git clone https://github.com/charybdis-ircd/charybdis` |
238db377 EM |
107 | |
108 | * Charybdis's GIT repository depot can be browsed over the Internet at the following address: | |
109 | https://github.com/charybdis-ircd/charybdis |