Вчера установил enhanced-ctorrent + SCTCS вместо Transmission (выдавала ошибку на объемных торрентах). Могу расписать все по пунктам.
Стоит enhanced-ctorrent - dnh3.2-9 - ошибок (или "не совсем корректной работы с SCTCS") не наблюдаю...
Для начала хочу сразу попросить, не поднимать в этой теме полемику "веб-интерфейс vs терминал" и обсуждение других качалок. Эта тема посвящена качалке enhanced-ctorrent с вебинтерфейсом от SEAKY и, собственно говоря, ее модам.
Немного лирики (или как жена с дочкой неопровержимо доказали мне, что вебморда должна быть).
Моя жена и дочь за 13 лет жизни со "злобным сисадмином" научились не бояться таких слов как терминал, командная строка, перл, пхп, линукс и т.д. И даже с успехом все это пользуют. Но как то раз подошли они вдвоем ко мне и сказали, что если я их люблю и не хочу доставлять им неудобства, то у торрент-качалки должна быть вебморда. Из аргументов привели следующее. Далее от имени жены: "Сижу у подруги ... винишко попиваем трепимся о своем бабском ... зашел разговор про сериал и выясняется, что подруга пропустила 3 серии ... Я как раз вчера ставила этот сериал на закачку и решила, что можно подруге прям сейчас его с ФТП нашего вытянуть, если он уже скачался ... И вот теперь представь, что для этого мне пришлось оторвать свою нежную попку от мягкого кресла, тащиться в прихожую за своей сумкой, рыться в ней в поисках флешки, затем запускать с нее SSH-клиента, вводить твой "легко запоминающийся 128 символьный" пароль и смотреть закачалось или нет ... Тебе меня не жалко???"
Я ее люблю! Мне ее жалко. Аргумент дочери был еще более убойный. Далее от имени дочери: "Пришла к подружке в гости, играемся, она просит меня поставить на закачку нужные нам мультики ... я втыкаю флешку, запускаю терминалку, а злобный файрволл орет, что этому приложению доступ в инет запрещен ... пытаюсь его уговорить, что все нормально, приложение хорошее и я тоже душка, а этот гад отсылает меня к папе подруги (что в принципе я полностью одобряю)". Так что я решил, что вебинтерфейсу БЫТЬ.
Перепробовал много разных, но остановится решил на связке enhanced-ctorrent с вебинтерфейсом от SEAKY http://sctcs.seaky.hu
Плюсы:
Ставится на раз-два.
Минимум настроек максимум функционала.
Не требует установки дополнительных пакетов (perl, php, sql etc.), демон написан на Си, используется штатный вебсервер, остальное использует awk и шаблоны.
Работает шустро, даже когда роутер нагружен и MC по SSH еле шевелится.
Минусы:
Проект почти не развивается и, как следствие, вебморда не может работать со свежими версиями enhanced-ctorrent (как говорится, здесь http://wl500g.info/showthread.php?t=8420 тестировался с версией dnh2.6). В репозитарии максимально свежая, которая нормально работает с этой мордой enhanced-ctorrent_dnh2.2-6_mipsel.ipk (у меня она и стоит но с недавнего времени есть проблемы с некоторыми торрент-сайтами, нужна перекомпиляция с поддержкой user-agents).
Нет возможности задавать время или соотношение сколько сидировать.
Нет возможности запускать скачку выборочных файлов торрента.
После того. как начали ею пользоваться, захотелось добавить красивости и удобства, что и было сделано.
Изменения/Добавления функциональности:
Доработан скрипт загрузки торрент-файла для скачки (если торрент-файл назван по-русски, то он заливался, но не мог стартануть, поэтому добавил автоматическую транслитирацию его ... файлы и папки, собственно торрента, остаются без изменений).
Форма загрузки торрет-файла вынесена с дополнительной закладки в шапку всех закладок.
Добавилась возможность (при наличии, например, двух подключенных хардов) использовать второй хард под хранение скаченных торрентов, выбирая пункт "Move to Arhiv&Remove" (задание удаляется вместе торрент-файлом а скачаное переносится в "Архив", выполняется медленно! понятно почему). Поясню на примере ... у меня подключено два харда (на одном своп и проги другой для архива) первый хард смонтирован в /tmp/harddisk/ торенты качаются в /tmp/harddisk/torrents/target эта же папка является корнем для ФТП пользователей. В ней есть папка ARHIV, в которую смонтирован второй диск, таким образом, пользователи имеют доступ к скаченному и архиву. Для активации возможности переноса в архив из вебморды необходимо в файл настроек sctcs.conf добавить переменную SCTCS_ARHIV с путем до архива (в моем случае это будет выглядеть так: SCTCS_ARHIV=/tmp/harddisk/torrents/target/ARHIV/ - слеш в конце обязателен). Теперь список содержимого архива и возможность удаления из него находится на вкладке "List ARHIV".
Украшательства:
Раскрасил список закачек полосками для наглядности.
Статус разными цветами в зависимости от статуса.
Название торрента при выводе обрезается по 35 символу (чтоб на пол-экрана не было) при наведении на название всплывает полное.
Внизу под индикатором заполнения места куда качаем добавлен индикатор заполнения архива.
Задания нумеруются.
Вверху и внизу отображается сумма заданий и при превышение количества активных заданий 15 шт. выводится предупреждение.
в сриншотах вырезана середина поэтому нумерация разорвана
Установка:
Заходим на роутер телнет/ssh
Копируем файл my_sctcs_mod.tar.gz в папку с оригинальными файлами SCTCS
Делаем резервную копию оригинальных файлов
Ставим мой мод
В случае если потом решите вернуться к оригиналу, рекомендую оставить мой файл upload.Code:[admin@(none)]$ cp /Путь к файлу/my_sctcs_mod.tar.gz /opt/share/www/cgi-bin/ [admin@(none)]$ cd /opt/share/www/cgi-bin/ [admin@(none) cgi-bin]$ tar -zcvf ./orig_sctcs.tar.gz ./cmd ./sctcs.awk ./sctcs.tmpl ./sctcs_web ./torrent_detail.tmpl ./upload [admin@(none) cgi-bin]$ tar -zxvf ./my_sctcs_mod.tar.gz
Если будут пожелания по добавлению/исправлению чего-либо - пишите. Если мне понравится, и будет возможность реализовать, - сделаю (не забывайте, что основную функциональность изменить не позволяет отсутствие исходного кода демона ).
Обращаюсь к программерам с этого форума, если есть желание/возможность/время, напишите подобный демон, но для последней версии enhanced-ctorrents.
Обязательные условия:
открытый исходный код (чтоб не заглох проект, как этот)
Работать должен самостоятельно (не использовать perl, php, sql etc.)
Поддерживать все возможности управления закачками, которые реализованы в 3-й версии,
По возможности, поддерживать его в актуальности с выходом новых версий enhanced-ctorrents
Приложено:
my_sctcs_mod.tar.gz - собственно мой мод
SCTCSeng.zip - оригинальное руководство (на английском но там так все просто что переводить нечего)
sctcs_0.851b_mipsel.tar - оригинал дистрибутива интерфейса
enhanced-ctorrent_dnh2.2-5_mipsel.zip - Патченый enhanced-ctorrent (нормально отдает user-agent) - большое спасибо lomik
P.S. Извините, что много букв.
Last edited by Mirage-net; 15-11-2007 at 18:07.
Вчера установил enhanced-ctorrent + SCTCS вместо Transmission (выдавала ошибку на объемных торрентах). Могу расписать все по пунктам.
Стоит enhanced-ctorrent - dnh3.2-9 - ошибок (или "не совсем корректной работы с SCTCS") не наблюдаю...
Есть некие странности из-за не совпадение протоколов управления 2 и 3 версии ... проявляется чаще всего в том что раздачи/скачки прерываются спонтанно ... некоторые торренты (где много файлов) качаются странно ... да и влюбом случае все вкусности 3 версии не поддерживает (пока ) SCTCS ... вот начал тестировать любезно скомпиленный lomik патченый 2.2-5 вроде уже успешно скачал с torrents.ru 630 метров и 147 отдал тудаже ... значит пашет ... ссылка на него в первом сообщении
а "родную" морду к enhanced-ctorrent никто не пробовал? Как в ней с юзабилити и поддержкой "вкусностей" новых версий ctorrent`a?
Что-то раздача у меня не блещет... Торрентс.ру всегда мало брал, но вот на Демоноид во весь канал отдавал. Либо порты, либо "легкая несовместимость", либо мой "серый" IP дает о себе знать.
Если топикстартер не против - распишу.
Родная морда требует дополнительных пакетов (perl и т.д.) да и тормозная по моему ... на счет "вкусностей" не смотрел но скорее всего поддерживает все возможности 3-го протокола управления ... На счет раздачи помоему это беда всех этих клиентов (сидов и пиров видят в разы меньше чем клиент на ББ ... я поднимал вопрос на эту тему но вразумительно никто не ответил почему) а скорость еще ограничена малой скоростью диска в роутере у меня при большом количестве пиров больше 2.5 Мб/сек не поднималась...
Конечно не против... тему создавал именно для обсуждения enhanced-ctorrent и модов SCTCS так что можете расписать ... хотя там вроде как и расписывать нечего... ставится за 5 минут.
Небольшое вступление.
Да, enhanced-ctorrent+SCTCS ставится быстро и без особых заморочек.
Все, что написано ниже является компилляцией разных тем, но сильнее всего помогли вот эта и эта темы.
Итак, есть роутер (Asus WL-500g Premium), к которому по USB подключен внешний HDD. У меня HDD (160 Gb) подключен к первому USB-порту (ближе к верхней крышке). Роутер настроен и получает-раздает и-нет. HDD будет форматироваться силами и средствами роутера (вся информация, которая находилась на HDD до этого, будет утеряна).
Я подключаюсь к роутеру через telnet; SSH и dropbear не настраивал.
Команды будут писаться так, содержимое файла в виде "цитаты".
У меня прошита олеговская 1.9.2.7-8.
1) Подготовительный этап
Работать с терминалом удобнее (и правильнее) через Putty.
Итак, в веб-интерфейсе отключаем FTP и Samba, сохраняем настройки и перезагружаемся. Подключаем HDD. Через терминал заходим на роутер. Смотрим какие устройства смонтированы:
df
Должно выдать:
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/root 3008 3008 0 100% /
Даем команду на загрузку USB-модуля и драйверов HDD
insmod scsi_mod && insmod sd_mod && insmod usb-storage
Создаем разделы на HDD (1 - swap [512Mb], 2 - system [1Gb], 3 - data [все оставшееся место]):
fdisk /dev/discs/disc0/disc
m - помощь
p - просмотр разделов
d - удаление раздела
n - создание раздела
Создаем swap: n `enter` p `enter` 1 `enter` `enter` +512M `enter` t `enter` 82 `enter`
Создаем system: n `enter` p `enter` 2 `enter` `enter` +1024M `enter`
Создаем data: n `enter` p `enter` 3 `enter` `enter` `enter`
Сохраняем все изменения и выходим w
Смотрим разделы диска fdisk -l Выдаст что-то вроде:
Disk /dev/scsi/host0/bus0/target0/lun0/disc: 160.0 GB, 160041885696 bytes
64 heads, 32 sectors/track, 152627 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 489 500720 82 Linux swap
/dev/scsi/host0/bus0/target0/lun0/part2 490 1467 1001472 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part3 1468 152627 154787840 83 Linux
Включаем swap (первая команда его создает, а вторая - активирует):
mkswap /dev/discs/disc0/part1
swapon /dev/discs/disc0/part1
Команда free выдаст что-то вроде:
total used free shared buffers
Mem: 30084 29476 608 0 3020
Swap: 500712 15036 485676 <---- это работающий swap
Total: 530796 44512 486284
Теперь форматируем оставшиеся разделы (system и data)
mke2fs -j /dev/discs/disc0/part2
mke2fs -j /dev/discs/disc0/part3
2) Установка базового набора программ
Монтируем разделы (и system, и data):
mkdir /tmp/harddisk
mount /dev/discs/disc0/part2 /opt
mount /dev/discs/disc0/part3 /tmp/harddisk
Создаем дирректорию и файлы для скриптов автозапуска и делаем их исполняемыми
mkdir -p /usr/local/sbin/
touch /usr/local/sbin/pre-mount
touch /usr/local/sbin/post-boot
touch /usr/local/sbin/post-firewall
touch /usr/local/sbin/post-mount
touch /usr/local/sbin/pre-shutdown
chmod +x /usr/local/sbin/*
Создаем дирректорию и файл для скриптов, которые генерируются при установке программ, и делаем их исполняемыми
mkdir /opt/etc
mkdir /opt/etc/init.d
touch /opt/etc/init.d/rc.unslung
touch /etc/fstab
echo "/etc/fstab" >> /tmp/local/.files
chmod +x /opt/etc/init.d/rc.unslung
Устанавливаем программы (в прошивках новее чем 1.9.2.7-8 уже указан правильный депозиторий)
ipkg.sh update
ipkg.sh install ipkg-opt
ipkg update
Устанавливаем файл-менеджер (для редактирования скриптов мне удобнее пользоваться Midnight Commander, а не встроенным vi). Желательно установить и ncurses.
ipkg install ncurses
ipkg install mc
Создаём файл профиля и добавляем в него строки, чтобы mc работал
echo "export TERMINFO=/opt/share/terminfo" >> /usr/local/root/.profile
echo "export TERM=linux" >> /usr/local/root/.profile
Last edited by Mr_J; 14-05-2008 at 22:58.
3) Редактируем файлы автозапуска (по этому обсуждению)
До редактирования post-boot Midnight Commander запускается так
export TERMINFO="/opt/share/terminfo"
export TERM="linux"
mc
после - просто
mc
Функциональные клавиши (F1 - F10) работают через ESC (к примеру F10 = ESC потом 0)
Содержимое fstab (лежит тут - /etc/)
Содержимое post-boot (лежит тут - /usr/local/sbin/)#device Mountpoint FStype Options Dump Pass#
/dev/discs/disc0/part1 none swap sw 0 0
/dev/discs/disc0/part2 /opt ext3 rw,noatime 1 1
/dev/discs/disc0/part3 /tmp/harddisk ext3 rw,noatime 1 1
Содержимое post-mount (лежит тут - /usr/local/sbin/)#!/bin/sh
sleep 10s
swapon /dev/discs/disc0/part1
Содержимое pre-mount (лежит тут - /usr/local/sbin/)#!/bin/sh
/opt/etc/init.d/rc.unslung start
Содержимое pre-shutdown (лежит тут - /usr/local/sbin/)#!/bin/sh
swapon -a
for i in `/usr/bin/awk '/ext3/{print($1)}' /etc/fstab`
do
/bin/grep -q $i /proc/mounts || /sbin/e2fsck -p $i 2>&1 | /usr/bin/logger -t e2fsck
done
Редактируем rc.unslung (лежит тут - /opt/etc/init.d/)#!/bin/sh
/opt/etc/init.d/rc.unslung stop
for i in `awk '/ext3/{print($1)}' /etc/fstab`
do
mount -o remount,ro $i
done
swapoff -a
sleep 5s
Выходим из МС. Сохраняем все изменения и перезагружаемся - flashfs save && flashfs commit && flashfs enable && reboot#! /bin/sh
# Start/stop all init scripts in /opt/etc/init.d
# starting them in numerical order and
# stopping them in reverse numerical order
#
if [ $# -ne 1 ]; then
printf "Usage: $0 {start|stop}\n" >&2
exit 1
fi
daemons=`echo $(/usr/bin/dirname $0)/S??*`
[ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`
for i in $daemons; do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set $1
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i $1
;;
esac
done
4) Устанавливаем enhanced-cTorrent и SCTCS
Жаль, что прямые ссылки на файлы убрали... Включаем Самбу в веб-интерфейсе.
mkdir -p /opt/var
mkdir -p /opt/tmp/setup <---- создаем папку для установочных файлов
cd /opt/tmp/setup <---- переходим в нее
Скачиваем по Самбе в эту папку my_sctcs_mod.tar.gz и sctcs_0.851b_mipsel.tar из первого сообщения этой темы.
wget http://hamster.ckopo.org/enhanced-ct...2-5_mipsel.ipk (зеркало - http://dp.ckopo.org/enhanced-ctorren...2-5_mipsel.ipk) <---- патченый by lomik enhanced-ctorrent
tar xvf sctcs_0.851b_mipsel.tar <---- разархивируем оригинал SCTCS
ipkg install enhanced-ctorrent_dnh2.2-5_mipsel.ipk
ipkg install sctcs_0.851b_mipsel.ipk
mkdir /tmp/harddisk/torrent <---- создаем рабочую папку
mkdir /tmp/harddisk/torrent/source <---- папка для торрент-файлов и файлов хэша (?)
mkdir /tmp/harddisk/torrent/target <---- папка для скачанных файлов
Редактируем файл /opt/etc/sctcs.conf
Вместо ххххххх поставить имя пользователя и пароль для работы с SCTCS#!/bin/sh
SCTCS_HOST=localhost
SCTCS_PORT=1980
SCTCS_DOWNLOAD=/tmp/harddisk/torrent/target/
SCTCS_TORRENTS=/tmp/harddisk/torrent/source/
SCTCS_HTTP_PORT=8080
SCTCS_HTTP_USER=xxxxxxx
SCTCS_HTTP_PASSWORD=xxxxxxx
После этого переходим к первому сообщению темы и продолжаем с пункта Установка
Команда для запуска SCTCS - /opt/etc/init.d/S90sctcs start
Команда для остановки SCTCS - /opt/etc/init.d/S90sctcs stop
Вход в SCTCS - http://IP роутера:8080
Last edited by Mr_J; 14-05-2008 at 22:58.
Вопрос из чистого любопытства...
А неудобства (имхо) с проверкой хэша остались?
Поясню: скачивается торрент, проверяется хэш, все ок, начинает раздаваться и тп. И так до первой перезагрузки. Очень прикольно было, когда ВСЕ, что было закачено за время работы без перезагрузки (а это, уверяю, дофига) ринулось проверять хэш.
Сейчас уже не помню конкретики, но помню что параметры типа "сохранять сессию" или вроде того были выставлены. Пробовал задать вопрос в соответствующей теме, но там не поняли или не захотели понять проблемы...
Эта тема и создавалась для того чтобы развить идею enhanced-ctorren + SCTCS (или ему подобный) ... Да проблемы с пересчетом хеша пока остались. Если выставить чек-бокс "Use bitfield file" то они минимальны (при раздаче 19 торрентов в ощей сумме 25 с лишнем Гигов) процесс проверки занимает около 40-55 минут (памяти 32 метра+ 512 своп)
но основная задача добиться создания продолжения этого интерфейса для последующих версий enhanced-ctorrents ... Да и зачем часто перегружать роутер??? у меня на одной точке роутер (не этот конечно а промышленный) uptime имеет уже больше 5-х лет. В *nix`e все за исключением замены ядра можно перезапустить не перегружая ядро и остальные программы которые не связаны с изменениями.
Mr_J, хочу увидеть продолжение подробной установки. Вчера купил этот чудо роутер, пол-дня ковырял чтоб vpn поднять, теперь вот торрент не могу установить/запустить, в линухах полный ноль, поэтому жду продолжения установки
------------------------
Спасибо, уже не надо. Домучал сегодня не без помощи вашего опыта.
Last edited by alfer; 11-11-2007 at 11:46.
Ждем продолжения, просто это снимет много ненужных вопросов и отсылания к ключевым темам форума, позволит нормально настроить роутер новичкам
ждём продолжения заранее спс!!!!!!!!!!
Новая доработка так как жена и дочка добавляя закачки часто забываются добавил нумерацию заданий и вывод суммарной информации, а также вывод предупреждения при достижения активных закачек/раздач 15 шт. в шапке обновил скриншоты дистр и добавил патченый enhanced-ctorrent прямо в тему. Надеюсь вам понравится ...