Копипаст
Дано: роутер asus wl500g premium, HDD Toshiba 200GB в USB BOX vipower
Задача: качать torrent роутером на USB HDD, при этом управлять закачками web-интерфейсом
Решение: установить и настроить torrent клиент transmission
Мини-faq
Иструкция по новой версии (с августа 2008)
1)Далее описаны действия, которые я применил на своем роутере asus wl500g premium и HDD Toshiba 200GB в USB BOX vipower, и записал здесь, чтобы не забыть последовательность и по следющей причине:
2)Я постарался отметить все подробности установки, которых мне не хватало в других описаниях и мне пришлось несколько дней получать новые неструктурированные знания из гугла. Я считаю, что новичкам описание должно помочь, а знатоки и так все знают
3)Все шаги по настройке роутера оч.хорошо описаны в
http://wl500g.info/showthread.php?p=60933
В русской ветке тоже есть описание, но мне было менее понятно
http://wl500g.info/showthread.php?t=3171
4)Чтобы устанавливаемые пакеты не пропадали с USB HDD после перезагрузки или отключения устройства, надо не забывать давать команду flashfs save && flashfs commit && flashfs enable
5)ВСЕ шаги связаны между собой, поэтому их можно выполнять только последовательно
6)192.168.24.1 – адрес моего роутера
7)Распространенная ошибка - некорректые post-boot и post-mount.
Узнавая новые для меня детали и подробности, я дополняю алгоритм
9)Точка монтирования диска может отличаться от моей (типа /tmp/harddisk), это зависит от прошивки
Алгоритм
1.ПРОШИВКА. Прошить роутер последней прошивкой от Oleg, сбросить все установки и настроить
2.ФОРМАТИРОВАНИЕ. Отформатировать USB HDD диск программой PQMagic (я использовал PQMagic
. Я сделал два раздела:
Primary типа ext3 (проще, когда Primary раздел ext3, тогда роутер без вопросов все устанавливает на него)
Logical типа linux swap (достаточно 64МБ)
3.ПОДКЛЮЧЕНИЕ USB HDD. Подключить диск к USB роутера двумя USB (или убедиться что диск «завелся» и не щелкает)
4.УСТАНОВКА НЕОБХОДИМЫХ ПАКЕТОВ.
Подключиться к роутеру по telnet
ввести свой логин и пароль (admin/admin)
Убедиться, что роутер «видит» раздел ext3
# fdisk -l
Disk /dev/scsi/host0/bus0/target0/lun0/disc: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id
System
/dev/scsi/host0/bus0/target0/lun0/part1 1 11918 95731303+ 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part2 11919 11931 104422+ f W95 Ext'd (LBA)
/dev/scsi/host0/bus0/target0/lun0/part5 11919 11931 104391 82 Linux swap / Solaris
Примонтировать диск в /opt, чтобы далее ставить все туда
Понадобятся такие пакеты:
ipkg – инсталлятор пакетов из Интернета
mc – Midnight Commander прога типа Norton Commander, нужен для манипуляций с файлами
transmission – Клиент torrent Transmission, нужен чтобы качать torrent
Также автоматически установится ряд необходимых сопровождающих пакетов
В конце не забываем «сохраниться»
Код:
mkdir /tmp/harddisk/opt
mount -obind /tmp/harddisk/opt /opt
mkdir -p /opt/tmp/ipkg
ipkg.sh update
ipkg.sh install ipkg-opt
ipkg update
ipkg install mc
ipkg install transmission
flashfs save && flashfs commit && flashfs enable
5.НАСТРОЙКА
Запускаем mc (первые две строки нужны, чтобы работали некоторые клавиши):
Код:
export TERMINFO="/opt/share/terminfo"
export TERM="linux"
/opt/bin/mc
Внимание: если загрузился «черно-белый» mc (а не традиционно синий) и стрелки не работают, то надо либо перезагрузить роутер (reboot) и опять выполнить указанные 3 команды либо указать вместо "linux" "xterm". В mc кнопки F1..F9 могут не работать, вместо них надо сначала нажимать ESC и потом 1..9. Все дальнейшие действия по редактированию файлов выполняются в mc (esc и 4).
Создать папку, файл и сделать его выполняемым /usr/local/sbin/post-boot (авт. запускается после перезагрузки)
Код:
mkdir -p /usr/local/sbin/
echo "#!/bin/sh" >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
нужно будет добавить в него строки
Код:
export TERMINFO="/opt/share/terminfo"
export TERM="linux"
создать файл /usr/local/sbin/post-mount (авт. запуск. после перезагр., когда обнаруж. USB диски)
Код:
echo "#!/bin/sh" >> /usr/local/sbin/post-mount
chmod +x /usr/local/sbin/post-mount
и добавить в него строки (USB HDD монтировать в каталог /opt, включить swap (раздел см. "fdisk -l"), запустить главный процесс Transmission (кофигурация будет сохраняться в указанную папку, будет пускать в интерфейс с любых ip, качать в указанную папку, веб-интерфейс на порту 9091, логин для веб-интерфейса- user, пароль - password)
Код:
/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt
swapon /dev/scsi/host0/bus0/target0/lun0/part5
/opt/bin/transmission-daemon -g /tmp/harddisk/torrent/.config -a *.*.*.* -w /tmp/harddisk/torrent -p 9091 -t -u user_name -v user_password
Создать папки для torrent, сделать их доступными на запись
Код:
mkdir /tmp/harddisk/torrent
chmod ugoa+w /tmp/harddisk/torrent
Сохраниться
Код:
flashfs save && flashfs commit && flashfs enable
Перезагрузиться
6.ИСПОЛЬЗОВАНИЕ TRANSMISSION
Веб-интерфейс Transmission доступен по
Код:
http://192.168.24.1:9091
Надо открыть порт на роутере, который указывается в
preferences-incoming port
допустим, 65534
В веб-интерфейсе роутера Virtual Server, добавляем одно правило для «отдачи» и второе для доступа из WAN к веб-интерфейсу (не забыв в п.5 поставить там пароль)
Код:
65534 192.168.24.1 65534 BOTH Transmission
9091 192.168.24.1 9091 TCP Transmission-http
Затем Apply
Несмотря на это, проходящие цепочку VSERVER входящие из WAN пакеты зарезаются на цепочке INPUT, поэтому надо добавить и туда разрешение и "сохраниться":
Создать файл /usr/local/sbin/post-firewall
Код:
echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
chmod +x /usr/local/sbin/post-firewall
и добавить туда строки
Код:
iptables -I INPUT -p tcp --dport 65534 -j ACCEPT
iptables -I INPUT -p tcp --dport 9091 -j ACCEPT
затем сохраняемся
Код:
flashfs save && flashfs commit && flashfs enable
Сделать раздачу можно начав качать свой торрент, после чего поставить его на паузу (pause) и заменить недокачанные файлы на полные, после чего возобновить (resume). Transmission проверит эти файлы, если все ок, скажет что торрент скачался и будет раздавать.
Проблемы: см. /opt/var/log
М.б. проблемы, когда торренты, скачанные тем же пользователем активны (неважно, сидируются или качаются) в другом torrent клиенте (допустим на обычном компе).
М.б. проблемы с неоправданно долгим скачиванием, можно уменьшить параметр max-peers-global в файле конфигурации.
В файле (путь указывается после ключа -g при запуске transmission-daemon)
/tmp/harddisk/torrent/.config/settings.json
содержится конфигурация transmission, в т.ч. порты, пароль, ограничения и т.д.
Внимание, в версии 1.42-1 этот файл не создается, поэтому все параметры необходимо передавать при запуске transmission-daemon. Может помочь перезагрузка роутера и рестарт transmission. На всякий случай сам файл
http://wl500g.info/attachment.php?at...1&d=1230396538Текущие закачки содержатся в соотв. папках
Код:
/tmp/harddisk/torrent
Скачанные файлы можно брать
1)программой explore2fs, подключая USB HDD к компу или драйвером IFS для Windows
2)Прошарить диск (по wi-fi около 8 минут скачивается файл 700МБайт). В веб-интерфейсе роутера:
Код:
USB Application | Samba: "Enable Samba Demo mode" и "Enable hidden read-write share".
IP Config | WAN & LAN: Host Name в разделе LAN IP Setting “wl500g”
Finish (Save&Reboot)
Первичный раздел (primary) будет доступен для чтения по адресу \\wl500g\share, а для записи \\wl500g\share$