Многопользовательская торрент-качалка на transmission. Как сделать торрент качалку на роутере


Роутер как качалка торрентов

Роутер как качалка торрентов

Когда лучше использовать роутер как качалку торрентовПока правозащитники с обеих сторон ломают копья в попытках запретить торрент как источник вселенского зла или, наоборот, признать его легальным средством обмена информацией между пользователями, последние активно потребляют данный сервис, а производители уделяют внимание его поддержке в самых разнообразных устройствах.В немалой степени этому способствует увеличение пропускной способности каналов связи с удешевлением Интернета. Традиционное использование торрентов на ПК уже не самое привлекательное решение – иногда удобнее освободить ресурсы десктопа или ноутбука, переложив функции торрент-клиента на специализированное аппаратное устройство (к слову, это позволяет не оставлять включенным ПК в отсутствие хозяев, а в остальное время избавит от назойливого шума систем охлаждения, особенно ночью).Аппаратные же решения, содержащие встроенный торрент-клиент, весьма разнообразны и привлекательны: медиацентры, сетевые хранилища данных, медиапроигрыватели и даже телевизоры.И, конечно, если бюджет позволяет, приобрести подобный гаджет не составит труда, а если его функции (кроме торрентов) не так уж необходимы в хозяйстве, то смысла в приобретении нет. Но задумаемся: в любой домашней сети, где найдется более одного компьютера, обязательно присутствует сетевой шлюз – роутер (маршрутизатор), работающий и в качестве беспроводной точки доступа. Он всегда подключен к Интернету, потребляет мало электроэнергии, не шумит – ну разве не идеальное решение для работы в качестве торрент-качалки? Нужно всего лишь подсоединить внешний USB-накопитель к соответствующему порту и выполнить минимум настроек. Впрочем, обо всем по порядку.

Какие модели роутеров могут выступать в этой ролиКак показывает практика, для этих целей годится практически любой роутер, оснащенный портом USB. Но с оговоркой: подразумевается, что он допускает перепрошивку альтернативным софтом, написанным энтузиастами и прочими «кулибиными». Разумеется, это потребует от пользователя некоторой квалификации (как правило, речь идет о базовом знании команд и структур хранения данных в ОС Linux). И, хотя принято считать, что операция требует всего лишь предельной внимательности и точнейшего соблюдения последовательности действий, далеко не всякий сможет пройти этот путь до конца, получив положительный результат: любая ошибка (или нештатная ситуация) приведет к отказу роутера, нередко без возможности реанимации даже силами специалистов сервисной службы.

Если вы все-таки решитесь на подобную операцию с целью превратить свой D-Link DIR-320 (список поддерживаемых моделей можно увидеть на ресурсе http://www. dd-wrt. com/ ) в качалку торрентов, воспользуйтесь поисковиком по запросу, содержащему слова «торрент» и «роутер», и найдете достаточно рекомендаций, пошаговых инструкций и подробных описаний. А я поостерегусь приводить пример подобной настройки хотя бы из соображений разумных размеров статьи, а также потому, что такие действия приводят к утрате гарантии на устройство. Так что, если у вас нет уверенности в собственных силах и слова SAMBA, mount, tftp, wget, chmod и пр. звучат пугающей тарабарщиной, лучше приобретите готовое решение.Вы все-таки настроены на эксперименты? Тогда совет: выбирайте роутеры, изначально рассчитанные на такую возможность. Например, встроенным менеджером закачек обладает ASUS RT-N16. посредством которого и осуществляется загрузка контента с HTTP, FTP и BitTorrent. Управляется качалка с помощью программы Download Master, которую необходимо запускать на ПК. Полученные данные сохраняются на жестком диске, подсоединяемом к роутеру по USB-интерфейсу (впрочем, для этой же цели можно воспользоваться флеш-накопителем).Особых претензий к работе ASUS RT-N16 как торрент-качалки нет (проблемы были у ранних версий), но все же «родная» прошивка вызывает недовольство у продвинутых пользователей, которые предпочитают работу с альтернативными прошивками от энтузиастов (самые известные – Tomato и «от Олега»). Действительно, после ее замены появляется много дополнительных возможностей, так что выбирать эту модель лучше все-таки тем, кто сможет довести ее до ума. Впрочем, «из коробки» она тоже будет работать.Еще одна модель роутера того же вендора – ASUS RT-N56U – привлекает и неординарным видом, и вертикальной компоновкой. Но во всем остальном ее возможности аналогичны предыдущей: тот же Download Master, который необходимо устанавливать на ПК, та же невозможность тонкого управления закачками и параметрами раздач – в общем, базовый набор для непритязательных пользователей.

Если желания возиться с прошивками нет, а расширить возможности управления хочется, обратите внимание на серию ZyXEL Keenetic, в которой примечательны две модели: Keenetic и Keenetic Giga. Различие между ними в том, что вторая поддерживает гигабитные порты (первая – 100 Мбит/с) и оснащена двумя портами USB, для каждого из которых предусмотрена отдельная кнопка «размонтирования» подключенного устройства. Разумеется, два порта лучше, чем один, но это некритично и для младшей модели: дополнительные накопители к ней можно подсоединить через USB-хаб (правда, при этом тяжело будет отключать устройства в случае необходимости, да и автономное питание придется обеспечить – один порт не выдержит такой нагрузки).Оба роутера обладают развитыми средствами работы с Интернетом: в наличии и беспроводная связь, и брандмауэр, и поддержка функций медиасервера, и многое другое. Но главное (в нашей ситуации) то, что пиринговый клиент реализован на очень распространенном движке Transmittion, позволяя не только управлять им посредством веб-интерфейса, но и специальными программами, которые можно установить на ПК (например, Transmission Remote). Примечательно, что несложными настройками можно включить возможность управления роутером через Интернет, что дает возможность управлять загрузками отовсюду. Встроенный торрент-клиент обладает развитыми настройками, в том числе предлагает возможность изменения номеров портов, реализована поддержка UPnP и DHT, а также раздача загруженных файлов и другие опции.

Единственное ограничение касается скорости передачи данных – 1 Мбайт/с. Впрочем, этого достаточно для одновременной работы с пятью-шестью файлами, хотя запустить можно и больше. Зато при такой скорости маршрутизатор не ограничивает другие сервисы: вы не будете испытывать дискомфорт при работе в сети из-за снижения пропускной способности или повышения латентности. Для удобства роутер можно настроить на автоматический запуск торрент-клиента при подсоединении внешнего накопителя.

Что, помимо роутера, нужно для этой задачиКонечно, для работы без ПК, да еще по схеме «24/7», понадобится надежный жесткий диск. Выбирать скоростной и высокопроизводительный нет смысла: скорость обмена данными невысока, а борьбу за тишину и низкое энергопотребление никто не отменял. Следовательно, приобретать надо низкоскоростной накопитель (5400 об/мин), и лучше всего – в виде готового внешнего устройства.Крайне желательно выбирать из устройств, оснащенных дополнительным высокоскоростным интерфейсом (eSATA): это облегчит перенос загруженных десятков гигабайт информации на жесткий диск вашего компьютера. Например, подойдет Apacer AP500GAC601W-S или Western Digital Elements Black WDBAAU0010HBK-EESN. Последний, правда, оснащен только USB-интерфейсом, зато более емкий. Вообще, предпочтительнее двухдюймовые накопители, если предполагается подключать их напрямую к портам роутера; если же будет организовано отдельное электропитание каждого винчестера, на это можно не обращать внимания.

Второе устройство, не обязательное, но крайне желательное, – источник бесперебойного питания. Мощный не нужен, достаточно, чтобы он мог поддерживать работоспособность маршрутизатора в течение 10-15 минут (хватит модели мощностью 300 В·А). За это время или подача электроэнергии возобновится, или вы корректно отсоедините диски и отключите роутер; в противном случае ситуация чревата потерей информации.

Как настроить роутерЕсли взять в качестве примера ZyXEL Keenetic, процедура выглядит просто. В первую очередь необходимо настроить подключение к интернет-провайдеру и изменить штатные параметры учетной записи – пароль и логин. Это можно сделать как при помощи веб-интерфейса, так и мастером первоначальной настройки.

Пропущу этапы настройки беспроводного вещания, брандмауэра и специфических сервисов и перейду сразу к настройкам торрентов. Для этого в главном меню отмечаем пункты «USB-приложения – Торренты» и в появившемся окне выбираем дисковый накопитель, а затем папку для хранения закачек. Порты для подключения можно оставить нетронутыми, если нет других пожеланий (хотя порт для удаленного управления я всегда изменяю в целях безопасности). Если вы намерены управлять торрент-клиентом дистанционно, следует выбрать «Разрешить» в выпадающем меню «Доступ из Интернета» и установить галочку «Использовать учетную запись администратора интернет-центра».

Следующий пункт, отвечающий за автоматическое включение трекера при подсоединении накопителя, я также делаю активным.На этом прописывание параметров можно считать завершенным. Остается активировать пункт «Включить BitTorrent-клиент», нажать кнопку «Применить» и вслед за ней – «Запустить клиент».Всё. Теперь можно использовать торрент-клиент, при желании изменив его настройки (параметры ограничения скорости раздач и закачки).

ВыводыКому-то ближе танцы с бубном над старым «железом», а кто-то, напротив, предпочтет свежую модель – и тоже вдоволь поиграет с ее настройками и доведет до ума собственными руками. Я же предпочитаю готовые решения. В конце концов, сколько интересного можно загрузить за время, потраченное на настройку упрямого роутера, – не лучше ли сразу воспользоваться «коробкой»?Итак, выбор за вами, варианты есть на все случаи жизни. Но не забывайте: большинство «перешитых» роутеров, изначально не предназначенных для работы в качестве торрент-качалки, не обеспечат должной производительности. В первую очередь скажется слабый процессор, сильно уступающий специализированным устройствам.

возможно будет интересно!

 

android33.ru

Многопользовательская торрент-качалка на transmission / Хабрахабр

Хочу рассказать о том, как реализовать торрент-демон с разделением по пользователям. В качестве торрент-клиента будет использован transmission-daemon. Торрент-демон — это программа(сервис), которая выступает в качестве торрент-клиента(качалки) и как правило используется на всяких HTPC, NAS, роутерах и т.п. что бы качать/раздавать торренты не на основном ПК/ноутбуке, а на устройстве, которое всегда включено/онлайн.
Введение, для тех, кто не знаком с тем, что такое transmission-daemon
Одним из распространенных торрент-демонов является transmission-daemon. Для него есть множество GUI-клиентов для разных платформ, которые работают по http и могут подключаться к качалке удаленно, что очень удобно. Использование такого клиента для пользователя не будет отличатся от обычных торрент-клиентов, при этом если клиент закрыть, скачивание/раздача не прекращается, а продолжается на удаленной машине-сервере. Так же у transmission-daemon есть свой «стандартный» web-интерфейс.
Проблема:
И все было бы хорошо, но transmission-daemon хоть и предусматривает авторизацию, но только для одного пользователя. Поэтому если Вы захотите, что бы вашей торрент-качалкой пользовался кто-то еще кроме Вас, то прийдется делить один аккаунт — вы оба сможете просматривать и управлять закачками друг друга, что не очень удобно.
Способ решения
Самым очевидным простым и элегантным, на мой взгляд, решением является запуск transnmission одновременно от разных пользователей. В данном случае в качестве ОС применяется Ubuntu Server 12.10, поэтому можно создать отдельный Upstart User Job для каждого пользователя. Для других дистрибутивов вместо этого можно просто создать init.d скрипты.
Решение
Подготовим систему:
установим transmission-daemon:sudo apt-get install transmission-daemon Разрешим выполнение пользовательских демонов или User Jobs, для этого нужно заменить файл "/etc/dbus-1/system.d/Upstart.conf", предварительно сделав бекап старого.sudo mv /etc/dbus-1/system.d/Upstart.conf /etc/dbus-1/system.d/Upstart.conf.save новый файл /etc/dbus-1/system.d/Upstart.conf:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <!-- Only the root user can own the Upstart name --> <policy user="root"> <allow own="com.ubuntu.Upstart" /> </policy> <!-- Allow any user to invoke all of the methods on Upstart, its jobs or their instances, and to get and set properties - since Upstart isolates commands by user. --> <policy context="default"> <allow send_destination="com.ubuntu.Upstart" send_interface="org.freedesktop.DBus.Introspectable" /> <allow send_destination="com.ubuntu.Upstart" send_interface="org.freedesktop.DBus.Properties" /> <allow send_destination="com.ubuntu.Upstart" send_interface="com.ubuntu.Upstart0_6" /> <allow send_destination="com.ubuntu.Upstart" send_interface="com.ubuntu.Upstart0_6.Job" /> <allow send_destination="com.ubuntu.Upstart" send_interface="com.ubuntu.Upstart0_6.Instance" /> </policy> </busconfig> Дальше стоит выключить стандартный demon, который запускается от рута при старте системы:sudo sh -c 'echo "manual" > /etc/init/transmission-daemon.override' sudo service transmission-daemon stop
Настройка конкретного пользователя:
создаем Upstart User Job Логинимся под очередным юзером, который будет использовать transmission-daemon и выполняем скрипт:mkdir $HOME/.init cat <<End-of-list > $HOME/.init/transmissiond-$USER.conf start on $USER-logged-in stop on runlevel [!2345] kill timeout 30 respawn setuid $USER env HOME=$HOME pre-start script # stop job from continuing if no config file found for daemon [ ! -f \$HOME/.transmissiond/transmission-daemon ] && { stop; exit 0; } # source the config file . \$HOME/.transmissiond/transmission-daemon # stop job from continuing if admin has not enabled service in # config file. [ "\$ENABLE_DAEMON" != 0 ] || { stop; exit 0; } end script script . \$HOME/.transmissiond/transmission-daemon exec /usr/bin/transmission-daemon -f \$OPTIONS end script End-of-list Скрипт создаст файл ~/.init/transmissiond-$USER.conf с необходимыми настройками пользовательского демона. Поле на которое стоит обратить внимание — это "start". В данном случае Job будет стартовать только в случае, если пользователь залогинился в систему, что вовсе не обязательно. Однако, если установлено шифрование домашнего каталога — необходимо, иначе некуда будет сохранять скачанное. Если директория скачивания доступна и до логина пользователя, то "start on $USER-logged-in" можно заменить на "start on runlevel [2345]". В таком случае, однако, Job не нужно делать пользовательским, а можно расположить в /etc/init/

Настраиваем env user-demona:

cat <<End-of-text > $HOME/.transmissiond/transmission-daemon ENABLE_DAEMON=1 CONFIG_DIR="$HOME/.transmissiond" OPTIONS="--config-dir \$CONFIG_DIR" End-of-text Создаем файл настроек торрент-клиента Не забудьте заменить pass="*****" на свой пароль. После первого запуска transmission сам скроет пароль хешем — в открытом виде не хранит.uid=`id -u` pass="*****" #здесь забиваем пароль пользователя cat <<End-of-list > $HOME/.transmissiond/settings.json { "alt-speed-down": 100, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 100, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": false, "blocklist-url": "http://www.example.com/blocklist", "cache-size-mb": 32, "dht-enabled": true, "download-limit": 100, "download-limit-enabled": 0, "download-queue-enabled": true, "download-queue-size": 5, "encryption": 1, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir-enabled": true, "lpd-enabled": false, "max-peers-global": 200, "message-level": 2, "peer-congestion-algorithm": "", "peer-limit-global": 240, "peer-limit-per-torrent": 60, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": "default", "pex-enabled": true, "port-forwarding-enabled": true, "preallocation": 1, "prefetch-enabled": 1, "queue-stalled-enabled": true, "queue-stalled-minutes": 30, "ratio-limit": 2, "ratio-limit-enabled": false, "rename-partial-files": true, "rpc-authentication-required": true, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-url": "/transmission/", "rpc-whitelist": "127.0.0.1", "rpc-whitelist-enabled": false, "scrape-paused-torrents-enabled": true, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": false, "seed-queue-size": 10, "speed-limit-down": 256, "speed-limit-down-enabled": false, "speed-limit-up": 256, "speed-limit-up-enabled": false, "start-added-torrents": true, "trash-original-torrent-files": false, "umask": 18, "upload-limit": 100, "upload-limit-enabled": 0, "upload-slots-per-torrent": 14, "utp-enabled": true, "download-dir": "$HOME/downloads", "incomplete-dir": "$HOME/downloads/incomplete", "peer-port": $((51413 + $uid - 1000)), "rpc-username": "$USER", "rpc-password": "$pass", "rpc-port": $((9091 + $uid - 1000)) } End-of-list Каждый торрент-демон будет висеть на своем отдельном порте, как для входящих торрент-соединений, так и для управления-интерфейса. Номер порта (веб интерфейс) конкретного пользователя вычисляется по формуле rpc-port = 9091 + $uid - 1000 Таким образом пользователь с uid 1000 сможет зайти на веб-интерфейс по server:9091, а пользователь с uid 1010 — по server:9101. peer-port вычисляется аналогично. Все недокачанные торренты будут лежать в ~/downloads/incomplete, а готовые — в ~/downloads.

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

echo "# start user specific daemons" >> "$HOME/.bashrc" echo "initctl emit $USER-logged-in" >> "$HOME/.bashrc" и еще, наверное, желательно что бы если юзер сделал логаут — демон продолжал крутиться:mv "$HOME/.ecryptfs/auto-umount" "$HOME/.ecryptfs/_auto-umount"

По желанию можно также сделать проксирование через nginx/apache что бы разные пользователи могли заходить на интерфейс через разные домены, например.

Заключение
Каждый пользователь, с которым проделаны манипуляции из «Настройка конкретного пользователя», может пользоваться своим собственным transmission-daemon, не мешая другим и не перемешивая скачанное. Если объединить это с ftp/samba/..., то пользователи смогут и забирать скачанные файлы. Манипуляции можно засунуть в скрипт и тогда достаточно будет для каждого нового пользователя выполнить одну команду и все — можно пользоваться.

habrahabr.ru

Проект выходного дня: Как организовать загрузку торрентов в домашней сети

У меня дома несколько компьютеров, один из которых настолько стар, что иначе как использовать его в качестве домашнего сервера мне не приходит в голову. Остальные же ноутбуки и имеют одну проблему – каждый член семьи качает из сети то, что ему придет в голову, и часто приходит в голову одно и то же. Данные не синхронизированы между нами, и это начало утомлять. Используя старенький компьютер, большой диск-хранилище, домашний wi-fi, utorrent и сервис Dropbox я построил систему, о которой хочу вам рассказать.

Схема моего решения выглядит (кликабельно) так, и вот как это все работает:

Проект выходного дня: Как организовать загрузку торрентов в домашней сети, схема домашней качалки торрентов

В единой wi-fi сети стандарта N, в которой все клиенты поддерживают его, так что узких мест тут нет, живет старенький Mac mini с подключенным к нему по USB хранилищем. На mini установлена програмима utorrent, которая установлена в режим сканирования заданной папки на появление в ней файла с расширением .torrent, который она тут же «съедает» и начинает закачку в заранее установленную папку на хранилище. Вот как это настроить:

Проект выходного дня: Как организовать загрузку торрентов в домашней сети, скриншот настройки

Первая галочка как раз и отвечает за режим сканирования. Вторая галочка стартует немедленную загрузку без всяких вопросов. Третья отвечает за удаление .torrent-файла. Ее я не включал, так как именно наличие этого сохраненного файла гарантирует, что никто в вашей семье не стартанет загрузку подобного файла, так как наличие этого файла автоматически означает, что все уже загружено.

Папка из которой utorrent берет файлы является расшаренной через Dropbox на всех клиентов папкой. Т.е. каждый компьютер просто сохраняет .torrent-файлы локально и они сами улетают на домашний сервер стартуя загрузку новой порции медиа-данных. Решение с Dropbox было выбрано не случайно (ведь кажется, что и сетевая папка сойдет) – так вы можете стартовать закачки торрентов дома с работы, с мобильного интернета, с кафе на другом конце земли – все очень гибко.

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

Удаленный компьютер mini живет без монитора и все управление им происходит через стандартную фичу ОС – Screen Sharing:

Проект выходного дня: Как организовать загрузку торрентов в домашней сети, Screen Sharing

Аналог шарингу экрана в Mac OSX есть в каждой известной мне ОС, тут Google вам в помощь. В Windows я когда-то пользовался Microsoft Mesh. Управляемый компьютер появляется у вас в отдельном окне, а пользователи Lion могут вынести его в полный экран на один из виртуальных экранов.

Проект выходного дня: Как организовать загрузку торрентов в домашней сети, Mac mini

А вот как выглядит мой домашний сервер, дисковое хранилище и маршрутизатор.

Проект выходного дня: Как организовать загрузку торрентов в домашней сети, Домашний сервер

Предложенная система не идеальна, и нам интересно ваше мнение, что можно сделать лучше в моем случае. А если поделитесь вашими решениями, то благодарных вам будут сотни, если не тысячи. Заранее спасибо!

lifehacker.ru


Смотрите также