Настройка шаринга с использованием mgcamd



Когда вы успешно залили прошивку NLB можно приступить к финальному этапу всей эпопеи: настройка, собственно, эмуляции и шаринга.

Естественно, здесь я не буду описывать всё то, что доступно в обычной прошивке производителя (типа настройки и сортировки каналов и настройки IP адреса ресивера). Предполагается, что вы полностью знакомы со стандартным управлением ресивера и уже настроили IP адрес, как описано в руководстве пользователя. Речь дальше пойдет о прошивке NLB, которая должна быть установлена, как описано выше. В этой прошивке есть новое меню, так называемая NLB Panel, которую можно вызвать, нажав зелёную кнопку на пульте.

Итак, вы загрузили прошивку NLB, и присвоили ресиверу IP адрес в вашей домашней сети. Для настройки шаринга вам придется редактировать текстовые файлы с конфигурацией, которые хранятся в памяти ресивера. Через пульт дистанционного управления это сделать невозможно, что означает, что вам потребуется компьютер, который подключен в ту же локальную сеть, что и ресивер.

Перво наперво следует проверить правильно ли вы настроили сеть. У ресивера имеется свой web-интерфейс, который обычно должен работать при включенном ресивере. На своем компьютере попробуйте открыть в браузере страницу с адресом: http://ip.адрес.вашего.ресивера/

Вы тут же должны будете получить запрос имени и пароля. Введите имя root и пароль relook (в стандартной прошивке пароль может быть другой - ipbox).


В меню слева откройте пункт System Options и нажимайте ftp Status до тех пор пока не появится сообщение "ftp is now on at next boot" (включать FTP при старте ресивера).
Дополнительно, таким же образом вы можете включить Telnet, SSH и Samba, если вам они нужны. Обычно, достаточно Telnet (или SSH) и FTP. При помощи Telnet/SSH можно подключиться к ресиверу и проделать дополнительные манипуляции (быстро перезапустить эмулятор, подредактировать файлы конфигурации, пропинговать сервер шары, если вдруг что-то не работает, и т.д.). При помощи FTP можно загрузить в ресивер файлы конфигурации с параметрами и ключиками, отредактировав их предварительно на обычном компьютере. Думаю, что здесь не нужно рассказывать что такое FTP и Telnet и как ими пользоваться.

Для входа на IPBox по FTP используйте FTP клиент типа FileZilla Client или Far, IP адрес ресивера в вашей локальной сети и такие же логин и пароль как и для Web-интерфейса (root / relook, в прошивке от SifTeam пароль - sifteam). Для работы по Telnet или SSH лучше всего подходит PuTTY.

В прошивке NLB уже загружены сразу несколько эмуляторов с поддержкой шаринга: mgcamd, mbox, incubusCamd и Hypercam. У каждого есть свои преимущества и недостатки, но на сегодняшний день, для 99% случаев рекомендуется использовать старый добрый mgcamd. Переключение эмулятора можно сделать либо через Web интерфейс (нужно зайти в раздел Emu и нажимать Change Emu до тех пор, пока не появится нужный вам эмулятор), либо нажав на зелёную кнопку пульта дистанционного управления (активный эмулятор отображается сверху меню и меняется стрелками вправо/влево).
После смены эмулятора крайне рекомендуется перезагрузить ресивер. Если вы подключены по Telnet, просто дайте команду reboot. Иначе, есть опция в панели NLB (зелёная кнопка на пульте).

Итак, мы выбрали mgcamd для эмуляции. Во начальной время загрузки ресивера (после включения из состояния Shutdown) вы должны увидеть на передней панели ресивера краткое сообщение MGCAMD-START среди прочих загрузочных сообщений, что означает, что вы сделали правильный выбор и загружается именно mgcamd.

Теперь перейдём непосредственно к конфигурации mgcamd. Вообще-то написано на этот счёт уже порядочно, но всё как-то обрывками да слишком заумно, для тех кто это видит в первый раз. Поэтому постараемся разобрать всё это дело по косточкам.


Файлы конфигурации MGCAMD

Все файлы которые нужны для правильной работы mgcamd должны находиться в папке /var/keys и ни в какой другой. Также, поскольку мы в Linux, обратите внимание, что заглавные/прописные буквы в именах файлов должны быть как указано ниже. Все файлы - это обычные текстовые файлы.

/var/keys/AutoRoll.Key
/var/keys/SoftCam.Key - в этих файлах хранятся ключи для чисто эмуляционной части mgcamd. Для шаринга эти файлы не нужны, но если поместить в них правильные ключи, то можно открыть некоторые каналы со "взломанными" кодировками вообще без шаринга. Подробнее об этих файлах ниже, в отдельном разделе по эмуляции с помощью SoftCam.

Супер ценный совет:

Цитата

Если вы собрались использовать softcam файл для одних каналов и шаринг для других, убедитесь, что в SoftCam.Key НЕТ ключей на те каналы, которые вы собираетесь шарить. mgcamd всегда смотрит сначала в SoftCam.Key и если находит там ключ (хоть и устаревший) он будет использовать его, и до шаринга не доберется. Поэтому очень рекомендую сначала временно убрать *.Key файлы из /var/keys, настроить шаринг, убедиться, что он работает, а потом уже смотреть, что можно дополнительно открыть на вашем спутнике используя SoftCam.




/var/keys/mg_cfg
/var/keys/newcamd.list
/var/keys/ignore.list
/var/keys/priority.list
/var/keys/replace.list - эти файлы нужны для правильной работы шаринга. Если у вас остались ещё какие-то файлы в папке /var/keys и вы больше не пользуетесь никаким другим софтом, кроме mgcamd - можете все остальное переместить в другое место, чтобы не мозолило глаза. Итак, в файле mg_cfg содержится основная системная конфигурация mcgamd, типа настроек таймаутов при работе с сетью, опции отладки и лог-файлов. В файле newcamd.list прописываются параметры для коннекта на сервер(ы) шаринга, то есть сюда заносятся все параметры, полученные вами от конкретного шаринг провайдера. Файлы ignore.list, priority.list и replace.list позволяют произвести "тонкую настройку", параметров шаринга, чтобы каналы которые идут в нескольких кодировках открывались быстрее. Без этих трёх последних файлов можно обойтись если вас устраивает скорость открывания кодированных каналов. Этих трех файлов, кстати, вообще нет после установки новой прошивки и их, при желании, нужно создавать с нуля самому, в зависимости от принимаемых пакетов и в зависимости от конфигурации на сервере шары (см ниже).

Разберём теперь главный конфигурационный файл mg_cfg. Этот файл уже должен быть в папке /var/keys изначально, если вы поставили прошивку NLB. Каждая строка, начинающаяся с символа # в э том файле - это комментарий, который только для вас. Программа эти строки игнорирует. Параметры, считываемые программой при запуске имеют следующий вид:

буква: { цифра } дополнительные параметры

Буква означает тот или иной параметр, как описано ниже. Цифра означает одно из возможных значений параметра. Дополнительные параметры должны присутствовать только там, где это необходимо.

Вот пример этого файла, с убранными комментариями, то есть нужный минимум.
Реально, вам (возможно) понадобится подкрутить параметры L, К и N. Всё остальное можно смело ставить как здесь.
Подробное описание всех параметров смотрите ниже, а отдельную информацию по настройке параметров К и N - в конце раздела о логах mgcamd.

mg_cfg:




Код

A:{0}
C:{1}
D:{0}
E:{3600}
G:{1}
H:{7}
K:{3} # ECM timeout
L:{1} 192.168.1.1 514 # Logging
M:{0}
N:{7} 4 30 # Reconnect options
P:{2}
Q:{30}
R:{4}
T:{0}
U:{0}





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



Код

# AU - автообновление. Выбрать одно из четырех:
# 0 выключить функцию AU
# 1 включить обработку EMM для софт-эмулятора и карт шаринга
# 2 авторежим, включать EMM только если канал не открывается
# 3 включить EMM обработку только для карт доступных по сети
# Насколько мне известно, это дело нужно было для пакета TPS на
# спутнике Hotbird, но теперь всё это дело прошлого. Поэтому выключаем.
A: { 0 }

# Тип устройства
# 0 авто
# 1 dbox2
# 2 dreambox
# 3 triple-dragon
# 4 relook
# 5 openbox
# рекомендуется оставить авто:
B: { 0 }

# ECM messages
# Показ EСM-cообщений. В качестве значения выбрать одно из трех:
# 0 не показывать ничего
# 1 обычный режим: показывать PID, и декодированные ECM и CW
# 2 подробный режим: показывать всё подряд включая весь дамп
# Это дело лучше видеть, чтобы сразу было понятно, работает
# шаринг или нет, поэтому включим обычный режим:
C: { 1 }

# Отладочная информация в лог-файле
# 0 off (default)
# 1 ecm
# 2 emm
# 4 network ecm
# 8 network emm
# 16 network login
# 32 показывать статистику загрузки памяти и CPU каждую минуту
# 64 добавить дату и время к каждой записи в лог
# обычно эту опцию включать не нужно, но ради интереса можно попробовать.
# в логе будет гораздо больше информации, чем обычно
D: { 0 }

# кэширование ECM (в секундах)
# каждая запись в кэш отъедает 28 байт, поэтому 24 часа кэша отъест 240-400 КБ памяти
# вполне можно позволить себе такую роскошь, чтобы не обращаться заново к карте шаринга
# если вы скачете по каналам туда сюда, как угорелый. Хотя вообще-то это бесполезно,
# так как нынче ключики живут считанные секунды.
E: { 3600 }

# Сетевой протокол для шаринга.
# Можно выбрать несколько значений, просуммировав отдельные опции.
# 0 сеть отсутствует (шаринга не предвидится)
# 1 клиент newcamd
# 2 клиент radegast
# 4 клиент camd3
# 8 клиент gbox
# Как говорится, "стандарт индустрии", протокол newcamd.
# Кстати, протокол camd3 сломан в версии mgcamd 1.31 на IPBOX - у меня так и не заработал
G: { 1 }

# Что кэшировать? Значений может быть несколько как сумма следущих:
# 0 отключить кэширование
# 1 кэшировать Ecm pids, и сохранять в файле /tmp/ca_cache.list при перезапуске
# 2 вести кэш Ecm, и помнить значения столько секунд, сколько указано в опции "E" выше
# 4 вести кэш Emm для карт доступных по сети, чтобы не слать один и тот же EMM снова
# Как уже сказано в опции E, толку от этого кэширования достаточно мало, но пусть будет:
H: { 7 }

# Значение в секундах для тайм-аута сетевого запроса.
# Поставим 3 секунды, так как обычно сервер должен ответить в этих пределах.
# Для некоторых глючных пакетов, типа Nova, этот параметр можно и увеличить до 5.
# Но помните, чем больше этот параметр, тем медленней mgcamd будет
# обращаться к серверу если от сервера не пришел ответ во время.
# Если сервер не отвечает за это время, см. параметр "N".
K: { 3 }

# Опции для лог файлов, можно выбрать несколько параметров как сумму:
# 0 не вести лог
# 1 лог через сеть (по протоколу UDP Syslog)
# 2 лог на консоль
# 4 лог в файл (который будет всё время расти, и поэтому он может забить
# всю флеш-память - его вам придется чистить вручную)
# дополнтельные параметры: IP-адрес + UDP порт для сетевого лога + имя лог-файла
#
# Это очень важная опция для того, чтобы сразу увидеть где грабли, если
# что-то не работает, или работает не так как надо. Идеальней всего использовать
# лог по сети. Эта процедура описана ниже подробнее. Здесь же нужно указать
# IP адрес вашего обычного компьютера в вашей локальной сети, UDP порт, который
# обычно должен быть 514 и если хотите включить лог-файл на самом ресивере, то
# имя файла, где-нибудь, например в папке /tmp. Для включения лога в файл,
# нужно поменять { 1 } на { 4 } или { 5 }. Если параметр не 4 и не 5, то имя лог файла
# можно не писать.
L: { 1 } 192.168.1.1 514 /tmp/mgcamd.log

# Показ EMM-cообщений. В качестве значения выбрать одно из трех:
# 0 не показывать никаких EMM
# 1 показывать только верные EMM
# 2 показывать верные и неверные сообщения EMM, включая весь дамп
# Это дело нам не понадобится, поэтому выбираем "не показывать":
M: { 0 }

# Повторная попытка при работе с сетью. Очень важный параметр!!!
# Можно выбрать несколько значений, просуммировав отдельные опции.
# 0 не пытаться повторить запрос
# 1 повторная попытка при каждом новом ECM
# 2 повторная попытка присоединиться к недоступному ранее серверу
# каждые Q секунд (Q дается как отдельный параметр "Q" ниже)
# 4 пробовать быстро пере-соединиться к отрубившемуся серверу:
# либо после XX ECM запросов без ответа от сервера,
# либо если нет ответа от сервера в течение YY секунд
# Числа XX и YY даются как дополнительные параметры
# Относительно числа XX - mgcamd будет ждать ответа от сервера столько
# секунд, сколько указано в параметре "К"
#
# Рекомендую установить все опции 01 + 02 + 04, то есть их сумму = 07.
# В качестве дополнительных параметров XX и YY можно взять 4 запроса
# без ответа или 30 секунд. Хотя, наилучшие значения будут напрямую зависеть
# от качества вашего Интернета и провайдера шары.
N: { 7 } 4 30

# разновидность экранного интерфейса:
# 0 нет меню на экране
# 1 neutrino
# 2 enigma
# 3 relook
# + имя пароль (как дополнительные параметры для авторизации)
# Это всё нам вообще не понадобится. Это для других ресиверов:
O: { 0 } username password

# Приоритет протоколов (если у вас их несколько)
# 0 gbox, newcamd, radegast, camd3
# 1 camd3, radegast, newcamd, gbox
# 2 newcamd, camd3, gbox, radegast
# нас интересует newcamd, поэтому поставим его на первое место:
P: { 2 }

# Пытаться коннектиться на "мертвый" сервер каждые 30 секунд
# (если включено в опции "N" выше)
Q: { 30 }

# Cчитывать файлы конфигурации повторно.
# Параметр может быть суммой следующих значений:
# 0 считывать все файлы конфигурации только раз при запуске mgcamd
# 1 считывать файлы каждый раз при смене канала
# 2 считывать файл SoftCam.Key каждый раз при смене канала
# 4 считывать файл SoftCam.Key, если он изменился
# Поскольку меняться будет потенциально только SoftCam.Key (и то редко), установим 04:
R: { 4 }

# Что показывать на экранном меню:
# 1 emu ecm
# 2 шару через сеть
# 4 показывать "некодированный канал" / "не могу открыть"
# 8 показывать обновление ключей EMM
# + web порт для экранного меню
# Это всё нам не понадобится. Это для для других ресиверов:
S: { 0 } 80

# Папка с файлами конфигурации (softcam, autoroll, ignore/priority)
# 0 файлы в папке /var/keys
# 1 файлы в /tmp
# Тут и так понятно, что нужно выбрать 0:
T: { 0 }

# Обновление ключей. Нужно выбрать 2 параметра, как сумму 01/02 плюс 04
# 1 обновлять только новые ключи
# 2 обновлять все ключи (для валидации PMK)
# 4 включить функцию TPS AU (в дополнительных параметрах указать
# SID, в котором pmt pid содержит au pid): U: { 5 } 0x1234
# Это дело работает вместе с параметром "A".
# Поскольку мы вырубили "A", выключаем и это дело тоже:
U: { 0 }




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

ВНИМАНИЕ: Грабли!

Цитата

Строки с конфигурацией серверов в этом файле должны начинаться с CWS=.... То есть, не должно быть никаких других символов перед CWS, даже пробелов! Иначе mgcamd просто проигнорирует такие строки.



Вот пример:


Код

# как часто (в секундах) проверять сервер шары на признаки жизни. Полезно, если долго сидите на некодированном канале.
CWS_KEEPALIVE = 300



# никаких других параметров в этом файле больше не нужно, кроме указания серверов шары ниже!

# каждая последущая строка описывает ваш коннект на тот или иной пакет шаринга.
# если у вас несколько разных пакетов, на каждый пакет идет своя строчка конфигурации.
# даже если сервер один и тот же, на каждый пакет может быть свой отдельный порт, поэтому нужно
# прописать все отдельно. вся информация из биллинга. Формат строки следующий:
# CWS = адрес-сервера порт-сервера логин-биллинга пароль-биллинга строка-из-14-цифр-из-биллинга
# для примера, вы купили два пакета: значит у вас будет 2 строки
# (вcе параметры ниже ненастоящие, вам нужно взять вашу личную инфу из биллинга):

CWS = server1.com 1234 username password 0102030405060708091011121314 # пакет X
CWS = server2.com 5678 username password 0102030405060708091011121314 # пакет Y


В принципе - это всё. Минимум для шаринга осуществлен.
Перегружайте ресивер и если у вас правильно настроена домашняя сеть, выход в Интернет и настройки файлов приведенных выше совпадают с биллингом, то всё должно заработать.

Можно пойти дальше и настроить mgcamd самым оптимальным образом. Особенно, если вы заметите, что некоторые каналы открываются по несколько секунд. Для этого нам понадобятся файлы ignore.list, priority.list и replace.list. Но для того, чтобы понять что туда писать, лучше сначала понять что именно происходит при работе mgcamd. Поэтому сначала запустим всё как есть без этих файлов, и посмотрим в лог, где мы найдем информацию, которая поможет нам создать эти три файла. Как читать лог описано ниже. После этого описано как настроить файлы ignore.list, priority.list и replace.list.

Суперценный совет для избежания бана на шаринге!!!

Цитата

В прошивках NLB, начиная с версии 8873 (и выше), появилась возможность запустить сразу три эмулятора mgcamd одновременно: один для просмотра каналов, второй для записи и третий для функции картинка-в-картинке для кодированных каналов (до этого такое не работало, если все три канала шарились). Поэтому в папке /var/keys вы увидите целых три файла newcamd.list. Всё работает прекрасно (если скопировать содержимое из первого файла во второй и третий), но проблема в том, что теперь у вас на сервер шары пойдет в 3 раза больше запросов. В результате, скорее всего вы получите бан. Или просто не сможете подсоединиться к серверу больше раза. Если вы НЕ отредактируете все три файла, а только один (чтобы попытаться избежать бана), то вы не сможете записывать кодированные каналы. Самый частый вопрос, который задают после установки прошивки 8873: "почему у меня перестала работать запись и тайм-шифт кодированных каналов?" Поэтому, если только у вас нет специального соглашения с провайдером шары, это дело нужно отключить! Отключение делается очень просто: заходим в web-интерфейс или вызываем NLB Panel зелёной кнопкой. Идем в пункт меню "Emu Status" и выставляем параметр "use mglaunch with mgcamd" в значение "No". После чего перегружаем ресивер. Теперь будет использоваться только один файл newcamd.list для всего (включая запись и тайм-шифт).