HOWTO: rTorrent med ruTorrent!

Här kan du dela med dig av dina bästa tips och knep.
Kategoriregler
Här ligger de utförliga instruktionerna vi kan tänkas behöva. Leta här om du tex behöver installera nåt program eller sätta upp någon funktion. Starta inte trådar utan att ha ett svar.
Användarvisningsbild
Kirill
Inlägg: 1824
Blev medlem: 18 okt 2009, 11:50
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Gränsfors
Kontakt:

HOWTO: rTorrent med ruTorrent!

Inlägg av Kirill »

Ansvarsfrihet
Gömt innehåll: Visa!
Cracker.se avsäger sig allt ansvar för de fel som kan finnas på hemsidan. Cracker.se avsäger sig också allt ansvar för skador som kan uppstå efter bruk/missbruk av upplysningar från www.cracker.se.

De externa länkar som visas på www.cracker.se administreras av andra ägare. Cracker.se kan därför inte ställas till ansvar för innehållet på dessa sidor!

Den enskilde Internet-användaren ska själv vidtaga nödvändiga förhållningsregler vid utnyttjande av hemsidan. Det är därför dennes eget ansvar att skydda sig mot datavirus, som kan följa med en nedladdning från Internet och skada brukarens mjukvara eller hårdvara. Cracker.se kan under inga omständigheter ställas till ansvar för skador som uppstår under/eller p.g.a. besök på Cracker.ses hemsida eller de länkar som visas på hemsidan. Detta gäller både direkta och indirekta skador.
Jag kommer här ge er en guide på hur du installerar absolut senaste [idag gällande 22/6 2012] utav libtorrent, rTorrent samt ruTorrent och dess plugins.

Det scriptet gör är att installera allt det nödvändigaste som behövs, och för att allt ska fungera så behövs GCC på servern/klienten där du ska köra ruTorrent. Därför har jag petat in GCC på första raden som installeras åt dig.

OBS!
VAD ni än gör, skriv aldrig detta script på en Windowsburk, då du kommer få problem med koden. Kopiera den rakt av och skapa en ny fil på din server/klient med VI/VIM eller nano.

Scriptet skapar även alla mappar som behövs, men har du redan en färdig struktur på en annan disk du vill använda, så ändra efter dina egna behov. Kom även ihåg att för att detta ska lyckas så måste du ta bort tidigare installationer utav libtorrent och rTorrent.

Då kör vi då!

Först och främst så ändra vilken port range du ska ha, samt öppna upp dessa portar i din brandvägg. Öppna även upp port 5000 som används, samt även för HTTP och HTTPS i din brandvägg så att du kan komma åt ruTorrent även utifrån. ;D

Kod: Markera allt

#!/bin/bash
#
#Modified By: Pontus Öhman
#Homepage: http://www.cracker.se
#Date: 2012/06/22
#
#
# CRACKER.SE

if [[ $EUID -ne 0 ]];then
    echo "rTorrent Installer: User has to be root"
    exit 1
fi

echo "CRACKER.SE"

echo "UPDATING THE SYSTEM"
sudo apt-get update 
sudo apt-get upgrade -y
sudo apt-get install gcc subversion build-essential automake libtool libcppunit-dev libcurl3-dev libsigc++-2.0-dev unzip unrar curl libncurses-dev -y
sudo apt-get install apache2 php5 php5-cli php5-curl -y

sudo apt-get install libapache2-mod-scgi -y
ln -s /etc/apache2/mods-available/scgi.load /etc/apache2/mods-enabled/scgi.load

echo "INSTALLING XMLRPC"
sleep 2
sudo mkdir /install
cd /install
sudo svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c
cd xmlrpc-c
sudo ./configure --disable-cplusplus
sudo make
sudo make install

echo "INSTALLING LIBTORRENT"
sleep 2
cd /install
sudo wget  http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz
sudo tar xvf libtorrent-0.13.2.tar.gz
cd libtorrent-0.13.2
sudo ./autogen.sh
sudo ./configure
sudo make
sudo make install

echo "INSTALLING RTORRENT"
sleep 2
cd /install
sudo wget  http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz
sudo tar xvf rtorrent-0.9.2.tar.gz
cd rtorrent-0.9.2
sudo ./autogen.sh
sudo ./configure --with-xmlrpc-c
sudo make
sudo make install
sudo ldconfig

echo "MAKING DIRECTORIES"
sudo mkdir /rt
sudo mkdir /rt/rtorrent
sudo mkdir /rt/rtorrent/session
sudo mkdir /rt/rtorrent/watch
sudo mkdir /rt/rtorrent/downloads

cat > /root/.rtorrent.rc <<-END_SCRIPT
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.

# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
#max_peers = 100

# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 10
#max_peers_seed = 50

# Maximum number of simultanious uploads per torrent.
#max_uploads = 15

# Global upload and download rate in KiB. "0" for unlimited.
#download_rate = 0
#upload_rate = 0

# Default directory to save the downloaded torrents.
directory = /rt/rtorrent/downloads

# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = /rt/rtorrent/session

# Watch a directory for new torrents, and stop those that have been
# deleted.
#schedule = watch_directory,5,5,load_start=./watch/*.torrent
#schedule = untied_directory,5,5,stop_untied=

# Close torrents when diskspace is low.
#schedule = low_diskspace,5,60,close_low_diskspace=100M

# Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
#schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"

# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no

# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no

# Port range to use for listening.
port_range = 6890-6999

# Start opening ports at a random position within the port range.
#port_random = no

# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
#check_hash = no

# Set whetever the client should try to connect to UDP trackers.
#use_udp_trackers = yes

# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa

# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
# encryption = allow_incoming,enable_retry,prefer_plaintext

# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
# 
# dht = auto

# UDP port to use for DHT. 
# 
# dht_port = 6881

# Enable peer exchange (for torrents not marked private)
#
# peer_exchange = yes

#
# Do not modify the following parameters unless you know what you're doing.
#

# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10

# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100

# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 10
scgi_port = 127.0.0.1:5000
END_SCRIPT

echo "INSTALLING RUTORRENT"
sleep 2
cd /install
sudo wget http://rutorrent.googlecode.com/files/rutorrent-3.4.tar.gz
sudo tar xvf rutorrent-3.4.tar.gz
sudo mv rutorrent /var/www
sudo wget http://rutorrent.googlecode.com/files/plugins-3.4.tar.gz
sudo tar xvf plugins-3.4.tar.gz
sudo mv plugins /var/www/rutorrent
sudo rm -rf /var/www/rutorrent/plugins/darkpal
sudo chown -R www-data:www-data /var/www/rutorrent

echo "CONFIGURING AUTH FILE"
sleep 2
cd /var/www/rutorrent
cat >> /etc/apache2/httpd.conf <<-END_PASTE
<VirtualHost *:80>
DocumentRoot /var/www
<Location /rutorrent>
Order Deny,Allow
AuthUserFile /var/www/rutorrent/.htpasswd
AuthName "ruTorrent login"
AuthType Basic
require valid-user
</Location>
SCGIMount /RPC2 127.0.0.1:5000
</VirtualHost>
END_PASTE

echo "ENTER A USERNAME"
read USERNAME
echo "ENTER PASSWORD FOR $USERNAME"
sudo htpasswd -c /var/www/rutorrent/.htpasswd $USERNAME

sudo chown www-data:www-data /var/www/rutorrent/.htpasswd

echo "INSTALLING SCREEN"
sleep 2
sudo apt-get install screen -y

echo "RESTARTING APACHE"
sudo /etc/init.d/apache2 restart
sleep 2

echo "GENERATING STARTUP SCRIPT"
cd /etc/init.d/
wget http://www.cracker.se/dump/rtstart.sh
mv rtstart.sh startrt
chmod +x /etc/init.d/startrt
update-rc.d startrt defaults

echo "STARTING RTORRENT"
sleep 5
#sudo screen -fa -d -m -S rtorrent rtorrent
service startrt start

echo "CRACKER.SE"
echo ""

echo "Your IP Address is:"
ifconfig | grep -m 1 inet\ addr: | cut -d: -f2 | awk '{print $1}' 
echo "YOU MAY NOW ACCESS YOUR RUTORRENT INTERFACE AT yourip/rutorrent"
echo ""
echo "TO START AND STOP YOUR RTORRENT USE:"
echo "service startrt start|stop|restart"
sleep 5
Frågor och hjälp tas självklart i den här tråden!
Webmaster för
Cracker.se Linux, IT-säkerhet, Mac & Boxee Box!

Mina guider
http://ubuntu-se.org/phpBB3/viewtopic.php?f=19&t=56551

Återgå till "Guider"