2gusia (2gusia) wrote,
2gusia
2gusia

Category:

Менеджер закачек pyLoad на nas4free

UPD от 25 янв 2014 ПОЛОМАЛИ И БОЛЬШЕ НЕ РАБОТАЕТ

после обновления nas4free на 9.2 я не смог заставить работать pyLoad. То есть один баг нашёл и с помощью гугла адресовал.
а во несовместимость с текущей версией питона (или расширений - не рыл) работать не позволяет.
в dеbug режиме пришет
25.01.2014 19:34:18 ERROR     pycurl error 48:
Traceback (most recent call last):
  File "/usr/local/share/pyload/module/PluginThread.py", line 187, in run
    pyfile.plugin.preprocessing(self)
  File "/usr/local/share/pyload/module/plugins/Plugin.py", line 231, in preprocessing
    self.req.clearCookies()
  File "/usr/local/share/pyload/module/network/Browser.py", line 71, in clearCookies
    self.http.clearCookies()
  File "/usr/local/share/pyload/module/network/HTTPRequest.py", line 144, in clearCookies
    self.c.setopt(pycurl.COOKIELIST, "")
error: (48, '')

гуглинг даёт профильный форум http://forum.pyload.org/viewtopic.php?f=7&t=3112
где админ сайта пишет - да, это не первое такое сообщение, типа ждите, вдруг кто починит. Дело было 17 ноября 2013, так что особой надежды на починку нет.

особо заинтересованные могут поподбирать старые версии питона, но дело это скушное и IMHO того не стоит.


Вдохновившись 187-ФЗ (aka антипиратский) я решил порыться в сети на предмет как бы ещё научить NAS качать легальную информацию из сети. По этому поводу - новые аватарка и тег. Напомню, transmission для скачки торрентов мы уже настроили. Сегодня поставим менеджер закачек pyLoad. Пишут, что он обучен качать информацию с доброй сотни сайтов, включая рапидшару и файлы mail.ru

Требования. Нам понадобится nas4free (у меня embedded, можно и full) и установленное в нём расширение для управления джейлами TheBrig. Мы его ставили ранее, см пост-оглавление.

1) Создаём jail pyLoad через TheBrig
pyLoad_jail_1
и, ниже,
pyLoad_jail_2
Позже мы вернёмся к этому диалогу, настроим старт-стоп поведение.

Жмём Add, на следующем экране Apply changes и немного ждём

2) Запускаем джейл pyLoad, нажав зеленую кнопку справа, в столбце Action. Кнопка становится красной.
pyLoad_jail_3
У нас запущен джейл pyLoad и его ID 3 (у меня, у вас может быть иной). Эта цифра нам сейчас понадобится.

3) Запускаем putty, подключаемся по ssh к NAS (всё ранее описано, если непонятно - см оглавление)
Вводим команду (вместо 3 подставить ID вашего jail)
nas4free:~# jexec 3 $SHELL

Обратите внимание - системное приглашение изменилось - мы внутри!
root@pyLoad:/ #

4) Создаём папку загрузки, рабочую папку и идём в неё

mkdir /Download
chmod -R 777 /Download

mkdir -p /usr/local/share/pyload
cd /usr/local/share/pyload/


5) Загружаем pyLoad, разархивируем, убираем за собой
fetch http://get.pyload.org/get/src/
fetch.out 100% of 1545 kB 603 kBps
tar xfv fetch.out
(здесь будет длинный список распакованных файлов)
mv pyload/* ./ ; rmdir pyload; rm fetch.out


6) Устанавливаем необходимые пакеты
pkg_add -r nano
pkg_add -r py27-curl
pkg_add -r py27-beaker
pkg_add -r py27-pycrypto
pkg_add -r tesseract
pkg_add -r tesseract-data
pkg_add -r py27-imaging
pkg_add -r spidermonkey17
pkg_add -r py27-feedparser
pkg_add -r py27-beautifulsoup
pkg_add -r py27-openssl
pkg_add -r python
pkg_add -r py27-sqlite3
rehash


(здесь будет довольно длительный процесс по скачке и установке пакетов. Будет несколько примечаний, но не должно быть сообщений об ошибках. Прим. Можно прямо весь список скопировать в командную строку putty. Но, если забыть скопировать последнюю пустую строку, то придётся нажать Enter в конце)

7) Исправляем баг в pyLoad (источник, автор lazypete)
nano /usr/local/share/pyload/module/utils.py
жмём Ctrl-W (это поиск) и ищем строку
return s.f_bsize * s.f_bavail
заменяем её на
return s.f_frsize * s.f_bavail

8) Запускаем сетап. Там всё просто, половина ;) даже по русски
Там где что-то ввожу - выделяю жирным, типа n
Там где умолчание устраивает - сразу жму Enter
примечания даю курсивом

python pyLoadCore.py -s
Выбираем язык - ru
Запускаем (Enter) проверку. По её результатам у меня
PyQt4: отсутствует
Остальное - OK

На вопрос
Нужно ли менять путь к папке настроек? Текущий путь /root/pyload
Если вы используете pyLoad на каком-нибудь сервере или путь к конфигурации указывает на flash-диск, лучше поменяйте его.
Изменить путь? (y/[n]): n

Хотите изменить учётные данные и другие базовые настройки?
Настоятельно рекомендуется при первом запуске.
Изменить основные настройки? ([y]/n): y

## Основные настройки ##

Эти учётные данные подходят к CLI, GUI и WEB-интерфейсу.
Имя [User]: pyLoad
Пароль: ---задайте свой---
Пароль (Повторить)

External clients (GUI, CLI or other) need remote access to work over the network.
However, if you only want to use the webinterface you may disable it to save ram.
Enable remote access ([y]/n): n
Прим. n, тк нам нужен только вебгуй

Язык ([en], de, fr, it, es, nl, sv, ru, pl, cs, sr, pt_BR): ru
Папка закачек [Downloads]: /Download
Макс.число одновременных закачек [3]:
Использовать переподключение? (y/[n]): y
Путь к скрипту переподключения [./reconnect.sh]:

Хотите настроить SSL?
Настроить SSL? (y/[n]): n

Хотите настроить WEB-интерфейс?
Настроить WEB-интерфейс? ([y]/n): y

## Установки WEB-интерфейса ##

Включить WEB-интерфейс? ([y]/n): y

ip-адрес WEB-интерфейса. Если указать 127.0.0.1 или localhost, то WEB-интерфейс будет доступен только локально.
Адрес [0.0.0.0]: 192.168.1.52
надо указать тот же IP, что у нашего Jail
Порт [8000]:
умолчание меня устраивает
(бла-бла - пропускаем)
Сервер ([builtin], threaded, fastcgi, lightweight):

Установка успешно завершена.
Нажмите ENTER и запустите pyLoad

______________дальше не проверено

8) Создаём скрипт выключения
touch /usr/local/etc/stoptall.sh
chmod 755 /usr/local/etc/stoptall.sh
nano /usr/local/etc/stoptall.sh

задаём содержимое скрипта
#!/bin/sh
/usr/local/bin/python /usr/local/share/pyload/pyLoadCore.py -q
/bin/sh /etc/rc.shutdown

Ctrl-X
Y
Enter

9) Выходим из джейла
root@pyLoad:/ # exit
exit
nas4free:~#


10) Через TheBrig останавливаем наш джейл (кнопка справа, в Action).

11) Редактируем наш джейл (гаечный ключ около его имени)
В графе Jail start command пришем
/usr/local/bin/python /usr/local/share/pyload/pyLoadCore.py --daemon

В графе User command stop пишем
/bin/sh /usr/local/etc/stoptall.sh

12) Запускаем джейл кнопкой

13) В веб браузере идем на http://192.168.1.52:8000/ (точнее на IP, который вы задали и порт, который вы задали, видим
pyload_webgui



14) Добавляем в вебгуе nas4free как PostInit скрипт (в одну строку)
mkdir -p /usr/local/www/ext/pyload ; echo '<a href="http://192.168.1.52:8000" target="_blank">pyLoad</a>' > /usr/local/www/ext/pyload/menu.inc

UPD от 22 янв 2014 - добавил в строку выше ключ -p на случай, если папки ext еще нёт
Не забудьте подставить свой IP и порт.

Ура.
Как качать

Прим 1. Сделано на основе ветки в форуме nas4free. Как всегда - не без серьёзного применения напильника.
Прим 2. Если не запускается вебгуй - можно зайти в джейл (см п 3) и проверить статус
root@pyLoad:/ # python /usr/local/share/pyload/pyLoadCore.py --status

Если даст число - работает. Если надпись failed - значит остановлен.
Я всё записывал так, как делал. Если у вас результат другой - ищите где допущена ошибка.
UPD от 29 авг 2013 Хотя у меня всё на момент установки работало, версии меняются. Приведу (подробнее ниже в комментариях) сообщение от iva2019
Вроде всё ставится, но после 12 пункта в TheBrig в строке "состояние" надпись "1 processes: 1 running, 0 sleeping" через 5 секунд сменяется на " 0 processes: 0 running, 0 sleeping". (...) Вопрос решился заменой файла utils.py на исправленный из ветки форума по nas4free.

Tags: nas, nas4free, качать, руками
Subscribe

  • Статья про SSD Apacer в NAS

    Сегодня после длительной борьбы с web-редактором IXBT Live (который оказался не совместимым с Google Docs), наконец, опубликовали мой опус про SSD,…

  • OpenZFS и XigmaNAS

    Месяц назад я писал про Open ZFS. Там были мысли о том, когда он будет доступен в XogmaNAS. А в конце декабря зацепился на эту тему языками с…

  • Как провожают жесткие диски

    Сдох у меня жесткий диск в NAS Как видно - из SMART отпахал 70428 часов, то есть если 24/7 - больше 8 лет. И, я вам скажу, он не просто крутился…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 23 comments

  • Статья про SSD Apacer в NAS

    Сегодня после длительной борьбы с web-редактором IXBT Live (который оказался не совместимым с Google Docs), наконец, опубликовали мой опус про SSD,…

  • OpenZFS и XigmaNAS

    Месяц назад я писал про Open ZFS. Там были мысли о том, когда он будет доступен в XogmaNAS. А в конце декабря зацепился на эту тему языками с…

  • Как провожают жесткие диски

    Сдох у меня жесткий диск в NAS Как видно - из SMART отпахал 70428 часов, то есть если 24/7 - больше 8 лет. И, я вам скажу, он не просто крутился…