]>
Commit | Line | Data |
---|---|---|
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) | |
2 | ||
3 | Charybdis is an IRCv3 server designed to be highly scalable. It implements IRCv3.1 and some parts of IRCv3.2. | |
4 | ||
5 | It is meant to be used with an IRCv3-capable services implementation such as [Atheme][atheme] or [Anope][anope]. | |
6 | ||
7 | [atheme]: http://www.atheme.net/ | |
8 | [anope]: http://www.anope.org/ | |
9 | ||
10 | # necessary requirements | |
11 | ||
12 | * A supported platform | |
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) | |
30 | * Mac OS X 10.7 and above | |
31 | * Windows Vista/Server 2008 and above (x86 or x64) | |
32 | ||
33 | ## Tier 2 | |
34 | ||
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. | |
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 | ||
47 | Anything else that hasn't been tested. Charybdis may or may not work on it; patches welcome if they don't. | |
48 | ||
49 | # platform specific errata | |
50 | ||
51 | These are known issues and workarounds for supported platforms. | |
52 | ||
53 | * **FreeBSD**: if you are compiling with ipv6 you may experience | |
54 | problems with ipv4 due to the way the socket code is written. To | |
55 | fix this you must: "sysctl net.inet6.ip6.v6only=0" | |
56 | ||
57 | * **Solaris**: you may have to set your PATH to include /usr/gnu/bin and /usr/gnu/sbin before /usr/bin | |
58 | and /usr/sbin. Solaris's default tools don't seem to play nicely with the configure script. | |
59 | ||
60 | # building from git | |
61 | ||
62 | We no longer supply a prebuilt configure script in git, due to use of automake and libtool causing problems. | |
63 | You will need to run `autogen.sh` to build the autotools files prior to building charybdis. | |
64 | ||
65 | # feature specific requirements | |
66 | ||
67 | * For SSL/TLS client and server connections, one of: | |
68 | ||
69 | * OpenSSL 1.0 or newer | |
70 | * LibreSSL | |
71 | * mbedTLS | |
72 | * GnuTLS | |
73 | ||
74 | * For certificate-based oper CHALLENGE, OpenSSL 1.0 or newer. | |
75 | (Using CHALLENGE is not recommended for new deployments, so if you want to use a different TLS library, | |
76 | feel free.) | |
77 | ||
78 | * For ECDHE, OpenSSL 1.0.0 or newer is required. Solaris; and RHEL/Fedora and its derivatives such as CentOS | |
79 | have removed support for ECC/ECDHE. You will need to compile your own OpenSSL on these systems. | |
80 | ||
81 | # tips | |
82 | ||
83 | * To report bugs in charybdis, visit us at irc.freenode.net #charybdis | |
84 | ||
85 | * Please read doc/index.txt to get an overview of the current documentation. | |
86 | ||
87 | * Read the NEWS file for what's new in this release. | |
88 | ||
89 | * The files, /etc/services, /etc/protocols, and /etc/resolv.conf, SHOULD be | |
90 | readable by the user running the server in order for ircd to start with | |
91 | the correct settings. If these files are wrong, charybdis will try to use | |
92 | 127.0.0.1 for a resolver as a last-ditch effort. | |
93 | ||
94 | # git access | |
95 | ||
96 | * The Charybdis GIT repository can be checked out using the following command: | |
97 | `git clone https://github.com/charybdis-ircd/charybdis` | |
98 | ||
99 | * Charybdis's GIT repository depot can be browsed over the Internet at the following address: | |
100 | https://github.com/charybdis-ircd/charybdis |