Strangers într-un cadru rTorrent cușer și explicații ale config

rTorrent setare Kosher și explicații de configurare .rtorrent.rc

Astăzi vom configura consola rTorrent (fișierul de configurare

Sintaxa pentru fișierul de configurare este foarte specific, și documentația completă pe Internet pentru a găsi, pentru că așa cum am înțeles retell.

Să începem cu setările implicite:

orar = watch_directory, 5, 5, "load_start = / rTorrent / newtorrents / *. torrent, d.set_custom1 = / rTorrent / DONE /"

Această comandă la fiecare 5 secunde, verificați dosarul / / newtorrents /, accesul deschis complet rTorrent, pentru noi fișiere .torrent. d.set_custom1 este o echipa pe care o păstrează pentru fiecare torrent, directorul de destinație finală (în cazul în care acesta va fi transferat după injectare), mai mult va fi sub „Obiectivul 2“. De asemenea, este convenabil pentru a obține pentru a monitoriza mai multe dosare.

De exemplu, se poate scrie un astfel de config-linie separat pentru newtorrents / filme, newtorrents / jocuri, etc. și pentru fiecare înregistrare în locația sa finală.

Dracu stie de ce 5 secunde specificat de 2 ori, dar în schimb watch_directory poate scrie nimic, acest identificator pentru a inventa propriile lor.

În general, comenzile disponibile sunt de forma „d.= „Care începe întotdeauna cu“ d. «Și se termină întotdeauna cu» = „chiar dacă nimic nu a fost atribuit (de exemplu, echipa“ d.stop = „).

Există o clasă de comenzi pentru anumite valori, acestea diferă prin aceea că ele încep cu un „$ d.“, De exemplu „$ d.get_name =“. Terminați ca un semn „=“. $ Pare să însemne că apelul ar trebui să returneze valoarea, nu doar pentru a efectua o acțiune.

După cum se poate observa din listă, există 6 personalizate-domenii care pot fi setate folosind nevoile lor:
Index 42 String: 'd.custom1'
Index 43 String: 'd.custom1.set'
Ie d.set_custom1 echipa de mai sus nume este luat din buldozer.
Dacă există o opțiune pentru „.set“, înseamnă câmpul poate fi setat, în acest caz, comanda este scris ca «d.set_ tied_to_file = / nume de fișier», în cazul în care nu, atunci câmpul este, atunci utilizați numai ca „$ d.get_ read-only tied_to_file = ".

Pentru a atinge obiectivul de 1 rămâne atunci când descărcarea nou transfer torrent fișiere l-.torrent la un fir de alt dosar, astfel încât el a dispărut din ochii publicului, și era clar că el a fost luat.

Noi folosim următoarea comandă

system.method.set_key = event.download.inserted_new. move_loaded, "executa = mv, -u, $ d.get_loaded_file =, $ d.get_meta_path =; d.set_tied_to_file = $ d.get_meta_path ="

Aici, în inima mea eu nu înțeleg, de unde aceste vrăji magice (subliniați), move_loaded - din nou identificator de gândit de buldozer, apoi vine comanda: executa - executat shell-comandă, parametrii sunt listate, separate prin virgula. Echipa se mută .torrent-fișier (calea pentru a reveni apelul la $ d.get_loaded_file =) într-un loc nou - $ d.get_meta_path = (aceasta este o metodă personalizată returnează calea completă la un torent-fișier într-un folder nou este creat manual, a se vedea mai jos ) topire virgulã marchează sfârșitul comenzii curent, la fel ca în unix-shell. Puteți scrie o mulțime de echipe într-un rând.

În cele din urmă actualizarea vechi pentru torrent: d.set_tied_to_file = $ d.get_meta_path =, instalat într-un nou mod de a tied_to_file torent-fișier.

Noua metodă este creată după cum urmează:

system.method.insert = d.get_loaded_basename, string | simplu. "Execute_capture = basename, $ d.get_loaded_file ="
system.method.insert = d.get_meta_path, simplu. "Cat = / rTorrent / torent /, $ d.get_loaded_basename ="

Prima metodă returnează un fișier basename torent, al doilea thereunto la un nou dosar în care stochează temporar fișierele torrent.

Numele și d.get_meta_path d.get_loaded_basename inventat de buldozer, dar cu un ochi la metodele existente. "D." le pentru coerența cu restul. Suprascrieți existente, nu au încercat, dar cred că ceva util va veni.

Pentru a transfera conținut descărcat într-un dosar pentru desăvîrșit, utilizați event.download.hash_done eveniment. Dar, în primul rând, șeful de câteva metode ajutătoare:

system.method.insert = movecheck1, simplu. „Și =“
system.method.insert = movedir1, simplu. "D.set_directory = $ d.get_custom1 =; executa = mv, -u, $ d.get_base_path =, $ d.get_custom1 =; d.set_custom1 =; d.stop =; d.start ="

Prima verificare este gata într-adevăr torrent și dacă el are dosarul de destinație.

A doua injecție se instalează de fapt un dosar din CUSTOM1 câmp, transferurile de conținut în acest dosar șterge câmp CUSTOM1 (acest lucru este important pentru alte caracteristici), și repornește (stop / start), pentru a actualiza întregul INFA (xs general, nu-mi amintesc de ce).

Ei bine, rulați-l toată splendoarea evenimentului:

system.method.set_key = event.download.hash_done. move_hashed1, "ramură ="

Nu înțeleg ce rol joaca aici, locul de muncă, și fără ele, dar este de remarcat faptul că movecheck1 scrise cu „$“, pentru a lua-apel se întoarce boolean, și movedir1 = - fără „$“, pentru că este o provocare echipa.

Iată scrie o caracteristică mai - eliminarea conținutului nedokachannyh:

system.method.set_key = event.download.erased. rm_files, "ramură = d.get_custom1 =" execute = ""

Eveniment îndepărtarea injecție (dublu Ctrl + D pe consola client), se verifică dacă câmpul este umplut CUSTOM1, dacă este umplut - atunci nedokachannyh torrent și mv comanda la / RM (în scopuri de depanare și poate fi îndepărtată comanda -r imediat rm). Dacă te-a lovit torrent, după cum ne amintim, el a șters câmpul CUSTOM1, iar apoi ștergeți torentul încărcat de pe lista din clientul nu șterge fișierele.

Obiectivul 3 și 4

definește condițiile pentru a atinge raportul (min și max - în procente) pentru închiderea injecției:

ratio.enable =
ratio.min.set = 150
ratio.max.set = 300
ratio.upload.set = 20M
system.method.set = group.seeding.ratio.command. „Executare =

/scripts/rt_finished,$d.get_base_path=,$d.get_tied_to_file=“, d.close =, d.erase =

Iată de ce este deja method.set. în schimb method.set_key. Magic.

Pentru a realiza un raport de 1,5, numit personalizat-script, acesta este trecut la conținutul și modul în care torrente-fișier, script-ul lucra - si numit d.close = d.erase =, pompare aproape complet dispare de la client, eliminat .torrent-fișier există doar conținut.

Este important să rețineți că codul de ieșire script-ul afectează comportamentul echipei, dacă te duci cu „ieșire 1“, clientul va afișa un mesaj de eroare pe consola și descărcarea nu va elimina.
Uneori doriți să ștergeți (aproape) gata pentru a descărca de pe lista manual, dar script-ul a lucrat ca și cum acesta ar fi dostingut raportul 1.5. La aceasta se adaugă un șir de caractere
system.method.set_key = event.download.erased, mv_film, "ramură = $ d.get_complete =," executa =

Ie Eveniment porțiune șterse 2 este acum îndeplinește config: rm_files și mv_film. Dar ei au condiții diferite: prima șterge injecție nedokachannye pe baza câmpului get_custom1, al doilea transmite script-ul de descărcare pentru prelucrare pe baza get_complete de pavilion

program = throttle_1,18: 00: 00.24: 00: 00, download_rate = 1500
program = throttle_2,00: 00: 00.18: 00: 00, download_rate = 3000

Zi și noapte, când toate la locul de muncă - pentru alevinii completă, 3MB / s, în seara - pentru a încetini.

Realizarea acestui obiectiv în întregime personalizat-script (a se vedea, de asemenea, mai jos UPD).

Pentru filme au fost transferate într-un dosar separat, în formularea unei noi injecție nu ar trebui să fie numit leneș și plin de nume de fișier-română .torrent a filmului. În cazul în care script-ul nu găsește scrisori românești - el decide să sortarea și complete.

Aici trebuie remarcat faptul că rTorrent va aștepta finalizarea scenariului, iar în cazul în care filmul este transferat într-un alt client podvisnet FS până când fișierul este mutat.

#! / Bin / sh
dacă [ "$ 1" = ""] || [ "$ 2" = ""]; atunci
echo „Utilizare: $ cu 0 "
ieșire 1
Fi
Dirname = `dirname $ 0`
SORTING_LOCATION = "/ FOLII / sortare"
LOGNAME = $ dirname / rt_finished.log
# Numele .torrent-fișier fără extensia .torrent
LEGAL_NAME = `basename "$ 2" | sed 's / \. $ torent //' `
# Au litere românești înseamnă torrent numit manual
ACCEPTED_FOR_MOVE = `echo "$ LEGAL_NAME" | grep -OE "[a-nk-I] +" | WC -l`
# Anul ne uităm la fișierul numele original / folder
AN = `echo "$ 1" | grep -oEi "(\ b (2 [0-1] [0-9] | 19 [0-9]) \ b)" `
Extension = `echo "$ 1" | grep -oEi "\ ([a-Z0-9]) \ s * $." | grep -oEi "([a-Z0-9])" `
EXTLIST = "Avi | mkv"
în cazul în care [. -e "$ 1"]; atunci
echo fișier $ 1 nu există >> $ LOGNAME
ieșire 1
Fi;
în cazul în care [-f "$ 1"]; atunci
IS_FILM = `echo "| $ EXTLIST |" | grep "| $ EXTENSIE |" | WC -l`
altfel
= IS_FILM `ls "$ 1" | grep -R "\ ($ EXTLIST)." | WC -l`
Fi
în cazul în care [ "$ AN" = ""!]; atunci
LEGAL_NAME = "$ LEGAL_NAME ($ AN)"
Fi
Mută ​​până în prezent numai filmele
dacă [$ IS_FILM = 0]; atunci
echo "$ 1 nu un film" >> $ LOGNAME
ieșire 1
Fi
# Dop.usloviya aici pentru decizia de a muta: dimensiunea, numele nou
# Nu mutați filmul dacă nu litere românești în numele fișierului torrent!
dacă [$ ACCEPTED_FOR_MOVE = 0]; atunci
echo "$ LEGAL_NAME nu a fost acceptat pentru mutare" >> $ LOGNAME
exit 0 # pentru a merge mai bine cu starea 0, în caz contrar torrentul este nevoie ca o greșeală
Fi
NEW_LOCATION = "$ SORTING_LOCATION / $ LEGAL_NAME"
în cazul în care [ "$ EXTENSIE" = ""!]; atunci
NEW_LOCATION = "$ NEW_LOCATION. $ EXTENSIE"
Fi
echo "Mutare $ 1 la" $ NEW_LOCATION "($ IS_FILM, $ EXTENSIE, $ anul)" >> $ LOGNAME
# Mutați filmul într-un dosar pentru sortare
mv "$ 1" "$ NEW_LOCATION"

mic bonus

pentru depanare evenimente și comenzi config convenabil de a utiliza consola client în sine, se poate executa comenzi mânere, trebuie doar să selectați săgeata unele dintre descărcările de pe listă și apăsați pe Ctrl + X, deschideți un prompt de comandă.

poate fi administrat, de exemplu,

imprima = $ d.get_loaded_file =
d.stop =
imprimare = "$ execute_capture = basename, $ d.get_loaded_file ="

Un alt truc: uneori, ai pus un teanc de fișiere să se balanseze, și este necesar ca una dintre ele (de exemplu un film, care este acum de gând să se uite) Descărcați cât mai repede posibil. Atunci ai pus totul pe pauza (Ctrl + K), și să înceapă să urmărească în liniște (mai ales în cazul în care pompele de torrent în serie). Dar, apoi, din nou, alene alerga pentru a urca toate celelalte torrentele, sau chiar posibil să se uite.
Aceasta ajută această linie de configurare
system.method.set_key = event.download.finished, unpause_next, "d.multicall =, d.check_start ="

Ea injecție este terminată, se scoate din restul pauzei.

Am vrut să dau seama cum să facă, pentru a trage un fișier la un moment dat, dar nu a stăpânit.

Și, uneori, lumina casa este oprit și un server rigid tăiat în jos cu Dev (UPS-ul nu este suficient, iar feedback-ul de la un server nu trebuie să ramburseze), atunci când lumina este dat - un server începe, începe virtualke, dar asta e client de torrent după cum accidente a trebuit să fug mâinile. Acum, cu toate acestea, el a ajuns la mâinile sale, și am prescris în /etc/rc.local linia următoare:
sudo -u ecran myusername -UdmS rTorrent / bin / bash / home / myusername / script-uri / run_rtorrent

Această linie rulează sub ecran de meu sesiunea de utilizator ca un demon. și în ea - el rTorrent. Și când mă duc în consolă, pot deschide acest ecran de la client este deja în execuție.

UPD. Actualizare Obiectivul articolului 6.
În primul rând, de fiecare dată de asteptare .torrent numele corect al filmului incomod, și în al doilea rând, este posibil să se facă o greșeală în titlu și, în al treilea rând, orice tip de film torrent russkonazvanny este considerat, este încă greșit.
Și totuși, este necesar să se intarca transferul script-ul atârnă de client de torrent și interfața web la momentul transferului la un alt sistem de fișiere.

Prin urmare, în cazul în care a fost introdus de artilerie mai grea decât bash scripting: PHP + Lieb BEncode / BDecode.
mai complicat php-script în loc de original bash-skriptik a fost scris.
Functiile sale sunt:
- decodarea informației meta din .torrent-fișier
- a primit o listă de fișiere torrent și definiția acesteia, dacă descărcarea unui film ca
- obține adresa URL din câmpul de comentariu, rutrekere HHM și în cazul în care magazinul de club link-uri către posturi
- obtinerea de câmp HTML specificat Urlu, selecția titlurilor sale de film</p> <p>De asemenea, de la torent metainformațiile determinat de ani de eliberare a filmului. Ca rezultat, fără prea mult tam-tam, avem o căutare automată a titlului filmului românesc și anul, și este utilizat pentru formarea unui titlu de film normal, atunci când transferul în dosarul de destinație.</p> <p>În cazul în care script-ul a definit tot ce este necesar pentru transferul (altfel el scuipă diferite exit-coduri), apoi se trece la acțiune: proces forkan, părinte returnează 0 (ca totul este OK), copilul desfășoară în condiții de siguranță filmul pe un alt sistem de fișiere.<br> Acest lucru previne clientul torrent hang; A fost deosebit de neplăcut atunci când transferul de filme HD suveică.</p> <p>UPD2:<br> Unele comenzi executate de către Ctrl + X<br> comanda> ui.current_view.set = oprit # comuta la vizualizarea oprit<br> comandă> d.multicall =, = # d.start rula toate descărcările oprit<br> comandă> d.multicall = oprit, d.start = # rula toate download-uri oprit în caseta oprit</p> </div> <div class="extra"> <div class="clear"></div> </div> </article> </div> </div> </div> </div> <div id="sidebar" class="col-1-3"> <div class="wrap-col"> <div class="box"> <div class="content"> <ul> <li><a href="/articles/hanorace-selfie-si-emoji-un-cuvant-nou-in-limba.html">Hanorace, selfie și emoji - un cuvânt nou în limba germană (imagini), studiu, dw</a></li> <li><a href="/articles/cum-se-instaleaza-usi-glisante-pentru-recomandari.html">Cum se instalează uși glisante pentru recomandări de instalare</a></li> <li><a href="/articles/encoding-aceasta.html">Encoding - aceasta</a></li> <li><a href="/articles/de-ce-am-nevoie-pentru-a-invata-sa-te-trezesti.html">De ce am nevoie pentru a învăța să te trezești devreme</a></li> <li><a href="/articles/apex-aceasta.html">Apex - aceasta</a></li> </ul> </div> </div> </div> </div> </div> </div> </section> <footer> <div class="wrap-footer pominodiko"> <div class="row"> <div class="col-1-1"> <div class="wrap-col"> <div class="box"> <div class="content"> <ul> <li><a href="/articles/cel-mai-prost-smartphone-uri-in-2018-nu-este-cu.html">Cel mai prost smartphone-uri în 2018 nu este cu siguranță supă, care este în valoare de o privire mai atentă</a></li> <li><a href="/articles/femeile-folosesc-produse-cosmetice.html">Femeile folosesc produse cosmetice</a></li> <li><a href="/articles/competenta-autonomiei-locale.html">Competența autonomiei locale</a></li> <li><a href="/articles/hidrogenul-densitate-chimist-de-referinta-21.html">Hidrogenul Densitate - chimist de referință 21</a></li> <li><a href="/articles/se-introduce-organizarea-teritoriala-a-populatiei.html">Se introduce organizarea teritorială a populației în științele</a></li> <li><a href="/articles/argumente-wpentru-si-wcontra-pedeapsa-cu-moartea-l.html">Argumente „pentru“ și „contra“ pedeapsa cu moartea - l</a></li> </ul> <br> <a href="/privacy.html">Politica de confidențialitate</a> </div> </div> </div> </div> </div> </div> <div class="copyright"> <p>Copyright © 2024</p> <br> <ul> <li><a href="/articles/aur-manichiura-2018-cu-un-design-alb-negru-cu.html">Aur manichiura 2018 cu un design alb-negru cu pietre și sacou cu aur</a></li> <li><a href="/articles/creme-pentru-corp-ecolab-o-comparatie-de-produse.html">Creme pentru corp Ecolab - o comparație de produse cosmetice</a></li> <li><a href="/articles/miere-naturala-gume-de-sanatate-si-gura-reteta-de.html">Miere naturală gume de sănătate și gura (reteta de sănătate cu miere)</a></li> <li><a href="/articles/cum-de-a-prelungi-durata-de-viata-a-florilor-2.html">Cum de a prelungi durata de viață a florilor</a></li> <li><a href="/articles/moscoviti-sase-secrete-bougainvillea.html">Moscoviți - șase secrete bougainvillea</a></li> <li><a href="/articles/chevrolet-tracker-2018-configuratie-si.html">Chevrolet tracker 2018 configurație și specificații</a></li> <li><a href="/articles/placi-de-ceramica-electrice.html">placi de ceramica electrice</a></li> </ul> </div> </footer></div> </body> </html>