Skip to content

Instantly share code, notes, and snippets.

@gdiaz384
Created October 23, 2016 15:55
Show Gist options
  • Save gdiaz384/80e0836b27a88d53dc0a9c604b972998 to your computer and use it in GitHub Desktop.
Save gdiaz384/80e0836b27a88d53dc0a9c604b972998 to your computer and use it in GitHub Desktop.
Setting Up An XDCCServer on Debian
These are merged instructions from:
http://kasumi.moe/xdccguide
and
http://iroffer.dinoex.net/INSTALL-linux-en.html
::XDCC server (on debian)
sudo apt-get
sudo apt-get install make gcc libc-dev libcurl4-openssl-dev libgeoip-dev libssl-dev ruby libruby aria2
cd ~
mkdir iroffer
cd iroffer
aria2c http://iroffer.dinoex.net/iroffer-dinoex-3.30.tar.gz
tar -xvzf iroffer-dinoex-3.30.tar.gz
cd iroffer-dinoex-3.30
cd src
nano dinoex_http.c
and then change:
"<a href=\"javascript:ToClipboard('/msg %s xdcc send %u');\">%s</a>",
to:
"<a href=\"#\" onclick='javascript:prompt(\"Paste this into your IRC client:\",\"/msg %s XDCC SEND %u\")'>%s</a>",
cd ..
./Configure -curl -geoip -ruby
#if configure reports errors, then install the dependencies
make
cp -p iroffer ..
cp *.html ..
cp -r htdocs ../
cp sample.config ../mybot.config
cd ..
chmod 600 mybot.config
#Create a password for the admin-chat
./iroffer -c mybot.config
#start configuration settings#
#maintenance
pidfile mybot.pid
logfile mybot.log
statefile mybot.state
logrotate weekly
expire_logfiles 31
logstats yes
#some defaults
send_listfile -1
slotsmax 20
queuesize 10
maxtransfersperperson 2
maxqueueditemsperperson 4
idlequeuesize 100
maxidlequeuedperperson 20
balanced_queue
smallfilebypass 8192
no_minspeed_on_free
ignoreuploadbandwidth
send_batch
auto_default_group
auto_path_group
respondtochannellist
server_send_max 600
max_uploads 3
hideos
logmessages
atfind 3
max_find 5
no_find_trigger
#networking stuffs
http_vhost 0.0.0.0
network irc.rizon.net
network irc.kametsu.com
connectionmethod direct
usenatip put.public.ip.here
getipfromserver
tcprangestart 8002
tcprangelimit 8042
downloadhost *!*@*
#which networks and channels to join
network rizon4
{
local_vhost 0.0.0.0
server irc.rizon.net
channel #Nagato
}
network kametsu4
{
local_vhost 0.0.0.0
server irc.kametsu.com
channel #Kametsu
}
#bot names
user_nick bot|my
user_realname myircName
owner_nick Onwer: myircName at my@email
respondtochannellistmsg For packlist: /msg bot|my xdcc send list or (https://put.a.URL.here)
noautorejoin
reconnect_delay 15
user_modes +iB
#directory options
filedir /home/bot/files
autoadd_dir /home/username/dir/
#uploaddir /home/bot/files
#file selection options
noduplicatefiles
include_subdirs
adddir_min_size 1024
autocrc_exclude *.torrent
autocrc_exclude *.xdelta
autocrc_exclude *.txt
autocrc_exclude *.md5
adddir_match *.avi
adddir_match *.mp4
adddir_match *.mkv
adddir_match *.mp3
adddir_match *.opus
adddir_match *.aac
adddir_match *.flac
adddir_match *.iso
adddir_exclude *.txt
adddir_exclude *.md5
Find "# 1st Network" and delete all of the listed servers except Rizon. Either use some IRC channel of your own or join an existing one. Bot can join multiple networks at once. (e.g. Kametsu + Rizon) and multiple channels on each network
Tip: put the "xdcclistfile /usr/share/nginx/html/bot.txt" in your http directory
#inbuilt packlist options (optional)
http_index
http_port 8080
http_dir htdocs
#end configuration settings#
create the following start-iroffer.sh file:
#!/bin/sh
cd /home/bot/iroffer
./iroffer -b /home/bot/iroffer/mybot.config
chmod +x start-iroffer.sh
sh start-iroffer.sh
Troubleshooting Restart Cycle:
pkill iroffer
sh start-iroffer.sh
To start at boot:
crontab -e
@reboot cd /home/user/iroffer && /home/user/iroffer/./iroffer -b /home/user/iroffer/mybot.config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment