This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
help:technical:ircd [2010/02/08 07:31] – dcraig | help:technical:ircd [2020/05/19 17:58] (current) – [gitsync] rubin | ||
---|---|---|---|
Line 3: | Line 3: | ||
ssh into your server. | ssh into your server. | ||
- | Then run: | ||
- | svn co https:// | ||
- | The system will begin to download the latest version of the nefarious ircu. | ||
Before we continue, we'd like to make sure you have the packages needed for a successful install. | Before we continue, we'd like to make sure you have the packages needed for a successful install. | ||
Line 13: | Line 10: | ||
openssl | openssl | ||
libssl-dev (for enabling ssl -- openssl-devel on redhat) | libssl-dev (for enabling ssl -- openssl-devel on redhat) | ||
- | autoconf (to avoid errors when running make) | + | autoconf |
automake | automake | ||
+ | flex | ||
+ | libpcre3-dev | ||
+ | byacc | ||
+ | gawk | ||
+ | | ||
The named packages above can be fetched (on a Debian based system) with apt-get: | The named packages above can be fetched (on a Debian based system) with apt-get: | ||
- | sudo apt-get install openssl libssl-dev autoconf automake | + | sudo apt-get install |
Note: The names of the packages above may vary, depending on your distribution. | Note: The names of the packages above may vary, depending on your distribution. | ||
+ | |||
+ | run: | ||
+ | git clone https:// | ||
+ | |||
+ | The system will begin to download the latest version of the nefarious ircu. | ||
With that said, we now move on to getting the server up and running. | With that said, we now move on to getting the server up and running. | ||
- | cd nefarious | + | cd nefarious2 |
- | For your own convenience, | + | For your own convenience, |
- | ./configure --libdir=/home/user/ircd --mandir=/home/user/ircd --bindir=/home/user/ircd --enable-ssl | + | ./configure --libdir=$HOME/ircd --mandir=$HOME/ircd --bindir=$HOME/ircd |
Once that is done, run: | Once that is done, run: | ||
Line 42: | Line 48: | ||
cd / | cd / | ||
- | Then fetch the ircd.conf to the ircd directory: | + | Then fetch the [[http:// |
wget -O ircd.conf http:// | wget -O ircd.conf http:// | ||
- | |||
- | (or for 1.3 beta testing servers, use:) | ||
- | wget -O ircd.conf http:// | ||
- | |||
You'll have to edit the configuration file a bit (for simplicity, nano is used in this example): | You'll have to edit the configuration file a bit (for simplicity, nano is used in this example): | ||
- | nano ircd.conf | + | nano -w ircd.conf |
- | Change the M:line to look similar to this: | + | Change the options in the General and Admin sections. |
- | M: | + | Where YourNumeric will be changed to a number we give you before you link. |
- | Where YourNumeric would be changed to a number we give you. | + | You might also want to give yourself an oper block, otherwise you can't oper up. Now save the file. |
- | + | ||
- | Next change the A:line: | + | |
- | + | ||
- | A: | + | |
- | + | ||
- | You might also want to give yourself an O:line, otherwise you can't oper up. Now save the file. | + | |
You are now ready to start your IRC server, run: | You are now ready to start your IRC server, run: | ||
Line 82: | Line 78: | ||
read the unix manual to crontab for more information. | read the unix manual to crontab for more information. | ||
- | ===== Please install the following cronjobs: | + | ====== Install iauthd.pl ====== |
- | ==== linesync ==== | + | iauthd provides for DNSBL blocking to protect us from drones. This script |
- | linesync updates your server 2x a day with the latest k: lines, features, and server connection lines. It is required. You should receive it from us when your testlink is approved. | + | |
- | 0 */12 * * * /home/user/ircd/linesync.sh /home/user/ | + | Requirements: |
+ | |||
+ | You will need to install some perl dependencies for this script to run. | ||
+ | |||
+ | Debian/Ubuntu/Mint: | ||
+ | |||
+ | sudo apt-get install libpoe-perl libpoe-component-client-dns-perl libterm-readkey-perl libfile-slurp-perl libtime-duration-perl | ||
+ | |||
+ | Fedora/Redhat/Centos: | ||
+ | |||
+ | yum install perl-POE perl-POE-Component-Client-DNS perl-TermReadKey perl-slurp perl-Time-Duration | ||
+ | |||
+ | Freebsd: | ||
+ | |||
+ | ports dns/ | ||
+ | |||
+ | CPAN: | ||
+ | |||
+ | cpan install Term:: | ||
+ | |||
+ | Installation: | ||
+ | |||
+ | Simply copy the script from the / | ||
+ | |||
+ | | ||
+ | |||
+ | Now edit your ircd.conf | ||
+ | |||
+ | IAuth { | ||
+ | | ||
+ | }; | ||
+ | |||
+ | Now, save the file and / | ||
+ | |||
+ | / | ||
+ | |||
+ | This should show something similar to this: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | If you would like to learn more about iauth please visit our [[https:// | ||
+ | |||
+ | ====== Please install the following cron jobs: ====== | ||
+ | |||
+ | ===== gitsync ===== | ||
+ | gitsync updates your server every hour with the latest k: lines, features, and server connection info. It is required. There is a copy in nefarious2/ | ||
+ | |||
+ | You must have an SSH key setup for the user that runs ircd. This is normally in '' | ||
+ | |||
+ | Once you have been given access, you must initialize the repository: '' | ||
+ | |||
+ | If that works, you'll have our server list and additions added to your ircd.conf, and a new certificate (.pem) file. | ||
- | ==== checkircd.sh ==== | ||
- | This gem checks if the irc server is running, and if it isnt, starts it up. This will keep the ircd up after reboots, or in the case of a crash. Create the file using a text editor, pasting this code in: | ||
< | < | ||
- | #!/bin/sh | + | 0 0 * * * /home/user/ircd/gitsync.sh -s /home/ |
- | # don't start the server if it is already running | + | |
- | procs=`ps x` | + | |
- | if echo " | + | |
- | | + | |
- | fi | + | |
- | cd /home/irc/ircd | + | |
- | ./ircd | + | |
</ | </ | ||
- | (be careful to use the right kind of `` ticks!) | ||
- | |||
- | For unknown reasons (and particularly on Ubuntu), using cd to change directories and then starting the script via ./ircd doesn' | ||
+ | ===== checkircd.sh ===== | ||
+ | This gem checks if the irc server is running, and if it isnt, starts it up. This will keep the ircd up after reboots, or in the case of a crash. Create the file using a text editor, pasting this code in: | ||
< | < | ||
#!/bin/sh | #!/bin/sh | ||
# don't start the server if it is already running | # don't start the server if it is already running | ||
procs=`ps x` | procs=`ps x` | ||
- | if echo " | + | if echo " |
exit | exit | ||
fi | fi | ||
- | /home/irc/ircd/ircd | + | /home/user/ircd/ircd |
</ | </ | ||
(be careful to use the right kind of `` ticks!) | (be careful to use the right kind of `` ticks!) | ||
Line 127: | Line 175: | ||
*/5 * * * * / | */5 * * * * / | ||
</ | </ | ||
- | ==== syncheck ==== | ||
- | syncheck is our anti-ddos attack tool, you should have received from us on successful testlink. It requires iptables, and thus root access: Put it in /root (or wherever you want) and as root run: | ||
- | |||
- | crontab -e | ||
- | |||
- | And install the following cronjob: | ||
- | < | ||
- | */5 * * * * sh / | ||
- | </ | ||
With these cronjobs installed, you are now ready to link your server to the network. | With these cronjobs installed, you are now ready to link your server to the network. |