Strona 1 z 1

[+] Automatyczne usuwanie z listy - Transmission BT

: 17 grudnia 2013, 13:51
autor: harmichalh
Witam. Na serwerze mam zainstalowane Transmission i zarządzam nim przez webUI. W jaki sposób mogę ustawić automatyczne usuwanie pobranych torrentów z listy? W konfiguracji nie takiego nie widziałem.

: 17 grudnia 2013, 15:31
autor: Rafal_F
Takiej opcji nie ma, ale są opcje na limit ratio po osiągnięciu którego torrent jest puzowany:
  • ratio-limit: Number (default = 2.0)
  • ratio-limit-enabled: Boolean (default = false)

: 17 grudnia 2013, 15:52
autor: harmichalh
Te opcje znalazłem i ustawiłem. A jak napisać skrypt który będzie usuwał z listy pobrane torrent? Nie ma żadnych pluginów, które to robią?

: 17 grudnia 2013, 16:16
autor: Rafal_F
Skrypt można napisać. Musisz zainstalować pakiet:

Kod: Zaznacz cały

transmission-cli
Zawiera on klienta transmission-remote który może się połączyć z programem transmission-daemon.

Aby usunąć torrent należy wydać polecenie:

Kod: Zaznacz cały

transmission-remote -t ID -r
W skrypcie może być coś takiego:

Kod: Zaznacz cały

transmission-remote -t $TR_TORRENT_ID -r
W zależności od tego jak skonfigurowałeś transmission-daemon mogą być wymagane dodatkowe parametry w celu autoryzacji.

https://trac.transmissionbt.com/wiki/Scripts
http://manpages.ubuntu.com/manpages/luc ... ote.1.html

PS. Filozofia sieci P2P opiera się na udostępnianiu danych przez innych użytkowników. Dzięki temu można udostępnić i rozpowszechniać pliki bez korzystania z zewnętrznych serwerów, które kosztują. Można tak pobrać np obrazy płyt Debiana: http://www.debian.org/CD/torrent-cd/
Skoro kasujesz torrent zaraz po ściągnięciu tzn. że niewiele wysyłasz a to kłóci się z tą filozofią.

: 17 grudnia 2013, 16:36
autor: harmichalh
Ratio ustawiłem tak, żeby udostępniać 150% pliku, czyli więcej niż pobiorę, ale ze względu na wolne łączę chciałbym po udostępnieniu określonej ilości usunąć plik z listy (tym bardziej, że i tak już go nie udostępniam po 150%).

Skąd mam znać $TR_TORRENT_ID torrenta? Jak pobrać listę id torrentów, które już się skończyły pobierać i wysyłać i nic nie robią?

: 17 grudnia 2013, 16:49
autor: Rafal_F
Są 2 opcje dotyczące skryptów:
  • script-torrent-done-enabled: Boolean (default = false) Run a script at torrent completion.
  • script-torrent-done-filename: String (default = "") Path to script.
Pytanie tylko czy to dotyczy skończenia ściągania, czy skończenia ściągania i wysłania odpowiedniej porcji danych. Tego nie wiem, trzeba przetestować.

Co do zmiennych to z tego co ja rozumiem to one mają być już zdefiniowane. Skrypt zostaje wywołany automatycznie i powinny być zdefiniowane takie zmienne:
  • TR_APP_VERSION
  • TR_TIME_LOCALTIME
  • TR_TORRENT_DIR
  • TR_TORRENT_HASH
  • TR_TORRENT_ID
  • TR_TORRENT_NAME

Ty w skrypcie tylko z nich czytasz.

: 19 grudnia 2013, 12:35
autor: harmichalh
Próbowałem przetestować to i chciałem wyświetlić listę torrentów takim poleceniem:
transmission-remote "http://127.0.0.1:8000/torrents/web" -l
I otrzymałem taką odpowiedź:
<h1>405: Method Not Allowed</h1>plication/x-www-form-urlencoded
Po adresie http://192.168.11.4:8000/torrents/web/ łączę się z Transmission i wszystko działa. Logowanie wyłączyłem w ustawieniach.

: 19 grudnia 2013, 12:41
autor: Rafal_F
Spróbuj samo IP i port (i nie wiem czy cudzysłowy są potrzebne, spróbuj z, a jak nie zadziała to bez):

Kod: Zaznacz cały

transmission-remote "http://127.0.0.1:8000" -l

: 19 grudnia 2013, 13:08
autor: harmichalh
Pomogło.

Wszystko działa tak jak chciałem. Dziękuję za pomoc :)

: 19 grudnia 2013, 14:45
autor: harmichalh
Jednak coś przestało działać. Polecenie się wykonuje i zwraca coś takiego:
Unexpected response: <h1>301: Moved Permanently</h1>, gzipContent-Length: 76
Content-Type: application/x-www-form-urlencoded


{"arguments":{"delete-local-data":false,"ids":2},"method":"torrent-remove"}

A torrent dalej zostaje na liście

Skrypt:
transmission-remote "http://127.0.0.1:8000" -t $TR_TORRENT_ID -r