Налаштування торрент-сервера

Свобода обирати

Налаштування торрент-сервера

Потрібно днями налаштувати торрент-сервер для сервера (така тавтологія). Зрештою я хотів бачити бачити роботу торрента так: він завжди працює у фоні та відстежує певну директорію на наявність торрент-файлів. Як тільки в ній з'являється такий файл, торрент автоматично починає його завантажувати в певну папку, видаляючи при цьому сам торрент-файл. Далі, після повного завантаження торрента, він видаляється зі списку завантажених / торентів, що роздаються, залишаючи тільки контент.

Забігаючи вперед, скажу, що реалізувати це мені вдалося і працює все чудово. Отже, що потрібно зробити:

¦ Встановити торрент-сервер. Я зупинив свій вибір на Transmission. так як він універсальний: може працювати без графіки та у фоні, має web-інтерфейс:

¦ Відредагувати конфігураційний файл transmission

/.config/transmission. У ньому потрібно змінити/додати такі параметри:

- download-dir: "шлях до папки, в яку завантажуватимуться торенти". Тут усе відомо, вказуємо шлях для збереження завантажень;

- trash-original-torrent-files: "true". Ця опція відповідає за видалення торрент-файлу після завантаження торрента;

- watch-dir-enabled: "true". Говорить transmission про те що потрібно стежити за вказаною папкою щодо наявності в ній торрент-файлів і автоматично завантажувати їх, якщо такі файли є;

- watch-dir: "шлях до папки, де знаходяться торрент-файли". Це відповідно папка з попереднього пункту, стан якої transmission буде відстежувати.

Інші налаштування я не змінював. Тих, хто хоче більше налаштувань, прошу завітати сюди.

Тепер залишилося тільки налаштувати автовидалення торентів зі списку після їх повноїзавантаження. Але штатними засобами здійснити це не вийшло, тому потанцювавши трохи з бубном, дійшов наступного рішення: видаляти торенти буде самописний скрипт, який запускається щохвилини.

Щоб запускати скрипт кожну хвилину можна скористатися кроном, але оскільки системд крокує планетою, я вирішив не відставати від колективу, тому запускати скрипт буде таймер від системд. Запускатиметься він від вашого користувача (не від рута), тому йдемо в папку

/.config і створюємо у ній папку systemd (якщо ще створена), а ній папку user. Далі, у цій папці створюємо файл rm-torrents.service:

І файл rm-torrents.timer:

Назви файлів до точки (розширення) повинні збігатися, інакше таймер не зрозуміє, який сервіс йому запускати.

Принцип роботи простий: rm-torrents.timer щохвилини запускатиме сервіс rm-torrents.service, який, у свою чергу, запускатиме скрипт видалення торентів.

Ті хто вважає, що запускати скрипт кожну хвилину це перебір можуть поекспериментувати з опцією таймера "OnUnitActiveSec=" і виставити там, наприклад 60min. Це означає, що сервіс запускатиметься щогодини.

Тепер додамо transmission в автозавантаження, але для цього трохи підредагуємо його системд-сервіс. Так як нам потрібно запускати торрент від свого користувача, а не від рута і не від щойно створеного системного користувача transmission. Наслідуючи вікі арча, створюємо папку /etc/systemd/system/transmission.service.d і в ній файл username.conf з наступним вмістом:

Далі, вкажемо системд перечитати свої сервіс файли (оскільки ми внесли зміну), запустимо торрент і додамо його в автозавантаження:

¦ Додамо тепер в автозавантаження наш створений таймер. Додавати вже будемо від звичайного користувача, без sudo:

На цьому налаштування завершено. На власному досвіді можу сказати, що така конструкція працює справно.

Читайте, налаштовуйте, поділіться враженнями.