INT 21h

Transmission в консоли Linux

№ 7325 В разделе "Администрирование" от June 19th, 2015,

Выглядит круто. Устанавливается командой sudo apt-get install transmission-daemon transmission-cli transmission-remote-cli

transmission console

Демон стартует в фоне при запуске системы и является всего-лишь набором потоков для раздачи торрентов. Для управления ими он предоставляет специальное API, которые можно дергать программами из пакета transmission-cli. Также демону доступны такие опции как вход по логину и паролю. Я запускаю демона и клиентскую программу локально и поэтому не стал использовать эту функцию.

Любые настройки нужно делать только при остановленом демоне, т.к. при остановке он перезаписывает конфиг. Если изменили настройки прямо во время работы, то придется сделать reload сервису. Конфиг по умолчанию лежит тут /etc/transmission-daemon/settings.json. Настройки, на которые стоит обратить внимание:
"rpc-authentication-required": false,
"rpc-bind-address": "127.0.0.1",
"rpc-enabled": true,
"rpc-password": "{d6defb2ed95d57b5db020caaa2d934e0a7eb3639LgAGamFj",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,

Вот эти 2 параметра нужно обязательно изменить под себя. Пока раздача скачана не полностью она должна где-то храниться. По умолчанию делается всякая херня.

"incomplete-dir": "/var/tmp",
"incomplete-dir-enabled": false,

Вы видите, что пароль задан. Он не пустой даже не смотря на то, что он пустой 🙂 К нему, очевидно, добавляется соль, хешируется и сохраняется. Стираете это значение чтобы оно было пустым. Если пароль все-таки будет, то пишете его туда прямо в голом виде. При старте демон прочитает файл настроек и перезапишет его, где ваш пароль уже будет заменен хешем. Итак, я выключил авторизацию, сделал управление доступным только локально, забиндив к 127.0.0.1, включил rpc чтобы управлять из консоли и разрешил подключения с локального ip адреса. Ваще ниче сложного.

Теперь можно подключиться к этому демону командой и посмотреть на пустой экран 🙂

transmission-remote-cli -c 127.0.0.1

Чтобы там что-то появилось нужно создать раздачу или скачать чью-то.

Пожалуй, начну с создания. Допустим, что вы используете демона на вашем домашнем NAS, который раздает файлы по http или ftp. Все файлы у вас сложены по разным директориям, которые как раз подходят для раздачи через торренты. Например, дистрибутивы Linux для 32 и 64 битных систем. Для автоматизации напишем скрипт, который сначала создаст torrent файл, а потом скормит его демону transmission. Поскольку у меня есть собственный torrent трекер я буду использовать его. Назовем скрипт transmission-create.

#!/bin/bash
transmission-create -t http://torrent.opentomsk.net:6969/announce -o $1 $2
transmission-remote -a $1 -w $2/../

Запускаем скрипт, указав название создаваемого торрент файла и директории где они лежат. Вторая строка скрипта добавит созданный файл в демона transmission и в качестве директории для скачивания ту самую диру, откуда были взяты файлы при создании. Таким образом transmission увидит, что файлы уже есть на месте, проверит хеши и начнет раздачу.

root@opentomsk:/opt# ./transmission-create lazarus-1.4-release.torrent /opt/ftp/apps/development/freepascal_lazarus/1.4/
Creating torrent "lazarus-1.4-release.torrent" ...... done!
localhost:9091/transmission/rpc/ responded: "success"

transmission console 2

С созданием торрент-файлов и раздач закончили. Теперь можно сделать скрипт для скачивания торрентов на ваш NAS. Назовем его transmission-get.

#!/bin/bash
transmission-remote -a $1 -w $2

Ну тут совсем все просто. Первым параметром указывается URL до торрент файла или путь до него, если он уже лежит локально. Второй параметр это директория куда нужно скачать его. URL лучше брать в кавычки, т.к. он может содержать управляющие консолью символы.

root@opentomsk:/opt# ./transmission-get "http://ftp.opentomsk.net/distr/ubuntu/15.04/ubuntu-15.04-all.torrent" /opt/ftp/distr/ubuntu/15.04/

Вы настроили демона и теперь начались проблемы с правами. То туда записать не может, то от туда прочитать… В общем, вам лень разбираться с правами доступа и появилась необходимость стартовать демона с правами рута. Открываем /etc/default/transmission-daemon и добавляем в конец строку USER=root. Теперь на права можно смело забивать, т.к. файл сможет сохраняться в любое желаемое место 🙂 Напоминаю, что если это не ваш домашний NAS с доступом только из локалки, то очень делать это довольно небезопасно.

Еще кое-что интересненькое о торрентах:

2 комментариев »

2 responses to “Transmission в консоли Linux”

  1. Олежка says:

    веб-интерфейс попизже и поуниверсальнее будет

  2. 21h says:

    в вебморде нельзя создавать торренты, на сколько я помню. ну и притормаживает она знатно. а тут скрипт сам все делает. даже пути писать удобно с башовским автодополением.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Комментарии

  • 21h: нене ) без меня )
  • Серегй: Не совсем грабить)) если грабить можно и без рации, есть...
  • 21h: магазин грабить собрались? ) не, тут я не помощник ;)
  • Серегй: А что бы мне поймать чужую волну, что мне для этого нужно...
  • 21h: слушать никто не запрещает. нет закона, который запрещает...
  • Серегй: Я хотел узнать могу ли я просто прийти с данной рацией baofeng...
  • 21h: У меня есть только эти 2. По другим ничего не знаю. В интернете...

© Vladimir Smagin, 2005-2017. Копирование материалов без разрешения запрещено.
Яндекс.Метрика