Чужденци в кошер настройка rtorrent и обясненията на конфигурационния
Кошер настройка rtorrent и обяснения конфигурационния .rtorrent.rc
Днес ние ще конфигурира конзолата rTorrent (конфигурационния файл на
Синтаксисът за конфигурационния файл е много специфична и пълна документация в интернет, за да намерите, защото както аз разбирам, преразказват.
Нека започнем с настройките по подразбиране:
график = watch_directory, 5, 5, "load_start = / RTORRENT / newtorrents / *. торент, d.set_custom1 = / RTORRENT / НАПРАВИ /"
Тази команда на всеки 5 секунди, проверете в папката / RTORRENT / newtorrents /, отворен пълен достъп, за нови торентни файлове. d.set_custom1 е отбор, който пази за всеки торент, окончателната дестинация папка (където тя ще бъде прехвърлена след инжектирането), по ще бъде под "Цел 2". Също така е удобно, за да получите да се наблюдава няколко папки.
Например човек може да напише такова конфигурационния Онлайн отделно за newtorrents / филми, newtorrents / игри и т.н. и за всеки регистрирате неговата крайна дестинация.
Fuck знае защо на 5 секунди, определени от 2 пъти, но вместо watch_directory да напишете нещо, този идентификатор, за да измислят сами.
Като цяло, наличните команди са на форма "г.
Има една група от команди за някои стойности, те се различават по това, че започва с "$ г.", Например "$ d.get_name =". Край като знак "=". $ Изглежда, че означава, че обаждането трябва да се върне стойността, а не само да се извърши някакво действие.
Както се вижда от списъка, има 6 потребителски полета, които могат да бъдат определени с помощта на техните нужди:
Индексът на 42 String: "d.custom1"
Индексът на 43 String: "d.custom1.set"
Т.е. Екипът d.set_custom1 горе име е взето от булдозера.
Ако има опция за ".set" означава областта може да се настрои, в този случай, командата се изписва като "d.set_ tied_to_file = / име на файл", ако не, то полето е само за четене, а след това да я използват само като "$ d.get_ tied_to_file = ".
За постигането на Цел 1 остава при изтегляне на нов трансфер торент го-.torrent файл в друга папка нишка, така че той изчезна от погледа на обществеността, и това беше ясно, че той е взет.
Ние използваме следната команда
system.method.set_key = event.download.inserted_new. move_loaded "изпълни = СрН, -u, $ d.get_loaded_file =, $ d.get_meta_path =; d.set_tied_to_file = $ d.get_meta_path ="
Тук, в сърцето ми, което не разбирам, когато правя тези магически заклинания (подчертани), move_loaded - отново идентификатор обмислено от булдозера, а след това идва командата: изпълни - изпълнена с черупки команда, параметрите са изброени, разделени със запетая. Екип движи .torrent файл (път да се върне обаждането до $ d.get_loaded_file =) на ново място - $ d.get_meta_path = (това е метод на клиента се връща пълния път до .torrent файл в нова папка се създава ръчно, вижте по-долу ) и запетая топене бележи края на текущата команда, както и в UNIX-черупка. Можете да пишете много отбори в един ред.
В края на Стария актуализация за торент: d.set_tied_to_file = $ d.get_meta_path =, то се инсталира в нов начин за tied_to_file .torrent файл.
Новият метод е създаден, както следва:
system.method.insert = d.get_loaded_basename, низ | проста. "Execute_capture = basename, $ d.get_loaded_file ="
system.method.insert = d.get_meta_path, просто. "Cat = / RTORRENT / поток /, $ d.get_loaded_basename ="
Първият метод връща basename торент файл, а втората добавка към него го в нова папка, в която съхранява временно на торент файлове.
Имената и d.get_loaded_basename d.get_meta_path изобретени от булдозера, но с оглед на съществуващите методи. "D." тях за съгласуваност с останалите. Презаписване на съществуващи не съм опитвал, но мисля, че нищо полезно ще дойде.
За да прехвърлите изтеглено съдържание в папка за довършителни работи, използвайте event.download.hash_done на събитието. Но първо, ръководител на няколко помощник методи:
system.method.insert = movecheck1, просто. "А ="
system.method.insert = movedir1, просто. "D.set_directory = $ d.get_custom1 =; изпълни = СрН, -u, $ d.get_base_path =, $ d.get_custom1 =; d.set_custom1 =; d.stop =; d.start ="
Първата проверка е готов наистина торент и дали той има папка.
Втората инжекция всъщност инсталира папка от област custom1, трансфери съдържание в тази папка изтрива custom1 поле (това е важно за други функции), и се рестартира (старт / стоп), за да актуализирате цялата Infa (XS цяло, аз не помня защо).
Е, стартирайте го цялото великолепие на събитието:
system.method.set_key = event.download.hash_done. move_hashed1 "клон ="
Аз не разбирам каква роля тук играе, работа, и без тях, но си струва да се отбележи, че movecheck1 написано с "$", за това се получи обаждане връща булев и movedir1 = - без "$", защото това е предизвикателство, на екипа.
Ето запиша още една функция - премахване nedokachannyh съдържание:
system.method.set_key = event.download.erased. rm_files ", клон = d.get_custom1 =" изпълни = ""
Събитие премахване на инжектиране (двойна Ctrl + D на клиент конзолата), тя се проверява дали полето е попълнено custom1, ако попълнено - тогава nedokachannyh торент и командния МПС да / RM (за отстраняване на грешки цели и могат да бъдат отстранени веднага RM -r команда). Ако ви удари торента, както си спомняме, той изтри custom1 поле, и след това изтрийте качен торент от списъка в клиентът не изтрива файлове.
Цел 3 и 4
определя условията за постигане на съотношение (мин и макс - в процент) за затваряне на инжектиране:
ratio.enable =
ratio.min.set = 150
ratio.max.set = 300
ratio.upload.set = 20M
system.method.set = group.seeding.ratio.command. "Изпълнение =
/scripts/rt_finished,$d.get_base_path=,$d.get_tied_to_file= ", d.close =, = d.erase
Ето защо тя вече method.set. вместо method.set_key. Магия.
За да се постигне съотношение 1.5, наречен по поръчка скрипт, то се предава на съдържанието и начина, по който .torrent файл-, скриптът работи - и призова d.close = d.erase =, изпомпване близо напълно изчезва от клиента, отстранен .torrent файл има само съдържание.
Важно е да се отбележи, че кодът на сценария за излизане се отразява на поведението на екипа, ако отидете с "изход 1", клиентът ще се покаже съобщение за грешка на конзолата и мишката няма да премахне.
Понякога искате да изтриете (в близост) е готов да се изтегли от списъка ръчно, но сценария е работил като че ли dostingut съотношение 1.5. Към това трябва да добавите низ
system.method.set_key = event.download.erased, mv_film ", клон = $ d.get_complete =" изпълни =
Т.е. Събитие изтриват част 2 е вече изпълнява довереник: rm_files и mv_film. Но те имат различни условия: първо изтрива nedokachannye инжектиране въз основа на поле get_custom1, втората предава изтегляне скрипт за обработка на базата на get_complete на знамето
график = throttle_1,18: 00: 00,24: 00: 00, download_rate = 1500
график = throttle_2,00: 00: 00,18: 00: 00, download_rate = 3000
Нощ и ден, когато всички по време на работа - за пълния запържва, 3Mb / сек, а вечер - да се забави.
Реализацията на тази цел изцяло по поръчка скрипт (виж също по-долу UPD).
За филми са били прехвърлени на отделна папка, при формулирането на нова инжекция не трябва да се нарича мързелив и пълен с .torrent файл-български името на филма. Ако скриптът не се намери български букви - той решава да сортиране и пълна.
Тук трябва да се отбележи, че rtorrent ще изчака завършването на сценария и ако филмът е прехвърлено на друг клиент podvisnet FS докато файлът се премества.
#! / Bin / ш
ако [ "$ 1" = ""] || [ "$ 2" = ""]; след това
ехо "Употреба: 0 $
изход 1
Fi
DIRNAME = `dirname $ 0`
SORTING_LOCATION = "/ ФИЛМИ / сортиране"
LOGNAME = $ DIRNAME / rt_finished.log
# Име на .torrent файл без разширение .torrent
LEGAL_NAME = `basename" $ 2 "| SED е / \. $ торент // "`
Имат ли българските букви, така нареченото ръководство торент
ACCEPTED_FOR_MOVE = `ехо" $ LEGAL_NAME "| Впиши -oE "[а-NK-I] +" | тоалетна -l`
# Година ние търсим най-оригиналния файл име / папка
ГОДИНА = `ехо" $ 1 "| Впиши -oEi "(\ б (2 [0-1] [0-9] | 19 [0-9]) \ б)" `
РАЗШИРЕНИЕ = `ехо" $ 1 "| Впиши -oEi "\ ([а-0-9]) \ е * $." | Впиши -oEi "([а-Z0-9])" `
EXTLIST = "АВИ | MKV"
ако [. -E "$ 1"]; след това
ехо файл $ 1 не съществува >> $ LOGNAME
изход 1
Fi;
ако [-f "$ 1"]; след това
IS_FILM = `ехо" | $ EXTLIST | " | Впиши "| $ РАЗШИРЕНИЕ |" | тоалетна -l`
още
IS_FILM = `LS" $ 1 "| Впиши -Е "\ ($ EXTLIST)." | тоалетна -l`
Fi
ако [ "$ ГОДИНА" = ""!]; след това
LEGAL_NAME = "$ LEGAL_NAME ($ годишно)"
Fi
Премества досега само филми
ако [$ IS_FILM = 0]; след това
ехо "$ 1 не е филм" >> $ LOGNAME
изход 1
Fi
# Dop.usloviya тук за решението да се движат: размера, новото име
# Не мърдай филма, ако няма български букви в името на файла, торент!
ако [$ ACCEPTED_FOR_MOVE = 0]; след това
ехо "$ LEGAL_NAME не се приема за движение" >> $ LOGNAME
изход 0 # да отиде по-добре със статут 0, в противен случай торента го приема като грешка
Fi
NEW_LOCATION = "$ SORTING_LOCATION / $ LEGAL_NAME"
ако [ "$ РАЗШИРЕНИЕ" = ""!]; след това
NEW_LOCATION = "$ NEW_LOCATION. $ РАЗШИРЕНИЕ"
Fi
ехо "Преместване $ 1 до" $ NEW_LOCATION "($ IS_FILM, $ РАЗШИРЕНИЕ, $ годишно)" >> $ LOGNAME
# Преместване на филма в папка за сортиране
MV "$ 1" "$ NEW_LOCATION"
малък бонус
за отстраняване на грешки на събития и команди Config удобен за използване клиент конзола себе си, тя може да изпълнява команди дръжки, просто изберете стрелката някои изтегляния от списъка и натиснете Ctrl + X, отворите команден ред.
може да се прилага, например,
отпечатате = $ d.get_loaded_file =
d.stop =
печат = "$ execute_capture = basename, $ d.get_loaded_file ="
Друг трик: понякога ви постави куп файлове, за да се люлеят, и че е необходимо, че един от тях (например филм, който сега ще изглежда) Изтеглете възможно най-бързо. След това ще ви постави всичко останало на почивката (Ctrl + K), и започват да гледат спокойно (особено ако торента помпи в серия). Но след това отново, лениво тече да се изкачи всички останали пороите, или дори е възможно да се забрави.
Тя помага на този конфигурационен линия
system.method.set_key = event.download.finished, unpause_next "d.multicall =, d.check_start ="
Тя инжекция приключи, извадете от останалата част на паузата.
Исках да разбера как да се направи, за да стреля един файл в даден момент, но не усвоили.
И понякога светлината на къщата е изключен и сървъра строго ограничаване с Dev (на UPS не е достатъчно, и обратна връзка от сървър тя не трябва да изплати), когато светлината се дава - на сървъра започва, започва virtualke, но това е торент клиент, след като злополуки аз трябваше да тичам ръцете си. Сега, обаче, той достига ръцете си, и аз, предписан в /etc/rc.local следния ред:
Sudo -u myusername екран -UdmS rtorrent / хамбар / Баш / Начало / myusername / скриптове / run_rtorrent
Тази линия минава под моя екран от сесията на потребителя като демон. и в него - rtorrent той. И когато отида в конзолата, не мога да отворя този екран от клиента вече се изпълнява.
UPD. Актуализация т Цел 6.
На първо място, всеки път, когато се обадите .torrent правилното име на филма неудобно, и второ, че е възможно да се направи грешка в заглавието и на трето място, се счита всяко russkonazvanny тип торент филм, все още е грешно.
И все пак, че е необходимо да се отбива прехвърлянето на скрипта виси торент клиент и уеб интерфейса към момента на прехвърляне на друга файлова система.
Ето защо, в случай, че е въведена по-тежка артилерия от Баш скриптове: PHP + Лииб BEncode / BDecode.
по-сложно PHP-скрипт, вместо първоначалния Баш-skriptik е написана.
Неговите функции са:
- декодиране на мета информация от .torrent файл
- получаване на списък с торент файл и определянето на това, дали изтеглянето на филм като
- получите URL от коментара поле, rutrekere HHM и клуб магазин, където връзки към публикации
- получаване на HTML поле
Също така от metainfo торент определя от година на освобождаване на филма. В резултат на това без много шум, ние имаме на автоматично търсене на българските филмови заглавия и годината, и се използва за формиране на нормален заглавие на филм при прехвърляне на папка.
Ако сценарият е определил всичко, което е необходимо за прехвърляне (в противен случай той плюе различни изходни кодове), след това се пристъпи към действие: forkan процес, родител се връща 0 (като всичко е ОК), дете безопасно носи филма на различна файлова система.
Това предотвратява вися торент клиента; Това е особено неприятно, когато се прехвърля на HD филми на макарата.
UPD2:
Някои команди се изпълняват от Ctrl + X
команда> ui.current_view.set = спря # превключи към преглед спря
команда> d.multicall =, d.start = # тече всичко спря сваляния
команда> d.multicall = спря, d.start = # изпълняват всичките спря сваляния в полето спря