Главная | Регистрация | Вход | RSSПятница, 29.03.2024, 18:26

МОУ СОШ д.Мокшино

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Migel  
Форум » Наука » DIY - Сделай сам » Домашний медиасервер. (Не для простых юзверей.)
Домашний медиасервер.
СообщениеМедиамагия: Приходишь домой, берёшь пульт и выбираешь, чтобы посмотреть с трекера из песочницы

Позвольте мне начать своё повествование с рассказа про свободное время, семью и тягу к прекрасному. Свободного времени, которое я могу провести с женой, обычно очень мало. То я занят, то жена. То мы оба. Но иногда высвобождается час-другой, который можно провести вместе. А что можно сделать вместе? Ну, кроме того что вы подумали, можно ещё посмотреть вместе фильм. Сходить в кино, например, выбрав один из пяти унылых фильмов в кинотеатре. Или достать с полки DVD и в 5й раз посмотреть «Новинки 2006 года, 8 в 1». Но кому нужны новинки 2006 года в качестве для мобильного телефона или платить деньги за билеты в кино, если всё что нужно для удовольствия можно сделать у себя дома практически бесплатно? Если есть трекер на котором постоянно выкладываются сотни интересных фильмов? Если есть хороший телевизор и диван, на котором смотреть фильмы намного приятнее? Нет, иногда, конечно, приятно сходить в кино, или пересмотреть новинки 2006, но в большинстве случаев мы хотим (1) дома, (2) бесплатно посмотреть (3) новый фильм (4) в хорошем качестве (5) не дожидаясь пока он скачается.

Как бывает у меня. Ну, точнее, было раньше. Если появлялось свободное время, когда и я и жена оба можем и хотим посмотреть фильм, я включал компьютер, шёл на трекер, долго листал новинки, читал описания, выбирал фильм, ставил в закачку, дожидался окончания скачивания, подключал компьютер к телевизору, счастливый поворачивался к жене и… понимал что она уже полчаса как уснула, пока я всё это делал. В какой-то момент мне это надоело и я пошёл другим путём, о котором я сейчас вам расскажу.

Для начала я избавился от необходимости подключения компьютера к телевизору. Из старого железа я собрал компьютер, выделенный специально под роль медиасервера. На этот комп я поставил сборку линукса «mythbuntu», специально созданную для этих целей. Нашёл инфракрасный ресивер, купленный 7 лет назад вместе c сотовым телефоном Sony Ericsson. Купил в метро пульт за 190 рублей. Подключил собранный комп к телевизору и таким образом у меня получился медиасервер с интуитивной графической оболочкой, управляемой с пульта. Вот фотка. Лежащее под PS3 — это мой сервер.

А это — фотография оболочки MythTV.

А дальше начинается самое интересное. Я поставил на этот компьютер торрент-клиент, запущенный 24 часа в сутки и написал скрипт, который скачивает с трекера все популярные фильмы по определённым критериям (должно быть более 70 сидов, но не качать экранки и сериалы), скачивает описания фильмов, кто режиссёр, актёры, картинку релиза итд. Всё это он помещает MythTV, и шлёт мне письмо, что началось скачивание нового фильма. Сидя на работе за рабочим компом я получаю письмо от своего сервера, с описанием, картинкой итд, и если фильм кажется мне заведомо унылым, я отвечаю на это письмо с меткой, что фильм надо удалить. Сервер читает ответы, останавливает закачку и удаляет фильм. Вот так, кстати, выглядит письмо

А когда у меня выдаётся возможность посмотреть с женой фильм, я больше не трачу время на поиск, скачивание, итд. Я беру в руки пульт, падаю к жене на диван, и мы вместе выбираем, что посмотреть. Уже из скачанного. Нашим сервером, пока мы работали. Выглядит это примерно вот так: Это, вот, список фильмов

А это, вот, описание фильма:

В реальности — время потраченное на создание сервера и написание скрипта того стоило.

Скрипты


Автор - Migel
Дата добавления - 16.01.2011 в 22:27
MigelДата: Воскресенье, 16.01.2011, 22:27 | Сообщение # 1
Полковник
Группа: Модераторы
Сообщений: 176
Награды: 10
Репутация: 21
Статус:
Медиамагия: Приходишь домой, берёшь пульт и выбираешь, чтобы посмотреть с трекера из песочницы

Позвольте мне начать своё повествование с рассказа про свободное время, семью и тягу к прекрасному. Свободного времени, которое я могу провести с женой, обычно очень мало. То я занят, то жена. То мы оба. Но иногда высвобождается час-другой, который можно провести вместе. А что можно сделать вместе? Ну, кроме того что вы подумали, можно ещё посмотреть вместе фильм. Сходить в кино, например, выбрав один из пяти унылых фильмов в кинотеатре. Или достать с полки DVD и в 5й раз посмотреть «Новинки 2006 года, 8 в 1». Но кому нужны новинки 2006 года в качестве для мобильного телефона или платить деньги за билеты в кино, если всё что нужно для удовольствия можно сделать у себя дома практически бесплатно? Если есть трекер на котором постоянно выкладываются сотни интересных фильмов? Если есть хороший телевизор и диван, на котором смотреть фильмы намного приятнее? Нет, иногда, конечно, приятно сходить в кино, или пересмотреть новинки 2006, но в большинстве случаев мы хотим (1) дома, (2) бесплатно посмотреть (3) новый фильм (4) в хорошем качестве (5) не дожидаясь пока он скачается.

Как бывает у меня. Ну, точнее, было раньше. Если появлялось свободное время, когда и я и жена оба можем и хотим посмотреть фильм, я включал компьютер, шёл на трекер, долго листал новинки, читал описания, выбирал фильм, ставил в закачку, дожидался окончания скачивания, подключал компьютер к телевизору, счастливый поворачивался к жене и… понимал что она уже полчаса как уснула, пока я всё это делал. В какой-то момент мне это надоело и я пошёл другим путём, о котором я сейчас вам расскажу.

Для начала я избавился от необходимости подключения компьютера к телевизору. Из старого железа я собрал компьютер, выделенный специально под роль медиасервера. На этот комп я поставил сборку линукса «mythbuntu», специально созданную для этих целей. Нашёл инфракрасный ресивер, купленный 7 лет назад вместе c сотовым телефоном Sony Ericsson. Купил в метро пульт за 190 рублей. Подключил собранный комп к телевизору и таким образом у меня получился медиасервер с интуитивной графической оболочкой, управляемой с пульта. Вот фотка. Лежащее под PS3 — это мой сервер.

А это — фотография оболочки MythTV.

А дальше начинается самое интересное. Я поставил на этот компьютер торрент-клиент, запущенный 24 часа в сутки и написал скрипт, который скачивает с трекера все популярные фильмы по определённым критериям (должно быть более 70 сидов, но не качать экранки и сериалы), скачивает описания фильмов, кто режиссёр, актёры, картинку релиза итд. Всё это он помещает MythTV, и шлёт мне письмо, что началось скачивание нового фильма. Сидя на работе за рабочим компом я получаю письмо от своего сервера, с описанием, картинкой итд, и если фильм кажется мне заведомо унылым, я отвечаю на это письмо с меткой, что фильм надо удалить. Сервер читает ответы, останавливает закачку и удаляет фильм. Вот так, кстати, выглядит письмо

А когда у меня выдаётся возможность посмотреть с женой фильм, я больше не трачу время на поиск, скачивание, итд. Я беру в руки пульт, падаю к жене на диван, и мы вместе выбираем, что посмотреть. Уже из скачанного. Нашим сервером, пока мы работали. Выглядит это примерно вот так: Это, вот, список фильмов

А это, вот, описание фильма:

В реальности — время потраченное на создание сервера и написание скрипта того стоило.

Скрипты

Сообщение отредактировал Migel - Воскресенье, 16.01.2011, 22:33
 

>>>Ссылки на материал
СообщениеМедиамагия: Приходишь домой, берёшь пульт и выбираешь, чтобы посмотреть с трекера из песочницы

Позвольте мне начать своё повествование с рассказа про свободное время, семью и тягу к прекрасному. Свободного времени, которое я могу провести с женой, обычно очень мало. То я занят, то жена. То мы оба. Но иногда высвобождается час-другой, который можно провести вместе. А что можно сделать вместе? Ну, кроме того что вы подумали, можно ещё посмотреть вместе фильм. Сходить в кино, например, выбрав один из пяти унылых фильмов в кинотеатре. Или достать с полки DVD и в 5й раз посмотреть «Новинки 2006 года, 8 в 1». Но кому нужны новинки 2006 года в качестве для мобильного телефона или платить деньги за билеты в кино, если всё что нужно для удовольствия можно сделать у себя дома практически бесплатно? Если есть трекер на котором постоянно выкладываются сотни интересных фильмов? Если есть хороший телевизор и диван, на котором смотреть фильмы намного приятнее? Нет, иногда, конечно, приятно сходить в кино, или пересмотреть новинки 2006, но в большинстве случаев мы хотим (1) дома, (2) бесплатно посмотреть (3) новый фильм (4) в хорошем качестве (5) не дожидаясь пока он скачается.

Как бывает у меня. Ну, точнее, было раньше. Если появлялось свободное время, когда и я и жена оба можем и хотим посмотреть фильм, я включал компьютер, шёл на трекер, долго листал новинки, читал описания, выбирал фильм, ставил в закачку, дожидался окончания скачивания, подключал компьютер к телевизору, счастливый поворачивался к жене и… понимал что она уже полчаса как уснула, пока я всё это делал. В какой-то момент мне это надоело и я пошёл другим путём, о котором я сейчас вам расскажу.

Для начала я избавился от необходимости подключения компьютера к телевизору. Из старого железа я собрал компьютер, выделенный специально под роль медиасервера. На этот комп я поставил сборку линукса «mythbuntu», специально созданную для этих целей. Нашёл инфракрасный ресивер, купленный 7 лет назад вместе c сотовым телефоном Sony Ericsson. Купил в метро пульт за 190 рублей. Подключил собранный комп к телевизору и таким образом у меня получился медиасервер с интуитивной графической оболочкой, управляемой с пульта. Вот фотка. Лежащее под PS3 — это мой сервер.

А это — фотография оболочки MythTV.

А дальше начинается самое интересное. Я поставил на этот компьютер торрент-клиент, запущенный 24 часа в сутки и написал скрипт, который скачивает с трекера все популярные фильмы по определённым критериям (должно быть более 70 сидов, но не качать экранки и сериалы), скачивает описания фильмов, кто режиссёр, актёры, картинку релиза итд. Всё это он помещает MythTV, и шлёт мне письмо, что началось скачивание нового фильма. Сидя на работе за рабочим компом я получаю письмо от своего сервера, с описанием, картинкой итд, и если фильм кажется мне заведомо унылым, я отвечаю на это письмо с меткой, что фильм надо удалить. Сервер читает ответы, останавливает закачку и удаляет фильм. Вот так, кстати, выглядит письмо

А когда у меня выдаётся возможность посмотреть с женой фильм, я больше не трачу время на поиск, скачивание, итд. Я беру в руки пульт, падаю к жене на диван, и мы вместе выбираем, что посмотреть. Уже из скачанного. Нашим сервером, пока мы работали. Выглядит это примерно вот так: Это, вот, список фильмов

А это, вот, описание фильма:

В реальности — время потраченное на создание сервера и написание скрипта того стоило.

Скрипты


Автор - Migel
Дата добавления - 16.01.2011 в 22:27
СообщениеА теперь со всем этим попытаемся взлететь...

Настройка

Неожидал такой популярности, и как мне посоветовали делаю отдельную статью по настройке.

Подробности под катом.

1.Устанавливаем торрент-клиент rtorrent
Устанавливать приложения в Ubuntu можно несколькими способами. Например, можно воспользоваться графическим клиентом Synaptic,, или же запустить процесс установки из консоли. Мы пойдём вторым путём, потому что, во-первых, это проще поддаётся описанию, а во-вторых, всегда бывает полезно уметь пользоваться консолью. Тем более, нам ещё не раз придётся к ней обращаться (мы же в линуксе, как ни крути).
Для начала запустим терминал, если он ещё не запущен. И скопируем туда эту строчку: sudo apt-get install rtorrent
Для новичков вкратце объясню что это значит. «sudo» означает, что команду нужно запустить с правами администратора. «apt-get» — это консольный клиент для установки приложений. «install» это команда клиенту «apt-get», сообщающая о необходимости «установить» приложение. rtorrent, соответственно, название приложения, которое мы устанавливаем.
Ещё один маленький совет тем, кто только начинает разбираться с линуксом — в консоли очень удобно использовать кнопку TAB, которая «дописывает» команды/пути/итд и выводит их список, если есть более одного варианта дописывания. Например, можно набрать команду так: sudo apt-g[TAB] i[TAB] rto[TAB]
Ok, набрали команду, ввели пароль, запустилась установка. Apt-get переспросит, уверены ли вы в том, что делаете. Нажмите «Д» (или просто Enter) и установка пойдёт дальше. Ok, мы установили приложение. Для проверки в консоли пишем:rtorrent
жмём Enter и перед нами должен появится интерфейс рторрента.
Ok, супер. Всё работает. Жмём Ctrl+q чтобы выйти из приложения.

2.Настраиваем rtorrent
В начале создадим директории, с которыми мы будем работать. В консоли это делается командой mkdir и указанием директории, которую мы хотим создать.
Соответственно пишем в консоли:mkdir ~/torrents
mkdir ~/.rtorrent-session
mkdir /var/lib/mythtv/videos/downloads
"~" — это сокращение в линуксе, указывающее путь к вашей домашней директории
Итак мы создали директорию «torrents», в которой у нас будут лежать torrent-файлы, директорию ".rtorrent-session" в которой rtorrent будет хранить свою сессию и директорию «downloads», в которую rtorrent будет скачивать фильмы.
Настройки rtorrent хранятся в файле, который называется .rtorrent.rc и который хранится в вашей домашней директории. Но при установке приложения такой файл не создаётся, поэтому для начала нам придётся его создать. Пишем в консоли:nano ~/.rtorrent.rc
откроется консольный текстовый редактор с пустым содержимым.
Вставим туда следующие строки:download_rate = 1000
upload_rate = 100

directory=/var/lib/mythtv/videos/downloads
session=/home/вашеимя/.rtorrent-session

schedule = u_night_mode,02:00:00,24:00:00,upload_rate=0
schedule = u_day_mode,07:00:00,24:00:00,upload_rate=100
schedule = d_night_mode,02:00:00,24:00:00,download_rate=0
schedule = d_day_mode,07:00:00,24:00:00,download_rate=1000
schedule = low_diskspace,5,60,close_low_diskspace=100M

schedule = watch_directory,10,10,load_start=/home/вашеимя/torrents/*.torrent

schedule = tied_directory,10,10,start_tied=
schedule = untied_directory,10,10,stop_untied=

schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"

# Maximum and minimum number of peers to connect to per torrent
min_peers = 20
max_peers = 40

# Maximum number of simultanious uploads per torrent
max_uploads = 5

encryption = allow_incoming,enable_retry,prefer_plaintext
port_range = 55558-55558

scgi_port = :5000
encoding_list = UTF-8
umask = 0000

Не забываем в двух местах заменить «вашеимя» на ваше имя в системе (то есть на путь к вашей домашней директории)

Теперь опишу, что значат все эти настройки:
download_rate, upload_rate — ограничение по скорости даунлода и аплода соответственно. В килобайтах.
directory — директория для сохранения скачанных файлов
session — директория, необходимая rtorrent'у для сохранения сессий закачки

schedule = u_night_mode,02:00:00,24:00:00,upload_rate=0
schedule = u_day_mode,07:00:00,24:00:00,upload_rate=100
schedule = d_night_mode,02:00:00,24:00:00,download_rate=0
schedule = d_day_mode,07:00:00,24:00:00,download_rate=1000
Эти четыре строчки говорят, что с 7 утра до 2х ночи нужно ограничивать скорость до 1000/100 kbps (down/up), а с 2х ночи до 7 утра работать без ограничений по скорости.

schedule = low_diskspace,5,60,close_low_diskspace=100M
Это означает, что нужно раз в минуту проверять не кончается ли место на винчестере и останавливать все закачки, если осталось менее чем 100 мегабайт.

schedule = watch_directory,10,10,load_start=/home/вашеимя/torrents/*.torrent
каждые 10 секунд проверять, не появились ли новые торрент-файлы в этой директории

schedule = tied_directory,10,10,start_tied=
Стартовать закачку, если появился новый торрент файл

schedule = untied_directory,10,10,stop_untied=
Останавливать закачку, если торрент файл удалён

schedule = ratio,60,60,«stop_on_ratio=200,200M,2000»
Останавливать закачку, если её рейтинг>=2.00, при этом было заапложено более 200Мб ИЛИ рейтинг>=20.00

min_peers, max_peers — минимальное и максимальное кол-во пиров на торрент. Если честно, плохо понимаю что значит «min peers»
max_uploads — максимальное количество аплодов на торрент
encryption — шифрование
port_range — порт. не забудьте пробросить порт на DSL-модеме/роутере, кстати.

scgi_port — порт, по которому веб-клиент (который мы потом поставим) будет работать с rtorrent
encoding_list — кодировка
umask — маска прав по умолчанию

подробнее о тех или иных настройках можно почитать на сайте rtorrent

А мы сохраняем файл (Ctrl+o, Enter) и выходим из редактора (Ctrl+x)

запускаем rtorrent, кидаем в директорию ~/torrents/ какой-нибудь торрент-файл, проверяем что всё работает. Закачка должна стартануть и в директории videos/downloads появится скачиваемый файл. Ура.

3. Учим rtorrent работать в бэкграунде и стартовать автоматически.
Заодно поборем один баг с зависанием рторрента.
В начале ставим screen: sudo apt-get install screen
дальше создаём директорию и скрипты для запуска:
mkdir ~/bin
nano ~/bin/myrtorrent.sh

Внутри пишем
#!/bin/bash
PROGRAM="/usr/bin/rtorrent"
GRACE_DELAY=15
while true;
do
"$PROGRAM"
RETURNED=$?
if [ $RETURNED -ne 0 ]
then
echo "$PROGRAM did not exit cleanly with status code $RETURNED"
echo "pausing for $GRACE_DELAY seconds before restarting $PROGRAM"
sleep $GRACE_DELAY;
else
echo "$PROGRAM exited cleanly. It will not be restarted automatically"
exit 0
fi
done

сохраняем, выходим (ctrl+o, Enter, ctrl+x)
пишем в консоли
nano ~/bin/checkrtorrent.sh
В редакторе пишем: nano ~/bin/checkrtorrent.sh

не забудьте сменить «вашеимя» на ваше имя в системе. Сохраняем, выходим.

Таким образом, мы создали несколько скриптов, которые запускают rtorrent в фоновом режиме и следят за тем, что он успешно запустился.

Теперь заставим эти скрипты запускаться. Вначале сделаем их «запускаемыми»
chmod +x ~/bin/checkrtorrent.sh
chmod +x ~/bin/myrtorrent.sh

ставим скрипты в планировщик задач
crontab -e
crontab — это приложение, запускающее в определённый момент другие приложения. При первом старте он спросит какой текстовый редактор мы хотим использовать. «3 — nano», конечно же ответим мы. Ок. Видим nano со следующим содержимым:
# m h dom mon dow command
Очень здорово. Теперь впишем строкой ниже нужный нам текст.
*/10 * * * * /home/вашеимя/bin/checkrtorrent.sh
только не забудем заменить вашеимя на ваше имя в системе.
Ctrl+o, Enter, Ctrl+x. Можно перегрузить систему, чтобы проверить что всё работает.
для этого после перезагрузки ждём несколько минут (скрипт срабатывает раз в 10 минут) и набираем в консоли
screen -r
после этого должен показаться интерфейс рторрента. Чтобы выйти из рторрента, но оставить его работать в фоновом режиме НЕ ЖМИТЕ НА Ctrl+q, а вместо этого нажмите «Ctrl+a», а затем «d». программа останется работать.
Вы в любой момент можете посмотреть что у вас происходит, набрав «screen -r» и выйти нажав «ctrl+a, d»

4.Устанавливаем необходимые для работы скриптов Mediagic пакеты.
пишем в консоли
sudo apt-get install php5-cli php5-curl php5-gd php5-imap

5.Устанавливаем сами скрипты.Правим config.xml

Скачиваем архив со скриптами и разархивируем его на своём компьютере с Виндоус (или что там у вас). Предлагаю править его на своём компьютере, а не на медиацентре, потому что так быстрее
Открываем и видим несколько папок и файлов. Открываем файл config.xml из корня.
Начинаем аккуратно заполнять значения.
Оставляем как есть значения verbose, system_encoding
Доходим до группы параметров
<mediagic_db>
localhost
mythtv
вписасть_сюда_пароль
<db_name>mediagic</db_name>
</mediagic_db>
Открываем консоль на медиацентре. Набираем
cat /etc/mythtv/mysql.txt|grep DBPassword
эта хитрая команда позволит нам увидеть генерированный пароль от базы данных MythTV. Вписываем этот пароль в поле password.

Следующий интересующий нас параметр называется user_agent.
Раньше можно было обойтись без этого параметра. user_agent — это название вашего браузера, в котором вы авторизованы на трекере. Нам понадобится название браузера и cookies. Для того чтобы выдрать значение кукис я рекомендую использовать браузер Opera (наверняка значение cookies можно посмотреть и в других браузеров, но я не знаю как, потому что пользуюсь оперой).
Итак заходим на трекер с оперы, вводим логин-пароль (если ещё не авторизованы), после чего заходим на сайт whatsmyuseragent.com/ (понадобится интернет).
Всё это можно сделать со своего рабочего компа, а не с медиацентра.
Сайт покажет нам какое-то кол-во информации, в самом начале можо прочитать:
Your User Agent is:
Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00
или нечто подобное. Скорее всего у вас будет написано Opera/9.80 (Windows; чтото там)
Копируем содержимое строчки (начиная со слова Opera) в буфер и вставляем в xml-файл заместо указанного там значения.
Следующий интересующий нас параметр называется «coverarts»
Открываем консоль на медиасервере и пишем:
mkdir ~/.mythtv/MythVideo/
возвращаемся к конфигурационному файлу и пишем:
/home/вашеимя/.mythtv/MythVideo/
разумеется, заменив «вашеимя» на ваше имя в системе.
смотрим дальше. trash. Ок, предлагаю использовать для этого системную корзину, но можно и любую другую папку. Системная корзина лежит тут.
/home/вашеимя/.local/share/Trash/files/
как всегда, заменив «вашеимя» на ваше имя в системе.
Следующая группа значений, которая нас интересует, называется mythtv
Ничего тут не меняем, только пишем тот же пароль, что мы писали в поле mediagic_db/password выше.

Далее идёт блок настройки email, но я предлагаю его пока не трогать и настроить потом.

6.Правим trackers/tracker.*название трекера*.xml

Открываем файл.
Открываем Opera. Открываем в опере любимый трекер. Кликаем правой кнопкой и выбираем «Edit Site Preferences/Настройки для сайта». Выбираем вкладку «Cookies». Внизу будет список переменных и значений. Кликая двойным кликом на каждое из значений, можно будет открыть его в новом окне и скопировать. Аккуратно заполняем все параметры из xml-файла, чтобы получилось что-то вроде
<phpbb3_cqeo2_u>1</phpbb3_cqeo2_u>
<phpbb3_cqeo2_k></phpbb3_cqeo2_k>
<phpbb3_cqeo2_sid>a3ac2ae1232c43237eac4183726370ac</phpbb3_cqeo2_sid>
1234
2abc8bf34fb7b2948dc38749cc2cacbc
b55476116f38bcd5a91e22dc6280e4ee
a3f616f38bcd58ab16f8bcd54916f8bc563
1234_iUn9k ednIu8Jd7wOjw09JHw672lJkwdjhfwJhdeU63Jdg22hsdjciIh7HdgeY7t
<hsdn_top>1</hsdn_top>

Далее меняем значение minimum_number_of_seeds на интересующее нас.
Ставим в фильтры filters/decline то, что не хотим качать ни при каких обстоятельствах.
Указываем max_size и min_size.
Меняем directories/torrents_dir на необходимое нам значение
/home/вашеимя/torrents/
не забываем заменить «вашеимя», затем меняем значение directories/datafiles_dir на
/var/lib/mythtv/videos/downloads/
в результате у меня это выглядит так:

<torrents_dir>/home/vadim/torrents/</torrents_dir>

<datafiles_dir>/var/lib/mythtv/videos/downloads/</datafiles_dir>

7, Правим scrubbers/scrubber*название трекера*.xml.

копируем весь блок cookies из предыдущего файла и вставляем в соответствующее место сюда.
Несмотря на то, что может показаться глупостью писать 2 раза одно и тоже в разных местах, в этом есть определённый смысл. Позвольте мне вкратце рассказать, как это всё работает и за что отвечают вышеперечисленные файлы.
Файлы, лежащие в trackers/ отвечают за работу с трекерами. Можно создать файл trackers/torrents.ru.xml, прописать туда необходимые значения и Медиаджик будет работать ещё и с torrents.ru.
Файлы, лежащие в scrubbers/ отвечают за скачивание информации о фильме. Так как в случае с локальным трекром мы берём информацию непосредственно с описания торрента, получается, что место откуда мы качаем торрент-файлы и откуда мы берём информацию — это один и тот же сайт. Но может получится, что мы захотим качать фильмы c PirateBay или torrents.ru, а информацию о них брать с кинопоиска или с тех-же локальных торрентов. Или наоборот как-то Получается, что место откуда мы качаем фильмы и место, откуда мы берём информацию, не всегда одно и то же, просто в нашем конкретном случае это один и тот же сайт.

8.Устанавливаем скрипты и разворачиваем базу.
копируем всю папку mediagic со всеми поправленными конфиг-файлами на медиасервер. Рекомендую скопировать их в /var/www. Для этого вначале копируем папку куда угодно, например в домашнюю директорию, а затем из консоли пишем
sudo mv ~/mediagic /var/www/
набираем пароль и вуяля — скрипты там.
Теперь давайте создадим базу данных.
набираем в консоли
mysql -u root -p
вводим ваш пароль и попадаем внутрь MySQL.
vadim@vadim-vmware:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 135
Server version: 5.0.75-0ubuntu10.2 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Пишем следующее:

GRANT ALL ON *.* TO 'mythtv'@'localhost';

Возвращаемся в стандартную консоль.
Для дальнейшей работы нам понадобится пароль, который мы выяснили, когда правили config.xml
набираем
mysql -u mythtv -p
и вводим этот генерированный пароль от базы данных. Попадаем назад в mysql но уже под пользователем «mythtv». Пишем:
create database mediagic;
SHOW DATABASES;

в результате мы должны увидеть 4 базы данных
mysql> create database mediagic;
Query OK, 1 row affected (0.00 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mediagic |
| mysql |
| mythconverg |

пишем exit и выходим из MySQL.
Пишем в консоли:
mysql --user=mythtv --password=пароль mediagic < /var/www/mediagic/mediagic.sql
заменив «пароль» на генерированный пароль из config.xml
Ура. База данных создана.

9.Проверяем, что всё работает
набираем в консоли
php /var/www/mediagic/autodownload.php
И внимательно смотрим на то, что выдаёт скрипт. Если всё сделали правильно, то он не выдаст никаких ошибок, а успешно скачает и запишет в базу данных всё, что надо. По результатам действия скрипта в Mythtv должны появиться несколько новых (но ещё не скачанных) фильмов а в rtorrent новые закачки.
Напоминаю, что rtorrent можно посмотреть в консоли набрав «screen -r» и выйти из него набрав «Ctrl+a, d». Чтобы удалить закачку в rtorrent выберите её кнопками вверх-вниз и нажмите 2 раза Ctrl+d (закачка остановится, но частично скачанный файл останется).
MythTV можно запустить через Applications->Аудио и видео->MythTV Frontend.
10.
пишем в терминале
sudo touch /var/log/updatetorrents.log
sudo chmod 777 /var/log/updatetorrents.log
crontab -e
и добавляем ещё одну строчку в самый низ
0 * * * * /usr/bin/php /var/www/mediagic/autodownload.php > /var/log/updatetorrents.log
Теперь раз в час медиаджик будет проверять не появилось ли новых фильмов, качать их и сохранять информацию в базу MythTV.

На сегодня всё. В следующий раз будем бороться с драйверами и кодеками, делать MythTV красивым, работать с rtorrent через красивый веб-интерфейс, прикручивать пульт, учить Mediagic писать и читать почту, а также скачивать интересующие нас сериалы в отдельные директории сразу же после появления хотя-бы одного сида на трекере. Кроме этого, этим же макаром мы будем учить Mediagic скачивать ожидаемые релизы как только они появятся.

Если у вас не получилось что-то — пишите, разберёмся. Если вы делали всё в точности как я описал — то проблем возникнуть не должно, если, конечно, я не описАлся


Автор - Migel
Дата добавления - 16.01.2011 в 22:35
MigelДата: Воскресенье, 16.01.2011, 22:35 | Сообщение # 2
Полковник
Группа: Модераторы
Сообщений: 176
Награды: 10
Репутация: 21
Статус:
А теперь со всем этим попытаемся взлететь...

Настройка

Неожидал такой популярности, и как мне посоветовали делаю отдельную статью по настройке.

Подробности под катом.

1.Устанавливаем торрент-клиент rtorrent
Устанавливать приложения в Ubuntu можно несколькими способами. Например, можно воспользоваться графическим клиентом Synaptic,, или же запустить процесс установки из консоли. Мы пойдём вторым путём, потому что, во-первых, это проще поддаётся описанию, а во-вторых, всегда бывает полезно уметь пользоваться консолью. Тем более, нам ещё не раз придётся к ней обращаться (мы же в линуксе, как ни крути).
Для начала запустим терминал, если он ещё не запущен. И скопируем туда эту строчку: sudo apt-get install rtorrent
Для новичков вкратце объясню что это значит. «sudo» означает, что команду нужно запустить с правами администратора. «apt-get» — это консольный клиент для установки приложений. «install» это команда клиенту «apt-get», сообщающая о необходимости «установить» приложение. rtorrent, соответственно, название приложения, которое мы устанавливаем.
Ещё один маленький совет тем, кто только начинает разбираться с линуксом — в консоли очень удобно использовать кнопку TAB, которая «дописывает» команды/пути/итд и выводит их список, если есть более одного варианта дописывания. Например, можно набрать команду так: sudo apt-g[TAB] i[TAB] rto[TAB]
Ok, набрали команду, ввели пароль, запустилась установка. Apt-get переспросит, уверены ли вы в том, что делаете. Нажмите «Д» (или просто Enter) и установка пойдёт дальше. Ok, мы установили приложение. Для проверки в консоли пишем:rtorrent
жмём Enter и перед нами должен появится интерфейс рторрента.
Ok, супер. Всё работает. Жмём Ctrl+q чтобы выйти из приложения.

2.Настраиваем rtorrent
В начале создадим директории, с которыми мы будем работать. В консоли это делается командой mkdir и указанием директории, которую мы хотим создать.
Соответственно пишем в консоли:mkdir ~/torrents
mkdir ~/.rtorrent-session
mkdir /var/lib/mythtv/videos/downloads
"~" — это сокращение в линуксе, указывающее путь к вашей домашней директории
Итак мы создали директорию «torrents», в которой у нас будут лежать torrent-файлы, директорию ".rtorrent-session" в которой rtorrent будет хранить свою сессию и директорию «downloads», в которую rtorrent будет скачивать фильмы.
Настройки rtorrent хранятся в файле, который называется .rtorrent.rc и который хранится в вашей домашней директории. Но при установке приложения такой файл не создаётся, поэтому для начала нам придётся его создать. Пишем в консоли:nano ~/.rtorrent.rc
откроется консольный текстовый редактор с пустым содержимым.
Вставим туда следующие строки:download_rate = 1000
upload_rate = 100

directory=/var/lib/mythtv/videos/downloads
session=/home/вашеимя/.rtorrent-session

schedule = u_night_mode,02:00:00,24:00:00,upload_rate=0
schedule = u_day_mode,07:00:00,24:00:00,upload_rate=100
schedule = d_night_mode,02:00:00,24:00:00,download_rate=0
schedule = d_day_mode,07:00:00,24:00:00,download_rate=1000
schedule = low_diskspace,5,60,close_low_diskspace=100M

schedule = watch_directory,10,10,load_start=/home/вашеимя/torrents/*.torrent

schedule = tied_directory,10,10,start_tied=
schedule = untied_directory,10,10,stop_untied=

schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"

# Maximum and minimum number of peers to connect to per torrent
min_peers = 20
max_peers = 40

# Maximum number of simultanious uploads per torrent
max_uploads = 5

encryption = allow_incoming,enable_retry,prefer_plaintext
port_range = 55558-55558

scgi_port = :5000
encoding_list = UTF-8
umask = 0000

Не забываем в двух местах заменить «вашеимя» на ваше имя в системе (то есть на путь к вашей домашней директории)

Теперь опишу, что значат все эти настройки:
download_rate, upload_rate — ограничение по скорости даунлода и аплода соответственно. В килобайтах.
directory — директория для сохранения скачанных файлов
session — директория, необходимая rtorrent'у для сохранения сессий закачки

schedule = u_night_mode,02:00:00,24:00:00,upload_rate=0
schedule = u_day_mode,07:00:00,24:00:00,upload_rate=100
schedule = d_night_mode,02:00:00,24:00:00,download_rate=0
schedule = d_day_mode,07:00:00,24:00:00,download_rate=1000
Эти четыре строчки говорят, что с 7 утра до 2х ночи нужно ограничивать скорость до 1000/100 kbps (down/up), а с 2х ночи до 7 утра работать без ограничений по скорости.

schedule = low_diskspace,5,60,close_low_diskspace=100M
Это означает, что нужно раз в минуту проверять не кончается ли место на винчестере и останавливать все закачки, если осталось менее чем 100 мегабайт.

schedule = watch_directory,10,10,load_start=/home/вашеимя/torrents/*.torrent
каждые 10 секунд проверять, не появились ли новые торрент-файлы в этой директории

schedule = tied_directory,10,10,start_tied=
Стартовать закачку, если появился новый торрент файл

schedule = untied_directory,10,10,stop_untied=
Останавливать закачку, если торрент файл удалён

schedule = ratio,60,60,«stop_on_ratio=200,200M,2000»
Останавливать закачку, если её рейтинг>=2.00, при этом было заапложено более 200Мб ИЛИ рейтинг>=20.00

min_peers, max_peers — минимальное и максимальное кол-во пиров на торрент. Если честно, плохо понимаю что значит «min peers»
max_uploads — максимальное количество аплодов на торрент
encryption — шифрование
port_range — порт. не забудьте пробросить порт на DSL-модеме/роутере, кстати.

scgi_port — порт, по которому веб-клиент (который мы потом поставим) будет работать с rtorrent
encoding_list — кодировка
umask — маска прав по умолчанию

подробнее о тех или иных настройках можно почитать на сайте rtorrent

А мы сохраняем файл (Ctrl+o, Enter) и выходим из редактора (Ctrl+x)

запускаем rtorrent, кидаем в директорию ~/torrents/ какой-нибудь торрент-файл, проверяем что всё работает. Закачка должна стартануть и в директории videos/downloads появится скачиваемый файл. Ура.

3. Учим rtorrent работать в бэкграунде и стартовать автоматически.
Заодно поборем один баг с зависанием рторрента.
В начале ставим screen: sudo apt-get install screen
дальше создаём директорию и скрипты для запуска:
mkdir ~/bin
nano ~/bin/myrtorrent.sh

Внутри пишем
#!/bin/bash
PROGRAM="/usr/bin/rtorrent"
GRACE_DELAY=15
while true;
do
"$PROGRAM"
RETURNED=$?
if [ $RETURNED -ne 0 ]
then
echo "$PROGRAM did not exit cleanly with status code $RETURNED"
echo "pausing for $GRACE_DELAY seconds before restarting $PROGRAM"
sleep $GRACE_DELAY;
else
echo "$PROGRAM exited cleanly. It will not be restarted automatically"
exit 0
fi
done

сохраняем, выходим (ctrl+o, Enter, ctrl+x)
пишем в консоли
nano ~/bin/checkrtorrent.sh
В редакторе пишем: nano ~/bin/checkrtorrent.sh

не забудьте сменить «вашеимя» на ваше имя в системе. Сохраняем, выходим.

Таким образом, мы создали несколько скриптов, которые запускают rtorrent в фоновом режиме и следят за тем, что он успешно запустился.

Теперь заставим эти скрипты запускаться. Вначале сделаем их «запускаемыми»
chmod +x ~/bin/checkrtorrent.sh
chmod +x ~/bin/myrtorrent.sh

ставим скрипты в планировщик задач
crontab -e
crontab — это приложение, запускающее в определённый момент другие приложения. При первом старте он спросит какой текстовый редактор мы хотим использовать. «3 — nano», конечно же ответим мы. Ок. Видим nano со следующим содержимым:
# m h dom mon dow command
Очень здорово. Теперь впишем строкой ниже нужный нам текст.
*/10 * * * * /home/вашеимя/bin/checkrtorrent.sh
только не забудем заменить вашеимя на ваше имя в системе.
Ctrl+o, Enter, Ctrl+x. Можно перегрузить систему, чтобы проверить что всё работает.
для этого после перезагрузки ждём несколько минут (скрипт срабатывает раз в 10 минут) и набираем в консоли
screen -r
после этого должен показаться интерфейс рторрента. Чтобы выйти из рторрента, но оставить его работать в фоновом режиме НЕ ЖМИТЕ НА Ctrl+q, а вместо этого нажмите «Ctrl+a», а затем «d». программа останется работать.
Вы в любой момент можете посмотреть что у вас происходит, набрав «screen -r» и выйти нажав «ctrl+a, d»

4.Устанавливаем необходимые для работы скриптов Mediagic пакеты.
пишем в консоли
sudo apt-get install php5-cli php5-curl php5-gd php5-imap

5.Устанавливаем сами скрипты.Правим config.xml

Скачиваем архив со скриптами и разархивируем его на своём компьютере с Виндоус (или что там у вас). Предлагаю править его на своём компьютере, а не на медиацентре, потому что так быстрее
Открываем и видим несколько папок и файлов. Открываем файл config.xml из корня.
Начинаем аккуратно заполнять значения.
Оставляем как есть значения verbose, system_encoding
Доходим до группы параметров
<mediagic_db>
localhost
mythtv
вписасть_сюда_пароль
<db_name>mediagic</db_name>
</mediagic_db>
Открываем консоль на медиацентре. Набираем
cat /etc/mythtv/mysql.txt|grep DBPassword
эта хитрая команда позволит нам увидеть генерированный пароль от базы данных MythTV. Вписываем этот пароль в поле password.

Следующий интересующий нас параметр называется user_agent.
Раньше можно было обойтись без этого параметра. user_agent — это название вашего браузера, в котором вы авторизованы на трекере. Нам понадобится название браузера и cookies. Для того чтобы выдрать значение кукис я рекомендую использовать браузер Opera (наверняка значение cookies можно посмотреть и в других браузеров, но я не знаю как, потому что пользуюсь оперой).
Итак заходим на трекер с оперы, вводим логин-пароль (если ещё не авторизованы), после чего заходим на сайт whatsmyuseragent.com/ (понадобится интернет).
Всё это можно сделать со своего рабочего компа, а не с медиацентра.
Сайт покажет нам какое-то кол-во информации, в самом начале можо прочитать:
Your User Agent is:
Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00
или нечто подобное. Скорее всего у вас будет написано Opera/9.80 (Windows; чтото там)
Копируем содержимое строчки (начиная со слова Opera) в буфер и вставляем в xml-файл заместо указанного там значения.
Следующий интересующий нас параметр называется «coverarts»
Открываем консоль на медиасервере и пишем:
mkdir ~/.mythtv/MythVideo/
возвращаемся к конфигурационному файлу и пишем:
/home/вашеимя/.mythtv/MythVideo/
разумеется, заменив «вашеимя» на ваше имя в системе.
смотрим дальше. trash. Ок, предлагаю использовать для этого системную корзину, но можно и любую другую папку. Системная корзина лежит тут.
/home/вашеимя/.local/share/Trash/files/
как всегда, заменив «вашеимя» на ваше имя в системе.
Следующая группа значений, которая нас интересует, называется mythtv
Ничего тут не меняем, только пишем тот же пароль, что мы писали в поле mediagic_db/password выше.

Далее идёт блок настройки email, но я предлагаю его пока не трогать и настроить потом.

6.Правим trackers/tracker.*название трекера*.xml

Открываем файл.
Открываем Opera. Открываем в опере любимый трекер. Кликаем правой кнопкой и выбираем «Edit Site Preferences/Настройки для сайта». Выбираем вкладку «Cookies». Внизу будет список переменных и значений. Кликая двойным кликом на каждое из значений, можно будет открыть его в новом окне и скопировать. Аккуратно заполняем все параметры из xml-файла, чтобы получилось что-то вроде
<phpbb3_cqeo2_u>1</phpbb3_cqeo2_u>
<phpbb3_cqeo2_k></phpbb3_cqeo2_k>
<phpbb3_cqeo2_sid>a3ac2ae1232c43237eac4183726370ac</phpbb3_cqeo2_sid>
1234
2abc8bf34fb7b2948dc38749cc2cacbc
b55476116f38bcd5a91e22dc6280e4ee
a3f616f38bcd58ab16f8bcd54916f8bc563
1234_iUn9k ednIu8Jd7wOjw09JHw672lJkwdjhfwJhdeU63Jdg22hsdjciIh7HdgeY7t
<hsdn_top>1</hsdn_top>

Далее меняем значение minimum_number_of_seeds на интересующее нас.
Ставим в фильтры filters/decline то, что не хотим качать ни при каких обстоятельствах.
Указываем max_size и min_size.
Меняем directories/torrents_dir на необходимое нам значение
/home/вашеимя/torrents/
не забываем заменить «вашеимя», затем меняем значение directories/datafiles_dir на
/var/lib/mythtv/videos/downloads/
в результате у меня это выглядит так:

<torrents_dir>/home/vadim/torrents/</torrents_dir>

<datafiles_dir>/var/lib/mythtv/videos/downloads/</datafiles_dir>

7, Правим scrubbers/scrubber*название трекера*.xml.

копируем весь блок cookies из предыдущего файла и вставляем в соответствующее место сюда.
Несмотря на то, что может показаться глупостью писать 2 раза одно и тоже в разных местах, в этом есть определённый смысл. Позвольте мне вкратце рассказать, как это всё работает и за что отвечают вышеперечисленные файлы.
Файлы, лежащие в trackers/ отвечают за работу с трекерами. Можно создать файл trackers/torrents.ru.xml, прописать туда необходимые значения и Медиаджик будет работать ещё и с torrents.ru.
Файлы, лежащие в scrubbers/ отвечают за скачивание информации о фильме. Так как в случае с локальным трекром мы берём информацию непосредственно с описания торрента, получается, что место откуда мы качаем торрент-файлы и откуда мы берём информацию — это один и тот же сайт. Но может получится, что мы захотим качать фильмы c PirateBay или torrents.ru, а информацию о них брать с кинопоиска или с тех-же локальных торрентов. Или наоборот как-то Получается, что место откуда мы качаем фильмы и место, откуда мы берём информацию, не всегда одно и то же, просто в нашем конкретном случае это один и тот же сайт.

8.Устанавливаем скрипты и разворачиваем базу.
копируем всю папку mediagic со всеми поправленными конфиг-файлами на медиасервер. Рекомендую скопировать их в /var/www. Для этого вначале копируем папку куда угодно, например в домашнюю директорию, а затем из консоли пишем
sudo mv ~/mediagic /var/www/
набираем пароль и вуяля — скрипты там.
Теперь давайте создадим базу данных.
набираем в консоли
mysql -u root -p
вводим ваш пароль и попадаем внутрь MySQL.
vadim@vadim-vmware:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 135
Server version: 5.0.75-0ubuntu10.2 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Пишем следующее:

GRANT ALL ON *.* TO 'mythtv'@'localhost';

Возвращаемся в стандартную консоль.
Для дальнейшей работы нам понадобится пароль, который мы выяснили, когда правили config.xml
набираем
mysql -u mythtv -p
и вводим этот генерированный пароль от базы данных. Попадаем назад в mysql но уже под пользователем «mythtv». Пишем:
create database mediagic;
SHOW DATABASES;

в результате мы должны увидеть 4 базы данных
mysql> create database mediagic;
Query OK, 1 row affected (0.00 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mediagic |
| mysql |
| mythconverg |

пишем exit и выходим из MySQL.
Пишем в консоли:
mysql --user=mythtv --password=пароль mediagic < /var/www/mediagic/mediagic.sql
заменив «пароль» на генерированный пароль из config.xml
Ура. База данных создана.

9.Проверяем, что всё работает
набираем в консоли
php /var/www/mediagic/autodownload.php
И внимательно смотрим на то, что выдаёт скрипт. Если всё сделали правильно, то он не выдаст никаких ошибок, а успешно скачает и запишет в базу данных всё, что надо. По результатам действия скрипта в Mythtv должны появиться несколько новых (но ещё не скачанных) фильмов а в rtorrent новые закачки.
Напоминаю, что rtorrent можно посмотреть в консоли набрав «screen -r» и выйти из него набрав «Ctrl+a, d». Чтобы удалить закачку в rtorrent выберите её кнопками вверх-вниз и нажмите 2 раза Ctrl+d (закачка остановится, но частично скачанный файл останется).
MythTV можно запустить через Applications->Аудио и видео->MythTV Frontend.
10.
пишем в терминале
sudo touch /var/log/updatetorrents.log
sudo chmod 777 /var/log/updatetorrents.log
crontab -e
и добавляем ещё одну строчку в самый низ
0 * * * * /usr/bin/php /var/www/mediagic/autodownload.php > /var/log/updatetorrents.log
Теперь раз в час медиаджик будет проверять не появилось ли новых фильмов, качать их и сохранять информацию в базу MythTV.

На сегодня всё. В следующий раз будем бороться с драйверами и кодеками, делать MythTV красивым, работать с rtorrent через красивый веб-интерфейс, прикручивать пульт, учить Mediagic писать и читать почту, а также скачивать интересующие нас сериалы в отдельные директории сразу же после появления хотя-бы одного сида на трекере. Кроме этого, этим же макаром мы будем учить Mediagic скачивать ожидаемые релизы как только они появятся.

Если у вас не получилось что-то — пишите, разберёмся. Если вы делали всё в точности как я описал — то проблем возникнуть не должно, если, конечно, я не описАлся

 

>>>Ссылки на материал
СообщениеА теперь со всем этим попытаемся взлететь...

Настройка

Неожидал такой популярности, и как мне посоветовали делаю отдельную статью по настройке.

Подробности под катом.

1.Устанавливаем торрент-клиент rtorrent
Устанавливать приложения в Ubuntu можно несколькими способами. Например, можно воспользоваться графическим клиентом Synaptic,, или же запустить процесс установки из консоли. Мы пойдём вторым путём, потому что, во-первых, это проще поддаётся описанию, а во-вторых, всегда бывает полезно уметь пользоваться консолью. Тем более, нам ещё не раз придётся к ней обращаться (мы же в линуксе, как ни крути).
Для начала запустим терминал, если он ещё не запущен. И скопируем туда эту строчку: sudo apt-get install rtorrent
Для новичков вкратце объясню что это значит. «sudo» означает, что команду нужно запустить с правами администратора. «apt-get» — это консольный клиент для установки приложений. «install» это команда клиенту «apt-get», сообщающая о необходимости «установить» приложение. rtorrent, соответственно, название приложения, которое мы устанавливаем.
Ещё один маленький совет тем, кто только начинает разбираться с линуксом — в консоли очень удобно использовать кнопку TAB, которая «дописывает» команды/пути/итд и выводит их список, если есть более одного варианта дописывания. Например, можно набрать команду так: sudo apt-g[TAB] i[TAB] rto[TAB]
Ok, набрали команду, ввели пароль, запустилась установка. Apt-get переспросит, уверены ли вы в том, что делаете. Нажмите «Д» (или просто Enter) и установка пойдёт дальше. Ok, мы установили приложение. Для проверки в консоли пишем:rtorrent
жмём Enter и перед нами должен появится интерфейс рторрента.
Ok, супер. Всё работает. Жмём Ctrl+q чтобы выйти из приложения.

2.Настраиваем rtorrent
В начале создадим директории, с которыми мы будем работать. В консоли это делается командой mkdir и указанием директории, которую мы хотим создать.
Соответственно пишем в консоли:mkdir ~/torrents
mkdir ~/.rtorrent-session
mkdir /var/lib/mythtv/videos/downloads
"~" — это сокращение в линуксе, указывающее путь к вашей домашней директории
Итак мы создали директорию «torrents», в которой у нас будут лежать torrent-файлы, директорию ".rtorrent-session" в которой rtorrent будет хранить свою сессию и директорию «downloads», в которую rtorrent будет скачивать фильмы.
Настройки rtorrent хранятся в файле, который называется .rtorrent.rc и который хранится в вашей домашней директории. Но при установке приложения такой файл не создаётся, поэтому для начала нам придётся его создать. Пишем в консоли:nano ~/.rtorrent.rc
откроется консольный текстовый редактор с пустым содержимым.
Вставим туда следующие строки:download_rate = 1000
upload_rate = 100

directory=/var/lib/mythtv/videos/downloads
session=/home/вашеимя/.rtorrent-session

schedule = u_night_mode,02:00:00,24:00:00,upload_rate=0
schedule = u_day_mode,07:00:00,24:00:00,upload_rate=100
schedule = d_night_mode,02:00:00,24:00:00,download_rate=0
schedule = d_day_mode,07:00:00,24:00:00,download_rate=1000
schedule = low_diskspace,5,60,close_low_diskspace=100M

schedule = watch_directory,10,10,load_start=/home/вашеимя/torrents/*.torrent

schedule = tied_directory,10,10,start_tied=
schedule = untied_directory,10,10,stop_untied=

schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"

# Maximum and minimum number of peers to connect to per torrent
min_peers = 20
max_peers = 40

# Maximum number of simultanious uploads per torrent
max_uploads = 5

encryption = allow_incoming,enable_retry,prefer_plaintext
port_range = 55558-55558

scgi_port = :5000
encoding_list = UTF-8
umask = 0000

Не забываем в двух местах заменить «вашеимя» на ваше имя в системе (то есть на путь к вашей домашней директории)

Теперь опишу, что значат все эти настройки:
download_rate, upload_rate — ограничение по скорости даунлода и аплода соответственно. В килобайтах.
directory — директория для сохранения скачанных файлов
session — директория, необходимая rtorrent'у для сохранения сессий закачки

schedule = u_night_mode,02:00:00,24:00:00,upload_rate=0
schedule = u_day_mode,07:00:00,24:00:00,upload_rate=100
schedule = d_night_mode,02:00:00,24:00:00,download_rate=0
schedule = d_day_mode,07:00:00,24:00:00,download_rate=1000
Эти четыре строчки говорят, что с 7 утра до 2х ночи нужно ограничивать скорость до 1000/100 kbps (down/up), а с 2х ночи до 7 утра работать без ограничений по скорости.

schedule = low_diskspace,5,60,close_low_diskspace=100M
Это означает, что нужно раз в минуту проверять не кончается ли место на винчестере и останавливать все закачки, если осталось менее чем 100 мегабайт.

schedule = watch_directory,10,10,load_start=/home/вашеимя/torrents/*.torrent
каждые 10 секунд проверять, не появились ли новые торрент-файлы в этой директории

schedule = tied_directory,10,10,start_tied=
Стартовать закачку, если появился новый торрент файл

schedule = untied_directory,10,10,stop_untied=
Останавливать закачку, если торрент файл удалён

schedule = ratio,60,60,«stop_on_ratio=200,200M,2000»
Останавливать закачку, если её рейтинг>=2.00, при этом было заапложено более 200Мб ИЛИ рейтинг>=20.00

min_peers, max_peers — минимальное и максимальное кол-во пиров на торрент. Если честно, плохо понимаю что значит «min peers»
max_uploads — максимальное количество аплодов на торрент
encryption — шифрование
port_range — порт. не забудьте пробросить порт на DSL-модеме/роутере, кстати.

scgi_port — порт, по которому веб-клиент (который мы потом поставим) будет работать с rtorrent
encoding_list — кодировка
umask — маска прав по умолчанию

подробнее о тех или иных настройках можно почитать на сайте rtorrent

А мы сохраняем файл (Ctrl+o, Enter) и выходим из редактора (Ctrl+x)

запускаем rtorrent, кидаем в директорию ~/torrents/ какой-нибудь торрент-файл, проверяем что всё работает. Закачка должна стартануть и в директории videos/downloads появится скачиваемый файл. Ура.

3. Учим rtorrent работать в бэкграунде и стартовать автоматически.
Заодно поборем один баг с зависанием рторрента.
В начале ставим screen: sudo apt-get install screen
дальше создаём директорию и скрипты для запуска:
mkdir ~/bin
nano ~/bin/myrtorrent.sh

Внутри пишем
#!/bin/bash
PROGRAM="/usr/bin/rtorrent"
GRACE_DELAY=15
while true;
do
"$PROGRAM"
RETURNED=$?
if [ $RETURNED -ne 0 ]
then
echo "$PROGRAM did not exit cleanly with status code $RETURNED"
echo "pausing for $GRACE_DELAY seconds before restarting $PROGRAM"
sleep $GRACE_DELAY;
else
echo "$PROGRAM exited cleanly. It will not be restarted automatically"
exit 0
fi
done

сохраняем, выходим (ctrl+o, Enter, ctrl+x)
пишем в консоли
nano ~/bin/checkrtorrent.sh
В редакторе пишем: nano ~/bin/checkrtorrent.sh

не забудьте сменить «вашеимя» на ваше имя в системе. Сохраняем, выходим.

Таким образом, мы создали несколько скриптов, которые запускают rtorrent в фоновом режиме и следят за тем, что он успешно запустился.

Теперь заставим эти скрипты запускаться. Вначале сделаем их «запускаемыми»
chmod +x ~/bin/checkrtorrent.sh
chmod +x ~/bin/myrtorrent.sh

ставим скрипты в планировщик задач
crontab -e
crontab — это приложение, запускающее в определённый момент другие приложения. При первом старте он спросит какой текстовый редактор мы хотим использовать. «3 — nano», конечно же ответим мы. Ок. Видим nano со следующим содержимым:
# m h dom mon dow command
Очень здорово. Теперь впишем строкой ниже нужный нам текст.
*/10 * * * * /home/вашеимя/bin/checkrtorrent.sh
только не забудем заменить вашеимя на ваше имя в системе.
Ctrl+o, Enter, Ctrl+x. Можно перегрузить систему, чтобы проверить что всё работает.
для этого после перезагрузки ждём несколько минут (скрипт срабатывает раз в 10 минут) и набираем в консоли
screen -r
после этого должен показаться интерфейс рторрента. Чтобы выйти из рторрента, но оставить его работать в фоновом режиме НЕ ЖМИТЕ НА Ctrl+q, а вместо этого нажмите «Ctrl+a», а затем «d». программа останется работать.
Вы в любой момент можете посмотреть что у вас происходит, набрав «screen -r» и выйти нажав «ctrl+a, d»

4.Устанавливаем необходимые для работы скриптов Mediagic пакеты.
пишем в консоли
sudo apt-get install php5-cli php5-curl php5-gd php5-imap

5.Устанавливаем сами скрипты.Правим config.xml

Скачиваем архив со скриптами и разархивируем его на своём компьютере с Виндоус (или что там у вас). Предлагаю править его на своём компьютере, а не на медиацентре, потому что так быстрее
Открываем и видим несколько папок и файлов. Открываем файл config.xml из корня.
Начинаем аккуратно заполнять значения.
Оставляем как есть значения verbose, system_encoding
Доходим до группы параметров
<mediagic_db>
localhost
mythtv
вписасть_сюда_пароль
<db_name>mediagic</db_name>
</mediagic_db>
Открываем консоль на медиацентре. Набираем
cat /etc/mythtv/mysql.txt|grep DBPassword
эта хитрая команда позволит нам увидеть генерированный пароль от базы данных MythTV. Вписываем этот пароль в поле password.

Следующий интересующий нас параметр называется user_agent.
Раньше можно было обойтись без этого параметра. user_agent — это название вашего браузера, в котором вы авторизованы на трекере. Нам понадобится название браузера и cookies. Для того чтобы выдрать значение кукис я рекомендую использовать браузер Opera (наверняка значение cookies можно посмотреть и в других браузеров, но я не знаю как, потому что пользуюсь оперой).
Итак заходим на трекер с оперы, вводим логин-пароль (если ещё не авторизованы), после чего заходим на сайт whatsmyuseragent.com/ (понадобится интернет).
Всё это можно сделать со своего рабочего компа, а не с медиацентра.
Сайт покажет нам какое-то кол-во информации, в самом начале можо прочитать:
Your User Agent is:
Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00
или нечто подобное. Скорее всего у вас будет написано Opera/9.80 (Windows; чтото там)
Копируем содержимое строчки (начиная со слова Opera) в буфер и вставляем в xml-файл заместо указанного там значения.
Следующий интересующий нас параметр называется «coverarts»
Открываем консоль на медиасервере и пишем:
mkdir ~/.mythtv/MythVideo/
возвращаемся к конфигурационному файлу и пишем:
/home/вашеимя/.mythtv/MythVideo/
разумеется, заменив «вашеимя» на ваше имя в системе.
смотрим дальше. trash. Ок, предлагаю использовать для этого системную корзину, но можно и любую другую папку. Системная корзина лежит тут.
/home/вашеимя/.local/share/Trash/files/
как всегда, заменив «вашеимя» на ваше имя в системе.
Следующая группа значений, которая нас интересует, называется mythtv
Ничего тут не меняем, только пишем тот же пароль, что мы писали в поле mediagic_db/password выше.

Далее идёт блок настройки email, но я предлагаю его пока не трогать и настроить потом.

6.Правим trackers/tracker.*название трекера*.xml

Открываем файл.
Открываем Opera. Открываем в опере любимый трекер. Кликаем правой кнопкой и выбираем «Edit Site Preferences/Настройки для сайта». Выбираем вкладку «Cookies». Внизу будет список переменных и значений. Кликая двойным кликом на каждое из значений, можно будет открыть его в новом окне и скопировать. Аккуратно заполняем все параметры из xml-файла, чтобы получилось что-то вроде
<phpbb3_cqeo2_u>1</phpbb3_cqeo2_u>
<phpbb3_cqeo2_k></phpbb3_cqeo2_k>
<phpbb3_cqeo2_sid>a3ac2ae1232c43237eac4183726370ac</phpbb3_cqeo2_sid>
1234
2abc8bf34fb7b2948dc38749cc2cacbc
b55476116f38bcd5a91e22dc6280e4ee
a3f616f38bcd58ab16f8bcd54916f8bc563
1234_iUn9k ednIu8Jd7wOjw09JHw672lJkwdjhfwJhdeU63Jdg22hsdjciIh7HdgeY7t
<hsdn_top>1</hsdn_top>

Далее меняем значение minimum_number_of_seeds на интересующее нас.
Ставим в фильтры filters/decline то, что не хотим качать ни при каких обстоятельствах.
Указываем max_size и min_size.
Меняем directories/torrents_dir на необходимое нам значение
/home/вашеимя/torrents/
не забываем заменить «вашеимя», затем меняем значение directories/datafiles_dir на
/var/lib/mythtv/videos/downloads/
в результате у меня это выглядит так:

<torrents_dir>/home/vadim/torrents/</torrents_dir>

<datafiles_dir>/var/lib/mythtv/videos/downloads/</datafiles_dir>

7, Правим scrubbers/scrubber*название трекера*.xml.

копируем весь блок cookies из предыдущего файла и вставляем в соответствующее место сюда.
Несмотря на то, что может показаться глупостью писать 2 раза одно и тоже в разных местах, в этом есть определённый смысл. Позвольте мне вкратце рассказать, как это всё работает и за что отвечают вышеперечисленные файлы.
Файлы, лежащие в trackers/ отвечают за работу с трекерами. Можно создать файл trackers/torrents.ru.xml, прописать туда необходимые значения и Медиаджик будет работать ещё и с torrents.ru.
Файлы, лежащие в scrubbers/ отвечают за скачивание информации о фильме. Так как в случае с локальным трекром мы берём информацию непосредственно с описания торрента, получается, что место откуда мы качаем торрент-файлы и откуда мы берём информацию — это один и тот же сайт. Но может получится, что мы захотим качать фильмы c PirateBay или torrents.ru, а информацию о них брать с кинопоиска или с тех-же локальных торрентов. Или наоборот как-то Получается, что место откуда мы качаем фильмы и место, откуда мы берём информацию, не всегда одно и то же, просто в нашем конкретном случае это один и тот же сайт.

8.Устанавливаем скрипты и разворачиваем базу.
копируем всю папку mediagic со всеми поправленными конфиг-файлами на медиасервер. Рекомендую скопировать их в /var/www. Для этого вначале копируем папку куда угодно, например в домашнюю директорию, а затем из консоли пишем
sudo mv ~/mediagic /var/www/
набираем пароль и вуяля — скрипты там.
Теперь давайте создадим базу данных.
набираем в консоли
mysql -u root -p
вводим ваш пароль и попадаем внутрь MySQL.
vadim@vadim-vmware:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 135
Server version: 5.0.75-0ubuntu10.2 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Пишем следующее:

GRANT ALL ON *.* TO 'mythtv'@'localhost';

Возвращаемся в стандартную консоль.
Для дальнейшей работы нам понадобится пароль, который мы выяснили, когда правили config.xml
набираем
mysql -u mythtv -p
и вводим этот генерированный пароль от базы данных. Попадаем назад в mysql но уже под пользователем «mythtv». Пишем:
create database mediagic;
SHOW DATABASES;

в результате мы должны увидеть 4 базы данных
mysql> create database mediagic;
Query OK, 1 row affected (0.00 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mediagic |
| mysql |
| mythconverg |

пишем exit и выходим из MySQL.
Пишем в консоли:
mysql --user=mythtv --password=пароль mediagic < /var/www/mediagic/mediagic.sql
заменив «пароль» на генерированный пароль из config.xml
Ура. База данных создана.

9.Проверяем, что всё работает
набираем в консоли
php /var/www/mediagic/autodownload.php
И внимательно смотрим на то, что выдаёт скрипт. Если всё сделали правильно, то он не выдаст никаких ошибок, а успешно скачает и запишет в базу данных всё, что надо. По результатам действия скрипта в Mythtv должны появиться несколько новых (но ещё не скачанных) фильмов а в rtorrent новые закачки.
Напоминаю, что rtorrent можно посмотреть в консоли набрав «screen -r» и выйти из него набрав «Ctrl+a, d». Чтобы удалить закачку в rtorrent выберите её кнопками вверх-вниз и нажмите 2 раза Ctrl+d (закачка остановится, но частично скачанный файл останется).
MythTV можно запустить через Applications->Аудио и видео->MythTV Frontend.
10.
пишем в терминале
sudo touch /var/log/updatetorrents.log
sudo chmod 777 /var/log/updatetorrents.log
crontab -e
и добавляем ещё одну строчку в самый низ
0 * * * * /usr/bin/php /var/www/mediagic/autodownload.php > /var/log/updatetorrents.log
Теперь раз в час медиаджик будет проверять не появилось ли новых фильмов, качать их и сохранять информацию в базу MythTV.

На сегодня всё. В следующий раз будем бороться с драйверами и кодеками, делать MythTV красивым, работать с rtorrent через красивый веб-интерфейс, прикручивать пульт, учить Mediagic писать и читать почту, а также скачивать интересующие нас сериалы в отдельные директории сразу же после появления хотя-бы одного сида на трекере. Кроме этого, этим же макаром мы будем учить Mediagic скачивать ожидаемые релизы как только они появятся.

Если у вас не получилось что-то — пишите, разберёмся. Если вы делали всё в точности как я описал — то проблем возникнуть не должно, если, конечно, я не описАлся


Автор - Migel
Дата добавления - 16.01.2011 в 22:35
Сообщениево ты даешь-стока написать!но зато все по делу.молодец!

Автор - Анка
Дата добавления - 16.01.2011 в 22:48
АнкаДата: Воскресенье, 16.01.2011, 22:48 | Сообщение # 3
Сержант
Группа: Модератор форума
Сообщений: 33
Награды: 9
Репутация: 12
Статус:
во ты даешь-стока написать!но зато все по делу.молодец!
 

>>>Ссылки на материал
Сообщениево ты даешь-стока написать!но зато все по делу.молодец!

Автор - Анка
Дата добавления - 16.01.2011 в 22:48
Сообщениео как! сам находит,сам качает!?
Лично пробывал трекер устанавливать.до конца дело правда не довел...
Парень гений походу

Автор - Мишаня
Дата добавления - 16.01.2011 в 23:00
МишаняДата: Воскресенье, 16.01.2011, 23:00 | Сообщение # 4
Самый главный
Группа: Администраторы
Сообщений: 138
Награды: 21
Репутация: 76
Статус:
о как! сам находит,сам качает!?
Лично пробывал трекер устанавливать.до конца дело правда не довел...
Парень гений походу
 

>>>Ссылки на материал
Сообщениео как! сам находит,сам качает!?
Лично пробывал трекер устанавливать.до конца дело правда не довел...
Парень гений походу

Автор - Мишаня
Дата добавления - 16.01.2011 в 23:00
Сообщение
Quote (Мишаня)
о как! сам находит,сам качает!?
Лично пробывал трекер устанавливать.до конца дело правда не довел...
Парень гений походу

А ты скриптик писал? В Linux'е ложил куда нужно? Там не настолько парадоксальные вещи... Просто оптимизировано и всего делов
beta


Автор - Migel
Дата добавления - 16.01.2011 в 23:17
MigelДата: Воскресенье, 16.01.2011, 23:17 | Сообщение # 5
Полковник
Группа: Модераторы
Сообщений: 176
Награды: 10
Репутация: 21
Статус:
Quote (Мишаня)
о как! сам находит,сам качает!?
Лично пробывал трекер устанавливать.до конца дело правда не довел...
Парень гений походу

А ты скриптик писал? В Linux'е ложил куда нужно? Там не настолько парадоксальные вещи... Просто оптимизировано и всего делов
beta

 

>>>Ссылки на материал
Сообщение
Quote (Мишаня)
о как! сам находит,сам качает!?
Лично пробывал трекер устанавливать.до конца дело правда не довел...
Парень гений походу

А ты скриптик писал? В Linux'е ложил куда нужно? Там не настолько парадоксальные вещи... Просто оптимизировано и всего делов
beta


Автор - Migel
Дата добавления - 16.01.2011 в 23:17
Форум » Наука » DIY - Сделай сам » Домашний медиасервер. (Не для простых юзверей.)
  • Страница 1 из 1
  • 1
Поиск:


Mfilm© 2024