Удобная загрузка торрентов

Сколько кликов вы делаете для того, чтобы фильм, который вы решили посмотреть сегодня вечером, оказался в вашем медиацентре? Я — один.

Я сохраняю на своём компьютере .torrent, и он начинает скачиваться на медиацентре (у меня это второй ноут). Я могу начать закачку с телефона, другого компьютера, из другого конца вселенной. Если медиацентр сейчас выключен или на нём нет интернета, то закачка начнётся как только он включится и появится в сети.

Для такой передачи файлов отлично подходит какой-нибудь облачный синхронизатор типа Дропбокса. Скачиваешь файл, кладёшь в определённую папку, он улетает в облако, из облака прилетает на медиацентр, как только тот появляется в сети. А там просто торрент-качалка подхватывает торренты из папки. Можно скинуть с любого устройства, для которого есть клиент. Можно даже через браузер закинуть.

Я выбрал именно Дропбокс, потому что

  • для него есть клиенты под все платформы, которые я использую;
  • в его консольном клиенте под линукс можно выбрать, какие папки синхронизировать, а какие нет;
  • можно добавить автоматизации с IFTTT (типа отправить файл на почту, и он добавится в Дропбокс).

Настройка Дропбокса на медиацентре

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

Устанавливаем по инструкции и запускаем:

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
~/.dropbox-dist/dropboxd

Дропбокс скажет ссылку, по которой надо залогиниться в браузере, чтобы привязать этот компьютер к аккаунту. Теперь скачаем скрипт, который позволяет из консоли рулить дропбоксом, например, исключить папки из синхронизации:

wget -O dropbox.py - "https://www.dropbox.com/download?dl=packages/dropbox.py"
sudo mv dropbox.py /usr/local/bin
sudo chown root:staff /usr/local/bin/dropbox.py
sudo chmod +x /usr/local/bin/dropbox.py

Запустим его и исключим все папки, кроме Dropbox/Automatic/Torrents (куда я торренты буду складывать):

dropbox.py start
cd Dropbox
dropbox.py exclude Documents Photos Public Projects # тут всё, что вам не надо синхронизировать

И создадим сервис /lib/systemd/system/[email protected] для systemd (а у вас что?), который будет запускать дропбокс:

[Unit]
Description=Dropbox
After=local-fs.target network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/dropbox.py start
ExecReload=/usr/local/bin/dropbox.py stop && /usr/local/bin/dropbox.py start
KillMode=process
Restart=on-failure
User=%I

[Install]
WantedBy=multi-user.target

И включим его для того пользователя, под которым вы настроили Дропбокс (имя пользователя после @):

sudo systemctl enable dropbox@isqua

Перезагружаемся и проверяем, что всё работает.

sudo systemctl status dropbox@isqua

Осталось в вашем торрент-клиенте указать, чтобы он брал торренты из папки, которую вы синхронизируете.

Настройка Transmission на медиацентре

Я использую сервер transmission с веб-интерфейсом. В дебиане он ставится из пакета transmission-daemon. Его настройки живут в /etc/transmission-daemon/settings.json. Прежде, чем их редактировать, нужно остановить сервис:

sudo systemctl stop transmission-daemon

Чтобы Transmission заглядывал в папку за торрентами, в конфиг надо добавить такие опции:

"watch-dir": "/path/to/your/synced/Torrents",
"watch-dir-enabled": true,

После чего запустить сервис:

sudo systemctl start transmission-daemon

Не забудьте проверить, что пользователь, от которого запущен Transmission, имеет права на чтение из папки, в которой лежат торренты. Проверьте, как у него дела:

sudo systemctl status transmission-daemon

Настройка Automator на маке

Помните первый пункт? Я сохраняю .torrent, и вот кино уже качается. Но мне же надо ещё и в папку в Дропбоксе его положить! На самом деле нет. За меня это делает Automator. Браузер по умолчанию кладёт загрузки в Downloads, а Automator перекладывает все торрент-файлы в нужную папку. Как это настроить? Открывайте Automator.

При открытии он спросит, какого типа действие вы хотите создать. Выбирайте «Folder Action». В левой панели выбирайте «Files & Folders → Filter Finder Items» и добавляйте условие «File extension is torrent». Потом простейшее действие «Move Finder Items» и выбирайте вашу папку в Дропбоксе, которая синхронизируется с сервером. Короче:

Воркфлоу, который переносит торренты из загрузок в Дропбокс

Ну и тестируем. Скачиваем какой-нибудь .torrent и смотрим, добавился ли он в наш Дропбокс, а потом и в торренты. У меня работает. А у вас?