Gi S8120 HD Linux E2 + Spark, Gi Avatar HD Linux E2 + Spark > FAQ

Wicardd.conf c нуля – это легко

(1/55) > >>

Vasiliks:
Урок 1. Начало.

Решил написать небольшую инструкцию по написанию конфигурационного файла (в дальнейшем  конфига) эмулятора Wicardd c нуля. Надеюсь многим это облегчит понимание чего, куда и как прописывать
В примерах будут указываться только минимально необходимый набор строк для полноценной работы в том или ином случае.

Начнем с минимального конфига. Он будет иметь всего пять строк:


--- Код: ---[dvb]
type = AUTO

[reader]
type = newcamd525
account = user:password@server:port
--- Конец кода ---

при этом получаем полностью работоспособный эмулятор. Или вариант немного длиннее, но с мультипортом:


--- Код: ---[dvb]
type = AUTO

[reader]
type = newcamd525
account = user:password@server
multiport = 1111,2222,3333,4444,5555 и т.д.
--- Конец кода ---

Этот вариант дальше будем рассматривать как основной.

Внизу прикреплен файл описания основных параметров от автора эмулятора.

Vasiliks:
Урок 2. Смотрим лог работы эмулятора.

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

Но так смотреть очень не удобно, для этого придумали следующие варианты
  a)   выводить на консоль;
  b)   выводить в файл, который потом можно открыть текстовым редактором;
  c)   смотреть в online-режиме с помощью специальных программ (Wilog, TraySyslog и др.) или телнет;
  d)   через вэб-интерфейс.

Рассмотрим по очереди все варианты. Сначала добавляем в начало конфига секцию под названием [global], а затем дописываем в секции, работу которых хотим наблюдать, параметр debug.

Параметр debug может принимать следующие значения:
0 – выключено;
1 – включено с минимальным уровнем логирования (достаточно в 99% случаев);
3 – детальный лог(ставим только тогда, когда предыдущий вариант не дает      достаточно информации).

Для первого варианта вывода лога наш конфиг примет вид

--- Код: ---[global]
debug = 1

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
debug = 1
multiport = 1111,2222,3333,4444,5555

--- Конец кода ---

Для второго варианта добавим еще одну строку:
log = /tmp/wicardd.log, 
где /tmp/wicardd.log – имя лог-файла и полный путь к нему.

Теперь весь  конфиг примет вид:


--- Код: ---[global]
debug = 1
log = /tmp/wicardd.log

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
multiport = 1111,2222,3333,4444,5555
debug = 1

--- Конец кода ---

Для третьего варианта добавим другую строку:
log_udp = hostname:port, 
где hostname  - сетевой адрес, а  port – порт на который выводить лог. При отсутствии параметра port, используется порт по умолчанию 514.

Новый вид нашего конфига:

--- Код: ---[global]
debug = 1
log_udp = 192.168.1.5 или log_udp = 192.168.1.5:514

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
multiport = 1111,2222,3333,4444,5555
debug = 1

--- Конец кода ---
Для использования просмотра через вэб-интерфейс необходимо добавить еще одну секцию в конфиг:


--- Код: ---[webif]
port = 8888
debug = 1
--- Конец кода ---
где port - порт HTTP сервера
а debug - уровень логирования (рассмотрено выше)

а в секцию [global] строку

--- Код: ---log_rb_size = 20 #размер кольцевого буфера в стоках, задается для хранения лога с последующим отображением в WEB интрефейсе
--- Конец кода ---

Теперь конфиг примет вид

--- Код: ---[global]
debug = 1
log_rb_size = 20

[webif]
port = 8888
debug = 1

[dvb]
type = AUTO
debug = 1

[reader]
type = newcamd525
account = user:password@server
multiport = 1111,2222,3333,4444,5555
debug = 1

--- Конец кода ---
Все варианты просмотра лога можно совмещать вместе. Я предпочитаю смотреть его по сети, поэтому в дальнейших примерах будет упоминаться только этот вариант.

Для управления секциями (активна или выключена в данный момент) существует парамер active со значениями 0 и 1, где
0 – секция отлючена
1 – секция активна (значение по умолчанию)

Vasiliks:
Урок 3 Добавляем фильтрацию.

Фильтрация по параметрам caid,  ident, chid, sid ускорит процесс открывания каналов, а во многих случаях, при наличии нескольких caid и ident на одном канале, позволит избежать ложных запросов.
Для этого добавляем секцию с именем [filter], а в секции [dvb] делаем ссылку на этот фильтр.

Допустим у нас есть пакеты каналов со следующими параметрами:
caid    : ident
0AAA:000000   
0BBB: 111111
0CCC:222222
0DDD:333333
и сервер (server1), который открывает их по портам 1111,2222,3333,4444 соответственно.
 
Новый вид нашего конфига:

--- Код: ---[global]
debug = 1
log_udp = 192.168.1.5

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0AAA;ident=0;accept
rule = caid=0BBB;ident=111111;accept
rule = caid=0CCC;ident=222222;accept
rule = caid=0DDD;ident=333333;accept
rule = reject


[reader]
type = newcamd525
account = user1:password1@server1
multiport = 1111,2222,3333,4444
debug = 1

--- Конец кода ---
где параметр accept разрешает обработку каналов с перечисленными параметрами, а правило rule = reject запрещает все остальные.

Я предпочитаю более сложный вариант, где указывается конкретно какой канал, с какими параметрами и каким ридером обрабатывать. Для этого в секции [filter] указывается прямая ссылка на необходимый ридер, а самому ридеру необходимо дать произвольное имя с помощью параметра name.

Новый вид нашего конфига:

--- Код: ---[global]
debug = 1
log_udp = 192.168.1.5

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0AAA;ident=0;accept=Shara1111
rule = caid=0BBB;ident=111111;accept=Shara2222
rule = caid=0CCC;ident=222222;accept=Shara3333
rule = caid=0DDD;ident=333333;accept=Shara4444
rule = reject


[reader]
name = Shara
type = newcamd525
account = user1:password1@server1
multiport = 1111,2222,3333,4444
debug = 1

--- Конец кода ---
Как видим адрес ссылки образуется слиянием двух параметров: имени сервера и номера необходимого порта. Пробелов быть не должно.
Этот вариант конфига является самым оптимальным для работы.

Vasiliks:
Урок 4 Добавляем обработку каналов со статичесткими ключами.

Для обработки каналов со статичесткими ключами добавляем еще один ридер

--- Код: ---[reader]
type = emu
name = EMU
file = /usr/keys/SoftCam.Key
--- Конец кода ---

где /usr/keys/SoftCam.Key имя файла с ключами и полный путь к нему.
В секции [filter] добавляем строку, разрешающую обработку этих каналов.


--- Код: ---rule = caid=0D00,2600;accept=EMU
--- Конец кода ---

Наш конфиг после очередного пополнения примет вид

--- Код: ---[global]
debug = 1
log_udp = 192.168.1.5

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0D00,2600;accept=EMU
rule = caid=0AAA;ident=0;accept=Shara1111
rule = caid=0BBB;ident=111111;accept=Shara2222
rule = caid=0CCC;ident=222222;accept=Shara3333
rule = caid=0DDD;ident=333333;accept=Shara4444
rule = reject

[reader]
name = Shara
type = newcamd525
account = user1:password1@server1
multiport = 1111,2222,3333,4444
debug = 1

[reader]
type = emu
name = EMU
file = /usr/keys/SoftCam.Key
--- Конец кода ---


Урок 5. Работа с официальной картой.

И тут вам сделали сюрприз, подарили официальную карту одного из операторов. Что делать? Ничего сложного, главное чтобы карта не была привязана к рекомендованному оборудованию. Пускай параметры карты будут следующие:
caid  : ident
0FFF:123456

Добавляем ридер для работы с картой

--- Код: ---[reader]
active = 1
name = sci0
type = tuxbox
device = /dev/sci0
debug = 1
--- Конец кода ---

а в фильтре разрешаем обработку каналов, которые будут открываться картой

--- Код: ---rule = caid=0FFF;ident=123456;accept= sci0
--- Конец кода ---

итоговый конфиг примет вид

--- Код: ---[global]
debug = 1
log_udp = 192.168.1.5

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0D00,2600;accept=EMU
rule = caid=0AAA;ident=0;accept=Shara1111
rule = caid=0BBB;ident=111111;accept=Shara2222
rule = caid=0CCC;ident=222222;accept=Shara3333
rule = caid=0DDD;ident=333333;accept=Shara4444
rule = caid=0FFF;ident=123456;accept= sci0
rule = reject

[reader]
name = Shara
type = newcamd525
account = user1:password1@server1
multiport = 1111,2222,3333,4444
debug = 1

[reader]
type = emu
name = EMU
file = /usr/keys/SoftCam.Key

[reader]
active = 1
name = sci0
type = tuxbox
device = /dev/sci0
debug = 1

--- Конец кода ---
P.S. В данном примере параметры картоприемника указаны для спаркобразных аппаратов. Для остальных все это можно найти в официальном ФАКе по викарду.

Vasiliks:
Урок 6. Добавляем обработку с помощью резервного сервера.

Для случая когда основной сервер перестает отвечать, а смотреть охота, задействуем подключение к резервному серверу.
Для этого нужно добавить столько балансировщиков, сколько хотим подключить к резервному серверу.
Допустим у нас есть резервный сервер, обрабатывающий только пакеты каналов с параметрами 0BBB: 111111 и 0DDD:333333 по портам 7222 и 7444 соответственно. Добавляем сначала ридер резервного сервера

--- Код: ---[reader]
name = Rezerv
type = newcamd525
account = user1:password1@server1
multiport = 7222,7444
debug = 1
--- Конец кода ---

затем добавляем два балансировщика, которые будут ссылаться на нужные нам ридеры,

--- Код: ---[balancer]
name = Paket1
chain = Shara1111; Rezerv7222
mode = 2
debug = 3
active = 1

[balancer]
name = Paket2
chain = Shara4444; Rezerv7444
mode = 2
debug = 3
active = 0
--- Конец кода ---

а в фильтрах изменим адреса для нужных нам пакетов

--- Код: ---rule = caid=0BBB;ident=111111;accept=Paket1
rule = caid=0DDD;ident=333333;accept=Paket2
--- Конец кода ---

Теперь у нас будет уже такой конфиг


--- Код: ---[global]
debug = 1
log_udp = 192.168.1.5

[dvb]
type = AUTO
debug = 1
filter = dvb

[filter]
name = dvb
rule = caid=0D00,2600;accept=EMU
rule = caid=0AAA;ident=0;accept=Shara1111
rule = caid=0BBB;ident=111111;accept=Paket1
rule = caid=0CCC;ident=222222;accept=Shara3333
rule = caid=0DDD;ident=333333;accept=Paket2
rule = caid=0FFF;ident=123456;accept=sci0
rule = reject

[balancer]
name = Paket1
chain = Shara1111;Rezerv7222
mode = 2
debug = 3
active = 1

[balancer]
name = Paket2
chain = Shara4444;Rezerv7444
mode = 2
debug = 3
active = 1


[reader]
name = Shara
type = newcamd525
account = user1:password1@server1
multiport = 1111,2222,3333,4444
debug = 1

[reader]
name = Rezerv
type = newcamd525
account = user2:password2@server2
multiport = 7222,7444
debug = 1

[reader]
type = emu
name = EMU
file = /usr/keys/SoftCam.Key

[reader]
active = 1
name = sci0
type = tuxbox
device = /dev/sci0
debug = 1

--- Конец кода ---
В балансировщиках рекомендую использовать параметр debug со значеним 3. О параметре mode отлично написано в официальном ФАКе по викарду.

Добавлено: 27 Октябрь 2016, 22:30:09 :)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии