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
и, ниже,
Позже мы вернёмся к этому диалогу, настроим старт-стоп поведение.
Жмём Add, на следующем экране Apply changes и немного ждём
2) Запускаем джейл pyLoad, нажав зеленую кнопку справа, в столбце Action. Кнопка становится красной.
У нас запущен джейл 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, который вы задали и порт, который вы задали, видим
14) Добавляем в вебгуе nas4free как PostInit скрипт (в одну строку)
mkdir -p /usr/local/www/ext/pyload ; echo '
pyLoad' > /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.