Здесь описано, как настраивать WL-500gP c нуля до torrent (transmission)


plague

Рекомендуемые сообщения

Взято с wl500g.info

 

Дано: роутер asus wl500g premium, HDD Toshiba 200GB в USB BOX vipower

Задача: качать torrent роутером на USB HDD, при этом управлять закачками web-интерфейсом

Решение: установить и настроить torrent клиент transmission

 

Мини-faq

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.

8)Узнавая новые для меня детали и подробности, я дополняю алгоритм

 

Алгоритм

1.ПРОШИВКА. Прошить роутер последней прошивкой от Oleg, сбросить все установки и настроить

2.ФОРМАТИРОВАНИЕ. Отформатировать USB HDD диск программой PQMagic (я использовал PQMagic 8). Я сделал два раздела:

Primary типа ext3 (проще, когда Primary раздел ext3, тогда роутер без вопросов все устанавливает на него)

Logical типа FAT32 (в данном описании он не потребуется)

3.ПОДКЛЮЧЕНИЕ USB HDD. Подключить диск к USB роутера двумя USB (или убедиться что диск «завелся» и не щелкает)

4.УСТАНОВКА НЕОБХОДИМЫХ ПАКЕТОВ.

Подключиться к роутеру по telnet

 

 

telnet 192.168.24.1

 

ввести свой логин и пароль (admin/admin)

Убедиться, что роутер «видит» раздел ext3

 

fdisk –l

 

# 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 24321 99627097+

f Win95 Ext'd (LBA)

/dev/scsi/host0/bus0/target0/lun0/part5 11919 24321 99627066

b Win95 FAT32

 

Примонтировать диск в /opt, чтобы далее ставить все туда

Понадобятся такие пакеты:

ipkg – инсталлятор пакетов из Интернета

mc – Midnight Commander прога типа Norton Commander, нужен для манипуляций с файлами

cron – Планировщик задач, нужен чтобы периодически опрашивать torrent

logrotate – Чтобы перенаправить лог torrent в файл, теоретически чтобы не загружать роутер

gnuplot – Чтобы рисовать графики загрузок torrent

libbt – Клиент torrent (не Transmission), необходимость не определена

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 cron
ipkg install logrotate
ipkg install gnuplot 
ipkg install libbt
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, запустить главный процесс Transmission (то же делает cron - раз в полчаса), логирование и сам http интерфейс)

 

 

/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt
/opt/etc/init.d/S05syslogd
/opt/sbin/transmission_watchdog
/opt/etc/init.d/S10cron
/opt/etc/init.d/S80busybox_httpd start

 

Создать папки для torrent, сделать их доступными на запись

 

mkdir /tmp/harddisk/torrent
mkdir /tmp/harddisk/torrent/source
mkdir /tmp/harddisk/torrent/work
mkdir /tmp/harddisk/torrent/target
chmod ugoa+w /tmp/harddisk/torrent
chmod ugoa+w /tmp/harddisk/torrent/source
chmod ugoa+w /tmp/harddisk/torrent/target
chmod ugoa+w /tmp/harddisk/torrent/work

 

Добавить в файл /opt/etc/crontab (по идее первая строка уже д.б.) (каждые 30 минут проверять состояние закачек Transmission, вторая – что-то с логами делает)

 

 

*/30 * * * * admin nice transmission_watchdog
0 0 * * * admin /opt/sbin/logrotate -f /opt/etc/logrotate.conf &>/dev/null

 

Заменить содержимое файла /opt/etc/logrotate.conf (так сказано в документации к Transmission)

 

compress

/opt/var/log/messages {
size 1024k
weekly
rotate 9
postrotate
killall -HUP syslogd
endscript
}

include /opt/etc/logrotate.d

 

Создать файл /opt/etc/init.d/S05syslogd

 

 

echo "#!/bin/sh" >> /opt/etc/init.d/S05syslogd
chmod +x /opt/etc/init.d/S05syslogd

 

Добавить в него (первая строка уже д.б) (так сказано в документации к Transmission)

 

#!/bin/sh
#
# Startup script for syslogd
#
# Stop myself if running
if [ -n "`pidof syslogd`" ]; then
killall syslogd 2>/dev/null
fi

# copy content of original syslogd to new syslog.
cat /tmp/syslog.log >> /opt/var/log/messages
# remove old syslog.log
rm /tmp/syslog.log

ln -s /opt/var/log/messages /tmp/syslog.log
/sbin/syslogd -m 0 -O /opt/var/log/messages -S -l 7

 

Можно запаролить вход в Веб-интерфейс Transmission (все равно небезопасно, по уму надо исп. ssl)

В конце файла /opt/etc/httpd.conf

 

/cgi-bin:логин:пароль

 

Сохраниться и перезагрузиться

 

flashfs save && flashfs commit && flashfs enable && reboot

 

6.ИСПОЛЬЗОВАНИЕ TRANSMISSION

Веб-интерфейс Transmission доступен по

 

http://192.168.24.1:8008/cgi-bin/transmission.cgi

 

Надо открыть порт на роутере, который указан в

/opt/etc/transmission.conf

по умолчанию

LISTENING_PORT=65534

В веб-интерфейсе роутера Virtual Server, добавляем одно правило для «отдачи» и второе для доступа из WAN к веб-интерфейсу (не забыв в п.5 поставить там пароль)

 

65534 192.168.24.1 65534 BOTH Transmission
8008 192.168.24.1 8008 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 8008 -j ACCEPT

 

затем сохраняемся

 

flashfs save && flashfs commit && flashfs enable

 

добавить torrent:

1)fetch и скопировать ссылку на torrent. Напр., я под своим логином качаю torrent файл и выкладываю его на открытый http, затем копирую ссылку. Можно по сети torrent файл в папку torrent/source

2)list->отметить нужный, push

удалить torrent: list->отметить нужный, push, remove, purge

заценить текущее состояние: update

Проблемы: см. /opt/var/log

В веб-интерфейсе не реализована возможность выбирать отдельные файлы для закачки из торрента (хотя сама Transmission это поддерживает). М.б. проблемы, когда торренты, скачанные тем же пользователем активны (неважно, сидируются или качаются) в другом torrent клиенте (допустим на обычном компе).

 

Текущие закачки содержатся в соотв. папках

 

/tmp/harddisk/torrent

 

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

Сейчас их решают так: http://wl500g.info/showthread.php?t=...%ED%E0%22+ext3

Я не пробовал. Я в mc копирую проблемный файл в файл с англоязычным именем.

Скачанные файлы можно брать

1)программой explore2fs, подключая USB HDD к компу

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$

 

P.S. Желающие могут вставить в скрипт /opt/share/www/cgi-bin/transmission.cgi вывод свободного места на диске (см. картинку и zip файл)

в самом конце файла перед

вставить

 

<hr>
`df -k /opt`
<hr>

 

transmission.JPG

 

transmission.zip

 

Ссылка на комментарий
Поделиться на другие сайты
  • 4 months later...
  • 1 month later...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

Загрузка...