Показать сообщение отдельно
Старый 16.05.2016, 19:36   #3191
woditel
Пользователь
 
Регистрация: 07.04.2013
Ресивер: Gi 8120 Gi Micro Open Sx4 Open S1
Сообщений: 70
Сказал(а) спасибо: 35
Поблагодарили 132 раз(а) в 73 сообщениях
Вес репутации: 13
woditel пока неопределено
По умолчанию

Цитата:
Сообщение от alekstar
не фильтров, а правил в фильтре!
alekstar, специально для Вас:

Автор: WiCard
Логика фильтров реализована на подобии правил в iptables
# [filter]
# rule = [условие];[условие];[присвоение];[присвоение];[действие]
# условия:
# caid, ident, class, sid, chid
# caid=0500,0B00 - положительно, если caid запроса один из перечисленных
# limit n,s,b,m - n колличество запросов за s секунд
# marked N - проверить маркер запроса (логическое OR маркера и N)
# banned - проверить на бан
# для всех условий поддерживается логическое NOT
# caid!=0500,0B00 - положительно, если caid запроса отличается от перечисленных
#
# присвоение:
# caid := 0
# ident := 0
# chid := 0
#
# действия:
# accept - отработать запрос
# reject - отвергнуть запрос
# skip N - пропустить N правил
# mark N - маркировать запрос
# ban N - забанить на N минут
# fakecw - вернуть пустой CW
[ECM request source] -> [source filter] -> [ECM dispather] -> [reader filter] -> [reader]
ECM request source может быть: account(server), dvb, card

Как пример рассмотрим фильтр секции dvb для HD и SD каналов
[dvb]
filter = dvb_sd_hd
[filter]
name = dvb_sd_hd
rule = caid=0500;ident=030600;sid!=2f45,2f46,2f47,2f48,2f 49,2f4a,3715;reject
rule = caid=0500;ident=023700;sid=2f45,2f46,2f47,2f48,2f4 9,2f4a,3715;reject
rule = accept
что означает:
rule = caid=0500;ident=030600;sid!=2f45,2f46,2f47,2f48,2f 49,2f4a,3715;reject
если CAID равен 500 и ident равен 030600 и SID не равен одному из перечисленных (HD каналы), не отрабатывать запрос
rule = caid=0500;ident=023700;sid=2f45,2f46,2f47,2f48,2f4 9,2f4a,3715;reject
если CAID равен 500 и ident равен 023700 и SID равен одному из перечисленных (HD каналы), не отрабатывать запрос
rule = accept
правило по умолчанию, сработает, если ни одно из выше перечисленных не удовлетворило условиям.

Платформа HD & DV:
[dvb]
filter = dvb_paltform
[filter]
name = dvb_paltform
rule = caid=4ae1;ident=14;reject
rule = caid=4ae1;ident=15;ident:=0;accept
rule = accept

rule = caid=4ae1;ident=14;reject если ЕСМ для карты, которая идет с GS9300 (4AE1:14), то отвергнуть запрос
rule = caid=4ae1;ident=15;ident:=0;accept если для (4AE1:15) - заменить провайдера на 0 (ident:=0) и передать запрос в диспетчер запросов.

Подмена нужна только в том случае, если ключи берутся с хитрого сервера.

Радуга:
[dvb]
filter = dvb_raduga
[filter]
name = dvb_raduga
rule = caid=0652;chid!=15;reject
rule = accept

Все эти фильтры можно объединить:
[filter]
name = dvb
rule = caid=0500;ident=030600;sid!=2f45,2f46,2f47,2f48,2f 49,2f4a,3715;reject
rule = caid=0500;ident=023700;sid=2f45,2f46,2f47,2f48,2f4 9,2f4a,3715;reject
rule = caid=4ae1;ident=15;ident:=0;accept
rule = caid=0652;chid!=15;reject
rule = accept
woditel вне форума   Ответить с цитированием
Пользователь сказал cпасибо: