NMT-200 ЧаВо

В кои-то веки возникла необходимость достучаться снаружи до интерфейса домашней качалки на медиаплеере. К сожалению Web-интерфейс ввиду узости канала оказался недоступен. Живой остался только ssh-доступ сквозь рутер на C-200.
Вспомнив, что со штатным Transmission была утилитка, позволяющая работать с командной строки, я достаточно быстро ее освоил.
Лично у меня стоит Transmission 2.13 из комплекта LTU (заменяющий штатный Transmission 1.75), но подобным методом можно управлять и более свежими Transmission, поставленными отдельно через CSI.

transmission-remote

Лежит эта «прелесть» рядом с основным демоном Transmission (transmission-daemon) в папке /nmt/apps/bin
Что он умеет? Почти все, но без красивого GUI-интерфейса. transmission-remote, как и все остальные управлялки, взаимодействует с основным демоном по rpc.

Полная справка по командам transmission-remote выдается по ключику -h (или при запуске без параметров):

PCH-C200[~]# /nmt/apps/bin/transmission-remote
Transmission 1.75 (9117)  http://www.transmissionbt.com/
A fast and easy BitTorrent client

Usage: transmission-remote [host] [options]
       transmission-remote [port] [options]
       transmission-remote [host:port] [options]

See the man page for detailed explanations and many examples.

Options:
  -h   --help                                        Display this help page and exit
  -a   --add                                         Add torrent files by filename or URL
  -as  --alt-speed                                   Use the alternate Limits
  -AS  --no-alt-speed                                Don't use the alternate Limits
  -asd --alt-speed-downlimit    <speed>              max alternate download speed (in KB/s)
  -asu --alt-speed-uplimit      <speed>              max alternate upload speed (in KB/s)
  -asc --alt-speed-scheduler                         Use the scheduled on/off times
  -ASC --no-alt-speed-scheduler                      Don't use the scheduled on/off times
       --alt-speed-time-begin   <time>               Time to start using the alt speed limits (in hhmm)
       --alt-speed-time-end     <time>               Time to stop using the alt speed limits (in hhmm)
       --alt-speed-days         <days>               Numbers for any/all days of the week - eg. "1-7"
  -b   --debug                                       Print debugging information
  -d   --downlimit              <speed>              Set the maximum global download speed in KB/s
  -D   --no-downlimit                                Don't limit the global download speed
  -er  --encryption-required                         Encrypt all peer connections
  -ep  --encryption-preferred                        Prefer encrypted peer connections
  -et  --encryption-tolerated                        Prefer unencrypted peer connections
  -f   --files                                       List the current torrent(s)' files
  -g   --get                    <files>              Mark files for download
  -G   --no-get                 <files>              Mark files for not downloading
  -i   --info                                        Show the current torrent(s)' details
  -j   --syabas-settings                             Show the session's settings
  -k   --syabas-print-list                           List all torrents and print detailed information for NMT
  -si  --session-info                                Show the session's details
  -st  --session-stats                               Show the session's statistics
  -l   --list                                        List all torrents
       --move                   <path>               Move current torrent's data to a new folder
       --find                   <path>               Tell Transmission where to find a torrent's data
  -m   --portmap                                     Enable portmapping via NAT-PMP or UPnP
  -M   --no-portmap                                  Disable portmapping
  -n   --auth                   <username:password>  Set authentication info
  -N   --netrc                  <filename>           Set authentication info from a .netrc file
  -o   --dht                                         Enable distributed hash tables (DHT)
  -O   --no-dht                                      Disable distributed hash tables (DHT)
  -p   --port                   <port>               Port for incoming peers (Default: 51413)
  -P   --random-port                                 Random port for incomping peers
  -ph  --priority-high          <files>              Set the files' priorities as high
  -pn  --priority-normal        <files>              Set the files' priorities as normal
  -pl  --priority-low           <files>              Set the files' priorities as low
  -r   --remove                                      Remove the current torrent(s)
  -pr  --peers                  <max>                Set the current torrent(s)' maximum number of peers each
  -gpr --global-peers           <max>                Set the global maximum number of peers
       --remove-and-delete                           Remove the current torrent(s) and delete local data
  -sr  --seedratio              ratio                Let the current torrent(s) seed until a specific ratio
  -srd --seedratio-default                           Let the current torrent(s) use the global seedratio settings
  -SR  --no-seedratio                                Let the current torrent(s) seed regardless of ratio
  -gsr --global-seedratio       ratio                All torrents, unless overridden by a per-torrent setting, should seed until a specific ratio
  -GSR --no-global-seedratio                         All torrents, unless overridden by a per-torrent setting, should seed regardless of ratio
  -s   --start                                       Start the current torrent(s)
  -S   --stop                                        Stop the current torrent(s)
  -t   --torrent                <torrent>            Set the current torrent(s)
  -u   --uplimit                <speed>              Set the maximum global upload speed in KB/s
  -U   --no-uplimit                                  Don't limit the global upload speed
  -v   --verify                                      Verify the current torrent(s)
  -V   --version                                     Show version number and exit
  -w   --download-dir           <path>               Set the default download folder
  -x   --pex                                         Enable peer exchange (PEX)
  -X   --no-pex                                      Disable peer exchange (PEX)
  -pi  --peer-info                                   List the current torrent(s)' peers

Без указания в параметрах IP-адреса и порта хоста, на котором расположен демон, transmission-remote пытается подключиться к локальному хосту по известным ему портам.
Так как у меня версия демона 2.13 (LTU) и конфигурация соответствует штатной (порт 8077), я могу пропустить явное указание хоста и порта при подаче команд.
Например, для меня команды

/nmt/apps/bin/transmission-remote 192.168.1.2:8077 -si

и

/nmt/apps/bin/transmission-remote -si

равнозначны и выведут один и тот же результат:

VERSION
  Daemon version: 2.13 (11501)
  RPC version: 11
  RPC minimum version: 1

TRANSFER
  Download directory: /Transcend/Download/Concert
  Listenport: 50520
  Portforwarding enabled: Yes
  Peer exchange allowed: Yes
  Encryption: preferred

LIMITS
  Peer limit: 100
  Upload speed limit: Unlimited  (Disabled limit: 100 KB/s; Disabled turtle limit: 300 KB/s)
  Download speed limit: Unlimited  (Disabled limit: 1000 KB/s; Disabled turtle limit: 600 KB/s)

Мне потребовалось остановить один из качающихся торрентов, с тем чтобы быстрее доехала нужная мне закачка.
Полный список торрентов выдается по команде

transmission-remote -l

Чтобы не увязнуть в большом списке, лучше ограничить вывод только тех файлов, которые в настоящий момент загружаются, то есть присутствует в статусе «Download». Для этого есть grep в конвейере обработки вывода:

/nmt/apps/bin/transmission-remote -l | grep Down
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
  45    89%    36.4 GB  8 days       0.0     6.0   0.02  Up & Down    Солоxxxxxxx
  61    45%    10.8 GB  1 days       0.0    94.0   0.00  Downloading  Big.Sxxxxxxx
  66    74%    12.9 GB  6 hrs        0.0   200.0   0.04  Downloading  EV Fxxxxxxx
 249    57%     7.0 GB  14 hrs       7.0   106.0   0.30  Up & Down    Battxxxxxxx

Команды управления требуют указания ID торрента, который передается в ключике «-t». Мне нужно остановить закачку под номером 249. Ключ для стопа «-S»:

/nmt/apps/bin/transmission-remote -t 249 -S
localhost:8077 responded: "success"

Проверю текущую картинку:

/nmt/apps/bin/transmission-remote -l | grep Down
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
  45    89%    36.4 GB  25 days      0.0     2.0   0.02  Up & Down    Солоххххххх
  61    45%    10.8 GB  1 days       0.0   133.0   0.00  Downloading  Big.Sххххххх
  66    74%    12.9 GB  5 hrs        0.0   260.0   0.04  Downloading  EV Fххххххх

Все — нужный торрент остановлен.

Можно просмотреть пофайлово состав торрента и прогресс их закачки (ключ -f), например:

/nmt/apps/bin/transmission-remote -t 66 -f
EV FIN (9 files):
  #  Done Priority Get      Size  Name
  0: 100% Normal   Yes  140.1 KB  EV FIx/BDMV/ххх.clpi
  1: 100% Normal   Yes 690 bytes  EV FIx/BDMV/ххх.mpls
  2: 100% Normal   Yes 290 bytes  EV FIx/BDMV/ххх.bdmv
  3: 100% Normal   Yes 120 bytes  EV FIx/BDMV/ххх.bdmv
  4: 100% Normal   Yes  140.1 KB  EV FIx/BDMV/ххх.clpi
  5: 100% Normal   Yes 690 bytes  EV FIx/BDMV/ххх.mpls
  6:  92% Normal   Yes   17.4 GB  EV FIx/BDMV/ххх.m2ts
  7: 100% Normal   Yes 290 bytes  EV FIx/BDMV/ххх.bdmv
  8: 100% Normal   Yes 120 bytes  EV FIx/BDMV/ххх.bdmv

Можно получить детальную информацию по указанному торренту (ключ -i)

/nmt/apps/bin/transmission-remote -t 66 -i
NAME
  Id: 66
  Name: EV Fx
  Hash: ffffbdffff2fffafffb2fffdfff6ffffffffffff

TRANSFER
  State: Downloading
  Location: /Transcend/Download/Concert
  Percent Done: 93.2%
  ETA: 1 hour, 26 minutes
  Download Speed: 238.0 KB/s
  Upload Speed: 0.0 KB/s
  Have: 16.2 GB (16.2 GB verified)
  Total size: 17.4 GB (17.4 GB wanted)
  Downloaded: 16.2 GB
  Uploaded: 546.3 MB
  Ratio: 0.03
  Corrupt DL: 16.0 MB
  Peers: connected to 29, uploading to 0, downloading from 29

HISTORY
  Date added:      Tue May 17 13:13:15 2011
  Date started:    Tue May 17 23:53:23 2011
  Latest activity: Wed May 18 16:00:47 2011

TRACKER

ORIGINS
  Date created: Mon May 16 22:18:44 2011
  Public torrent: No
  Creator: fffinfff
  Piece Count: 4446
  Piece Size: 4194304

PIECES
  11110111 11111111 11111111 11101111 11111011 11111111 11111111 11111111
.... пропущена продолжительная битовая маска загруженных кусочков торрента.
Именно по ней другие WEB-управлялки рисуют красивую графическую
штрихованную полоску.

C помощью transmission-remote можно менять приоритет отдельно взятым файлам (ключики -ph -pn -pl с указанием ID файла). Можно менять (не на ходу, естественно, а сначала остановить) каталог загрузки для выбранного торрента (—move /путь куда двигать).


Конечно, версия transmission-remote (1.75) достаточно древняя и не позволяет управлять некоторыми новшествами (например, приоритет на уровне торрентов). Но для оперативного вмешательства в ход процесса это вполне подходящий инструмент.

5 комментариев к этой записи

  • atom

    Я обычно коннекчусь по SSH к роутеру с пробросом трансмишновского порта (ssh root@ -p -L 8077:c200:8077) и затем — коннекчусь к localhost:8077 браузером либо transmission-qt(оно умеет как локально стартовать качалку, так и коннектиться к удалённой сессии). В любом случае получаю одинаковый интерфейс со всеми плюшками :) Канал практически не грузит.

  • atom

    хм, не отобразился текст с угловыми скобками… там должно быть вот так: ssh root@router_ip -pport -L 8077:c200:8077

    • WildFlexy

      Коннект через браузер, как и остальные GUI, использует периодические обращения к RPC-порту Transmission. И чем чаще период обновления (в настройке клиента), тем больше загруз.
      Я не скажу, что там дикий трафик, но в полевых условиях, например, когда узкий канал на стороне управляющего компа или обратный канал от Transmission забит на 100% отдачей, то нет ничего лучше старого доброго интерфейса командной строки. :)

  • pchuser

    Спасибо за статью. Полезная информация. Давно задумывался как управлять transmission при помощи ssh сессии.

  • Indoorser

    Здравствуйте.

    Во-первых, большое спасибо Padavan’у за проделанную работу и за LTU. Я практически полный лох в никсах, но новый 3Tb HDD теперь на ext3 и работает (для перелива всего пришлось-таки ставить Убунту и цеплять HDD к компу напрямую, но первчиную разметку HDD сделал Дюной (у меня D1).

    Вопросы (мини-версия пакета 0.4.6):
    1. pure-ftpd не дает ни писать, ни удалять файлы. Только читать. FTP клиент ругает, что команда STOR вызывает ошибку (пробовал FileZilla и FAR2.0). Родной дюнин FTP-сервер работает без проблем. Чувствую, что что-то не доконфигурил, или по дефолту что-то не так с правами доступа.
    2. Где smartmontools пишет лог? Слежу за температурой HDD и каждый раз для этого запускаю smartctl –a.
    3. Как узнать, что transmission использует uTP? GUI всегда показывает, что uTP-галка снята (неважно какой GUI – ее встроенный для IE или сторонний). Если ставлю галку uTP, жму “Save”, снова захожу на ту же страницу – галка снята. В файле-конфиге transmission uTP включил, но так же не могу понять – работает uTP или нет.
    4. Есть ли NFS-клиент под Windows XP, который поддерживает UTF-8 или как его настроить? Я поставил NFS-клиента из пакета утилит Unix Services for Windows (http://www.microsoft.com/download/en/details.aspx?id=274), примонтировал дюнову шару, файлы вижу, но имена – двойными кракозябрами (сразу видно, что юникод :) ). Ключ iocharset=utf8 у команды mount вызывает ошибку.

judi online terpercaya. Website
2010–2017 © NMT-200 ЧаВо