Page 1 of 13 12311 ... LastLast
Results 1 to 15 of 183

Thread: Мод веб-интерфейса SCTCS для enhanced-ctorrent

  1. #1

    Post Мод веб-интерфейса SCTCS для enhanced-ctorrent

    Для начала хочу сразу попросить, не поднимать в этой теме полемику "веб-интерфейс 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
    Делаем резервную копию оригинальных файлов
    Ставим мой мод

    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
    В случае если потом решите вернуться к оригиналу, рекомендую оставить мой файл upload.

    Если будут пожелания по добавлению/исправлению чего-либо - пишите. Если мне понравится, и будет возможность реализовать, - сделаю (не забывайте, что основную функциональность изменить не позволяет отсутствие исходного кода демона ).

    Обращаюсь к программерам с этого форума, если есть желание/возможность/время, напишите подобный демон, но для последней версии 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. Извините, что много букв.
    Attached Files Attached Files
    Last edited by Mirage-net; 15-11-2007 at 18:07.

  2. #2
    Вчера установил enhanced-ctorrent + SCTCS вместо Transmission (выдавала ошибку на объемных торрентах). Могу расписать все по пунктам.
    Стоит enhanced-ctorrent - dnh3.2-9 - ошибок (или "не совсем корректной работы с SCTCS") не наблюдаю...

  3. #3

    нужен мануал для чайников

    Quote Originally Posted by Mr_J View Post
    Могу расписать все по пунктам.
    Распиши пожалуйста, что как делал.

  4. #4
    Quote Originally Posted by Mr_J View Post
    Вчера установил enhanced-ctorrent + SCTCS вместо Transmission (выдавала ошибку на объемных торрентах). Могу расписать все по пунктам.
    Стоит enhanced-ctorrent - dnh3.2-9 - ошибок (или "не совсем корректной работы с SCTCS") не наблюдаю...
    Есть некие странности из-за не совпадение протоколов управления 2 и 3 версии ... проявляется чаще всего в том что раздачи/скачки прерываются спонтанно ... некоторые торренты (где много файлов) качаются странно ... да и влюбом случае все вкусности 3 версии не поддерживает (пока ) SCTCS ... вот начал тестировать любезно скомпиленный lomik патченый 2.2-5 вроде уже успешно скачал с torrents.ru 630 метров и 147 отдал тудаже ... значит пашет ... ссылка на него в первом сообщении

  5. #5
    а "родную" морду к enhanced-ctorrent никто не пробовал? Как в ней с юзабилити и поддержкой "вкусностей" новых версий ctorrent`a?
    Что-то раздача у меня не блещет... Торрентс.ру всегда мало брал, но вот на Демоноид во весь канал отдавал. Либо порты, либо "легкая несовместимость", либо мой "серый" IP дает о себе знать.

    Quote Originally Posted by mkk View Post
    Распиши пожалуйста, что как делал.
    Если топикстартер не против - распишу.

  6. #6
    Quote Originally Posted by Mr_J View Post
    а "родную" морду к enhanced-ctorrent никто не пробовал? Как в ней с юзабилити и поддержкой "вкусностей" новых версий ctorrent`a?
    Что-то раздача у меня не блещет... Торрентс.ру всегда мало брал, но вот на Демоноид во весь канал отдавал. Либо порты, либо "легкая несовместимость", либо мой "серый" IP дает о себе знать.
    Родная морда требует дополнительных пакетов (perl и т.д.) да и тормозная по моему ... на счет "вкусностей" не смотрел но скорее всего поддерживает все возможности 3-го протокола управления ... На счет раздачи помоему это беда всех этих клиентов (сидов и пиров видят в разы меньше чем клиент на ББ ... я поднимал вопрос на эту тему но вразумительно никто не ответил почему) а скорость еще ограничена малой скоростью диска в роутере у меня при большом количестве пиров больше 2.5 Мб/сек не поднималась...

    Quote Originally Posted by Mr_J View Post
    Если топикстартер не против - распишу.
    Конечно не против... тему создавал именно для обсуждения enhanced-ctorrent и модов SCTCS так что можете расписать ... хотя там вроде как и расписывать нечего... ставится за 5 минут.

  7. #7
    Небольшое вступление.
    Да, 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.

  8. #8
    3) Редактируем файлы автозапуска (по этому обсуждению)
    До редактирования post-boot Midnight Commander запускается так
    export TERMINFO="/opt/share/terminfo"
    export TERM="linux"
    mc

    после - просто
    mc
    Функциональные клавиши (F1 - F10) работают через ESC (к примеру F10 = ESC потом 0)

    Содержимое fstab (лежит тут - /etc/)
    #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-boot (лежит тут - /usr/local/sbin/)
    #!/bin/sh
    sleep 10s
    swapon /dev/discs/disc0/part1
    Содержимое post-mount (лежит тут - /usr/local/sbin/)
    #!/bin/sh
    /opt/etc/init.d/rc.unslung start
    Содержимое pre-mount (лежит тут - /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
    Содержимое pre-shutdown (лежит тут - /usr/local/sbin/)
    #!/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
    Редактируем rc.unslung (лежит тут - /opt/etc/init.d/)
    #! /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
    Выходим из МС. Сохраняем все изменения и перезагружаемся - flashfs save && flashfs commit && flashfs enable && reboot

    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
    #!/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

    После этого переходим к первому сообщению темы и продолжаем с пункта Установка

    Команда для запуска 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.

  9. #9
    Вопрос из чистого любопытства...
    А неудобства (имхо) с проверкой хэша остались?
    Поясню: скачивается торрент, проверяется хэш, все ок, начинает раздаваться и тп. И так до первой перезагрузки. Очень прикольно было, когда ВСЕ, что было закачено за время работы без перезагрузки (а это, уверяю, дофига) ринулось проверять хэш.
    Сейчас уже не помню конкретики, но помню что параметры типа "сохранять сессию" или вроде того были выставлены. Пробовал задать вопрос в соответствующей теме, но там не поняли или не захотели понять проблемы...

  10. #10
    Quote Originally Posted by Uncle_Fry View Post
    Вопрос из чистого любопытства...
    А неудобства (имхо) с проверкой хэша остались?
    Поясню: скачивается торрент, проверяется хэш, все ок, начинает раздаваться и тп. И так до первой перезагрузки. Очень прикольно было, когда ВСЕ, что было закачено за время работы без перезагрузки (а это, уверяю, дофига) ринулось проверять хэш.
    Сейчас уже не помню конкретики, но помню что параметры типа "сохранять сессию" или вроде того были выставлены. Пробовал задать вопрос в соответствующей теме, но там не поняли или не захотели понять проблемы...
    Эта тема и создавалась для того чтобы развить идею enhanced-ctorren + SCTCS (или ему подобный) ... Да проблемы с пересчетом хеша пока остались. Если выставить чек-бокс "Use bitfield file" то они минимальны (при раздаче 19 торрентов в ощей сумме 25 с лишнем Гигов) процесс проверки занимает около 40-55 минут (памяти 32 метра+ 512 своп)
    но основная задача добиться создания продолжения этого интерфейса для последующих версий enhanced-ctorrents ... Да и зачем часто перегружать роутер??? у меня на одной точке роутер (не этот конечно а промышленный) uptime имеет уже больше 5-х лет. В *nix`e все за исключением замены ядра можно перезапустить не перегружая ядро и остальные программы которые не связаны с изменениями.

  11. #11
    Quote Originally Posted by Mirage-net View Post
    Эта тема и создавалась для того чтобы развить идею enhanced-ctorren + SCTCS (или ему подобный) ... Зачем часто перегружать роутер??? у меня на одной точке роутер (не этот конечно а промышленный) uptime имеет уже больше 5-х лет. В *nix`e все за исключением замены ядра можно перезапустить не перегружая ядро и остальные программы которые не связаны с изменениями.
    Спасибо за ответ. К сожалению, вероятно не смогу помочь в развитии e-ctorrent+SCTCS. Сам пока остановился на transmission (у меня, к счастью, нет проблем с большими файлами - все качает). Желаю успеха.

  12. #12
    Mr_J, хочу увидеть продолжение подробной установки. Вчера купил этот чудо роутер, пол-дня ковырял чтоб vpn поднять, теперь вот торрент не могу установить/запустить, в линухах полный ноль, поэтому жду продолжения установки

    ------------------------
    Спасибо, уже не надо. Домучал сегодня не без помощи вашего опыта.
    Last edited by alfer; 11-11-2007 at 11:46.

  13. #13

    Mr_J продолжи

    Ждем продолжения, просто это снимет много ненужных вопросов и отсылания к ключевым темам форума, позволит нормально настроить роутер новичкам

  14. #14
    ждём продолжения заранее спс!!!!!!!!!!

  15. #15
    Новая доработка так как жена и дочка добавляя закачки часто забываются добавил нумерацию заданий и вывод суммарной информации, а также вывод предупреждения при достижения активных закачек/раздач 15 шт. в шапке обновил скриншоты дистр и добавил патченый enhanced-ctorrent прямо в тему. Надеюсь вам понравится ...

Page 1 of 13 12311 ... LastLast

Similar Threads

  1. Enhanced CTorrent
    By madseh in forum WL-500g Q&A
    Replies: 34
    Last Post: 22-08-2007, 21:24

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •