Forum

Zárolt Fórum - csak olvasható
Felhasználó: Vendég Bejelentkezés
Kérlek regisztrálj

Keresés 
Fórum keresés:


 




Oleg firmware telepítése - 7.rész, rtorrent
Read original blog post

FelhasználóHozzászólás

07:12
2008. július 30. szerda


r0by

Admin

Szeged

hozzászólások46

1

Több torrent kliens is létezik, az általam használtat osztom most meg, ez pedig az rtorrent. Valamint a végén bemutatok 2 megoldást, hogy hogyan tudunk grafikus felületet varázsolni neki.
Külön köszönet illeti ecaddict-ot, aki a prohardver fórumon közzétette S99rtorrent konfig fájlját, így nem kell külön az iptablesben szórakozni a portok nyitogatásával, tehát, hogy aktívak legyünk.
Kezdjük is:

ipkg install rtorrent screen

Majd, hozzunk létre 2 könyvtárat, amelyre a későbbiek során lesz szükségünk. Én ezeket a samba megosztásom alá teszem, hogy a LAN-on el tudjam érni, valamint mivel úgyis nagy lesz a helyigény, célszerű olyan helyet választani, ahol van is belőle bőségesen:

mkdir -p /opt/etc/samba/Share/torrent/work
mkdir -p /opt/etc/samba/Share/torrent/session

Ezután szerkesszük meg az S99rtorrent fájlt, amely hasonlóan nézzen ki, a szükséges szerkesztéseket mindenki végezze el rajta (elérési utak):

vi /opt/etc/init.d/S99rtorrent

#!/bin/sh

config=”/opt/etc/rtorrent.conf”
OPTIONS=”-n -o import=${config}”
BASE=”/opt/etc/samba/Share/torrent”
SRNAME=rtorrent
logfile=”/opt/var/log/rtorrentInit.log”
PATH=/opt/bin:/opt/sbin:/usr/bin:/sbin:/bin:/usr/sbin
DESC=rtorrent
NAME=rtorrent

# Do not proceed unless some apps are available.
test -x /opt/bin/screen || ( echo “screen not found.” | tee -a “$logfile” >&2 ; exit 2 )

checkcnfg() {
exists=0
for i in `echo “$PATH” | tr ‘:’ ‘\n’` ; do
if [ -f $i/$NAME ] ; then
exists=1
break
fi
done
if [ $exists -eq 0 ] ; then
echo “cannot find rtorrent binary in PATH $PATH” | tee -a “$logfile” >&2
exit 3
fi
if ! [ -r "${config}" ] ; then
echo “cannot find readable config ${config}. check that it is there and permissions are appropriate” | tee -a “$logfi
exit 3
fi
session=`getsession “$config”`
if ! [ -d "${session}" ] ; then
echo “cannot find readable session directory ${session} from config ${config}. check permissions” | tee -a “$logfile”
exit 3
fi
}

getsession() {
session=`awk ‘/^[[:space:]]*session[[:space:]]*=[[:space:]]*/{print($3)}’ “$config”`
echo $session
}

getprange() {
ports=`awk ‘/^[[:space:]]*port_range[[:space:]]*=[[:space:]]*/{print($3)}’ “$config” | sed “s/-/ /”`
echo $ports
}

getdhtport() {
dht_port=`awk ‘/^[[:space:]]*dht_port[[:space:]]*=[[:space:]]*/{print($3)}’ “$config”`
echo $dht_port
}

fwopen() {
DHT_PORT=`getdhtport “$config”`
iptables -D INPUT -j DROP
PORTS=$(seq `getprange “$config”`)
for P in $PORTS; do
iptables -I INPUT -i vlan1 -p tcp –syn –dport $P -j ACCEPT
done
if [ $DHT_PORT ]; then
iptables -I INPUT -i vlan1 -p tcp –dport $DHT_PORT -j ACCEPT
fi
iptables -A INPUT -j DROP
}

fwclose() {
DHT_PORT=`getdhtport “$config”`
PORTS=$(seq `getprange “$config”`)
for P in $PORTS; do
iptables -D INPUT -i vlan1 -p tcp –syn –dport $P -j ACCEPT
done
if [ $DHT_PORT ]; then
iptables -D INPUT -i vlan1 -p tcp –dport $DHT_PORT -j ACCEPT
fi
}

d_start() {
[ -d "${BASE}" ] && cd “${BASE}”
fwopen
stty stop undef && stty start undef \screen -ls | grep “.$SRNAME[[:space:]]” > /dev/null || \screen -dm -S $SRNAME \scree
}

d_stop() {
fwclose
session=`getsession “$config”`
if ! [ -s ${session}/rtorrent.lock ] ; then
return
fi
pid=`cat ${session}/rtorrent.lock | awk -F: ‘{print($2)}’ | sed “s/[^0-9]//g”`
if ps -A | grep -sq ${pid}.*rtorrent ; then # make sure the pid doesn’t belong to another process
kill -s INT ${pid}
fi
}

checkcnfg

case “$1″ in
start)
echo -n “Starting $DESC: $NAME”
d_start
echo “.”;;
stop)
echo -n “Stopping $DESC: $NAME”
d_stop
echo “.”;;
restart|force-reload)
echo -n “Restarting $DESC: $NAME”
d_stop
sleep 1
d_start
echo “.”;;
*)
echo “Usage: $0 {start|stop|restart|force-reload}” >&2
exit 1;;

esac

Ennek a scriptnek kell pár telepített csomag a futáshoz, ezért ezeket most telepítsük is fel:

ipkg install procps grep gawk

Valamint adjunk neki futási jogot, hogy a router indulásánál automatikus elinudljon:

chmod 755 /opt/etc/init.d/S99rtorrent

Szerkesszük meg az rtorrent.conf állományt is, figyeljünk itt is az elérési utakra! Valami hasonlónak kell lennie. Persze a config nem teljes, mindenki a saját igénye szerint állítsa be. Sokan több portot is megadnak, 100-asával nyitogatják őket, de elvileg 1 egész darabnak is elégnek kell lennie. De persze nem mondom azt, hogy ez így minden környezetben jól működik, próba cseresznye. Benne hagytam mindent, hogy lásd, mit lehetne még beállítani.

# 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.
# Minumum amount of peers to connect per torrent, if available.
min_peers = 20

# Minumum amount of peers to connect per torrent.
max_peers = 40

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

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

# Global download rate in KiB. “0″ for unlimited.
download_rate = 0

# Global upload rate in KiB. “0″ for unlimited.
upload_rate = 0

# Default directory to save downloaded files. Note it doesn’t support
# space yet.
directory = /opt/etc/samba/Share/torrent/work/

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

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

# Default session directory. Make sure you don’t run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = /opt/etc/samba/Share/torrent/session

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

# The ip address the listening socket and outgoing connections is
# bound to.

# Port range to use for listening.
port_range = 55000-55000

# 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

#
# 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

# Max number of files to keep open simultaniously.
#max_open_files = 128

# Number of sockets to simultaneously keep open.
#max_open_sockets =

# Example of scheduling commands: Switch between two ip’s every 5
# seconds.
#schedule = “ip_tick1,5,10,ip=torretta”
#schedule = “ip_tick2,10,10,ip=lampedusa”

# Remove a scheduled event.
#schedule_remove = “ip_tick1″

# 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″
#schedule = ratio,30,60,stop_on_ratio=200

# 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

scgi_port = 127.0.0.1:5000

Ha ez megvan, akkor bele kell piszkálni kicsit a lighttpd.conf-ba is.
Először is engedélyezni kell egy modul használatát a server.modules-hoz hozzá kell adni a mod_scgi sort, ahogy az alábbi képen látható:

Majd a végére pedig illesszük be ezt a sort:

scgi.server = ( “/RPC2″ => ( “127.0.0.1″ => ( “host” => “127.0.0.1″, “port” => 5000, “check-local” => “disable”)))

Ezzel nagyjából már készen is vagyunk. A biztonság kedvéért mentsünk mindent és dobjunk egy reboot-ot is:

flashfs save && flashfs commit && flashfs enable
reboot

Újraindulás után csatlakozzunk fel ssh-n, és adjuk ki a ps -ax parancsot, és ha ilyesmit látunk a végefelé a listának, akkor jól dolgoztunk:

Ezután már nincs sok hátra, minthogy grafikus felületet varázsoljunk neki.
Először egy javas megoldást mutatok. Ehez természetesen telepíteni kell a jávát.
Ezután le kell töltenünk az ntorrent-et innen.
Ezt kicsomagolod egy tetszőleges könyvtárba, majd elindítod az nTorrent.exe-t.
Majd kitöltögeted szépen a szükséges adatokat, valahogy így:

Ha ezen a ponton ráböksz a save gombra, akkor el tudja menteni a profilt miután adtál neki egy nevet, valamint ha bepipáltad a connect on startup lehetőséget, akkor elindulás után automatikusan csatlakozik.

Másik megoldás, egyszerűbb, átláthatóbb felületet ad (legalábbis számomra), ráadásul több szolgáltatása is van (peer lista például).
Ekőször is töltsük le a csomagot innen. Ha nem jönne le, akkor feltettem saját szerverre is: letöltés.
Csomagoljuk ki a lighttpd root-ja alá mundjuk az rtorrent könyvtárba, aztán szerkesszük meg a config.php-t.
Nálam most ez így néz ki:

< ?php
// configuration parameters

$uploads = ‘./torrents’;
$uploads_mode = 0777;
$settings = ‘./settings’;

$scgi_port = 5000;
$scgi_host = “127.0.0.1″;
//$scgi_port = 0;
//$scgi_host = “unix:///tmp/rpc.socket”;

// For web->rtorrent link through unix domain socket
// (scgi_local in rtorrent conf file), change variables
// above to something like this:
//
// $scgi_port = 0;
// $scgi_host = “unix:///tmp/rpc.socket”;
?>

Most már nincs más dolgunk, mint megnyitni a következő címet: 192.168.1.1:8081/rtorrent.
Pár kép, hogy kedvet kapjatok hozzá:)



Read original blog post

09:04
2008. július 30. szerda


balage25

tag

hozzászólások4

2

A felhasználó jelszó párost, hol lehet beállítani a webes guinál?

09:23
2008. július 30. szerda


r0by

Admin

Szeged

hozzászólások46

3

balage25 Mondta

A felhasználó jelszó párost, hol lehet beállítani a webes guinál?


Egyenlőre nincs beépítve ilyen funkció, de végülis el lehet érni http auth-ot, ha trükközöl a lighttpd-vel.

19:06
2008. október 5. vasárnap


Cisco

tag

hozzászólások5

4

R0by egy kis segitség kellene még pedig mikor rakom befele a kodot a S99rtorrrent-be azt irja hibás a kod 1 hibát tényleg találtam benne mégpedig mikor a kodrészlet nincs befejezve  \”logfi  ez nem volt nehéz kipotoltam és lezártam vagyis \”logfile\” utána egy másik hibát dobott ki mégpedig ezt:

[admin@Asus init.d]$ ./S99rtorrent
./S99rtorrent: ./S99rtorrent: 37: Syntax error: \”(\” unexpected (expecting \”}\”)

hogy ha megoldhato akkor léci rakd már fel file-ba az oldalra vagy linkeld már be léci mer igy nem akar müxeni :( elöre is köszi

u.i a hibát itt is észre lehet venni igy kezdödik a sor az oldalon

appropriate” | tee -a “$logfi

a segitséget mégegyszer köszi

20:52
2008. október 7. kedd


santana

tag

hozzászólások5

5

Hali!

Picit tanácstalan vagyok, nem hajlandó az rtorrent-em indulni:

/opt/bin/rtorrent -n -o import=/opt/etc/rtorrent.conf
Aborted


lighttpd error.log pedig csak annyit ir hogy elindult a server, hibát nem ír…

22:22
2008. október 8. szerda


santana

tag

hozzászólások5

6

Illet ve mégis van hiba:

2008-10-08 21:29:33: (mod_scgi.c.2222) establishing connection failed: Connectio
2008-10-08 21:29:33: (mod_scgi.c.2356) fcgi-server disabled: 127.0.0.1 5000
2008-10-08 21:29:33: (mod_scgi.c.2825) no fcgi-handler found for: /RPC2

csakhogy a lighttpd.conf-ban fastcgi és scgi bekapcsolva, beállítva és mégsem akar menni…

http://192.168.1.1:8081/ egyébént müködik…


Someione, plz!

22:52
2008. október 9. csütörtök


santana

tag

hozzászólások5

7

6.-os tutorial és háromszori telepítés után megy :-)

ill. majdnem, ha manuálisan indíton szépen fut, sőt ha manuálisan elinditom az rc.unslung-ot akkor is, de hiába van bent utóbbi a post-boot-ban nem akar menni… de csak a torrent nem megy, lighttpd elindul automatikusan?!

Valakinek valami tapasztalat ilyenben?

15:30
2008. október 18. szombat


qkac

most jött

hozzászólások2

8

na itt elakadtam, már az elején

próbálom bemásolni az első scriptet, copy + shift+insert a puttyban és szétesik az egész.

próbáltam darabokban, az sem megy, annyi időm meg nincs, hogy az egészet beírjam és félek, hogy elrontok valamit, nem értek linuxul…

látom a linket a txt filéhez. ezt be tudnám tölteni egy az egyben?

21:28
2009. február 24. kedd


Blackmate

tag

hozzászólások5

9

Van egy ilyen hibám:

a config.php tartalma:

<?php
    // configuration parameters

    $uploads = './torrents';
    $uploads_mode = 0777;
    $settings = './settings';

    $scgi_port = 5000;
    $scgi_host = “127.0.0.1″;

    // For web->rtorrent link through unix domain socket
    // (scgi_local in rtorrent conf file), change variables
    // above to something like this:
    //
    // $scgi_port = 0;
    // $scgi_host = “unix:///tmp/rpc.socket”;
?>

A lighthttpd error logja az adott időpontban:

2009-02-24 19:50:00: (server.c.923) WARNING: unknown config-key: scgi.server (ignored)


Mit csináltam rosszul?


06:55
2009. február 25. szerda


r0by

Admin

Szeged

hozzászólások46

10

Blackmate Mondta

Van egy ilyen hibám:…

a config.php tartalma:

<?php
    // configuration parameters

    $uploads = './torrents';
    $uploads_mode = 0777;
    $settings = './settings';

    $scgi_port = 5000;
    $scgi_host = “127.0.0.1″;

    // For web->rtorrent link through unix domain socket
    // (scgi_local in rtorrent conf file), change variables
    // above to something like this:
    //
    // $scgi_port = 0;
    // $scgi_host = “unix:///tmp/rpc.socket”;
?>

A lighthttpd error logja az adott időpontban:

2009-02-24 19:50:00: (server.c.923) WARNING: unknown config-key: scgi.server (ignored)


Mit csináltam rosszul?



Ez benne van a rtorrent.conf-ban?

scgi_port = 127.0.0.1:5000

A lighttpd-ben pedig a mod_scgi engedélyezve van, valamint benne van ez a sor?

scgi.server = ( “/RPC2″ => ( “127.0.0.1″ => ( “host” => “127.0.0.1″, “port” => 5000, “check-local” => “disable”)))

14:24
2009. május 10. vasárnap


Kovikrisz

most jött

hozzászólások1

11

Blackmate Mondta

Van egy ilyen hibám:

a config.php tartalma:

<?php
    // configuration parameters

    $uploads = './torrents';
    $uploads_mode = 0777;
    $settings = './settings';

    $scgi_port = 5000;
    $scgi_host = “127.0.0.1″;

    // For web->rtorrent link through unix domain socket
    // (scgi_local in rtorrent conf file), change variables
    // above to something like this:
    //
    // $scgi_port = 0;
    // $scgi_host = “unix:///tmp/rpc.socket”;
?>

A lighthttpd error logja az adott időpontban:

2009-02-24 19:50:00: (server.c.923) WARNING: unknown config-key: scgi.server (ignored)


Mit csináltam rosszul?



Sziasztok,

hasonló problémával kűzdőknek:

a problémát nélam az okozta, hogy nem találta a config fálját az rTorrent.
Következőképp nézheted meg, hogy dob-e hibát az rTorrent: 'rtorrent -n -o import=/opt/etc/rtorrent.conf
'

amennyiben különösebb hiba nélkül elindult a progi akkor elméletben most egy böngésző ablakot nyitva mennie kellene a rTorrent-nek.

21:09
2009. december 5. szombat


hargab

most jött

hozzászólások1

12

sziasztok!

már ötödjére teszem fel az egészet, de az rtorrent nem akar összejönni.

magától nem indul, ha manuálisan indítom a következőt kapom:

[root@Asus root]$ /opt/etc/init.d/S99rtorrent
Usage: awk [POSIX or GNU style options] -f progfile [--] file …
Usage: awk [POSIX or GNU style options] [--] 'program' file …
POSIX options:          GNU long options:
        -f progfile             –file=progfile
        -F fs                   –field-separator=fs
        -v var=val              –assign=var=val
        -m[fr] val
        -O                      –optimize
        -W compat               –compat
        -W copyleft             –copyleft
        -W copyright            –copyright
        -W dump-variables[=file]        –dump-variables[=file]
        -W exec=file            –exec=file
        -W gen-po               –gen-po
        -W help                 –help
        -W lint[=fatal]         –lint[=fatal]
        -W lint-old             –lint-old
        -W non-decimal-data     –non-decimal-data
        -W profile[=file]       –profile[=file]
        -W posix                –posix
        -W re-interval          –re-interval
        -W source=program-text  –source=program-text
        -W traditional          –traditional
        -W usage                –usage
        -W use-lc-numeric       –use-lc-numeric
        -W version              –version

To report bugs, see node `Bugs' in `gawk.info', which is
section `Reporting Problems and Bugs' in the printed version.

gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.

Examples:
        gawk '{ sum += $1 }; END { print sum }' file
        gawk -F: '{ print $1 }' /etc/passwd
/opt/etc/init.d/S99rtorrent: /opt/etc/init.d/S99rtorrent: 131: /^[[:space:]]*session[[:space:]]*=[[:space:]]*/{print($3)}: not found

01:45
2009. december 7. hétfő


vage24

most jött

hozzászólások1

13

Sziasztok!

2 nap szívás után eljutottam az rtorrent -el meg a lighttpd -vel addig, hogy a böngészőm már nem azt dobja, hogy a lap nem jeleníthető meg. Most az a gond, hogy a böngészőim szerint “Your web server does not support PHP. Correct this and try again.”, illetve egy ablakban ezt a hibaüzenetet kapom.

<192.168.1.1>

<?xml version=”1.0″ encoding=”iso-8859-1″?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
         “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>
 <head>
  <title>403 - Forbidden</title>
 </head>
 <body>
  <h1>403 - Forbidden</h1>
 </body>
</html>

Tud valaki sedíteni?

THX



Válasz a Témára: Oleg firmware telepítése - 7.rész, rtorrent

FIGYELEM: Az új megjegyzések csak adminisztrátori jóváhagyással jelenhetnek meg

Vendég Néve (Kötelező):

Vendég EMail (Require):

Guest URL (required)

Kötelező Matek!
Mennyi: 2 + 3        (Kötelező)

Téma Válasz:


 
 

A ASUS WL-500g Premium fórumról

Online Felhasználók:

6 Vendég

Maximum online: 19

Fórumok

Csoportok:5

Fórumok8

Témák48

Hozzászólások150

Tagok

286 tag

1 vendég


r0by-an 46 bejegyzést írt

Top hozzászólók:

antenna - 12

Levys - 6

santana - 5

Cisco - 5

perla - 5

Adminisztrátor:r0by


© Simpe:Press Forum - Verzió 3.1.3 (Build 356)