Версия 1.16 (2013-11-15) (celerity)
+ Core поддержка ресиверов на базе STiH237 (Cardiff) PTI5
* Core SH4 исправлена ошибка Unaligned userspace access
* STAPI исправлена ошибка декодирования PiP, если одинаковый ECM PID
+ Core поддержка ресиверов PrismCube
+ Core поддержка DRE4/Exset
* Core переписана реализация очереди ридеров, значительно улучшена производительность
* Reader исправлен алгоритм задержки запросов ecm_delay
* Balancer одинаковые запросы отправляются в очередь ридера, в который поступил первый запрос
* Balancer исправлен алгоритм балансировки, учитывается только кол-во уникальных запросов в очереди ридера
+ Reader добавлен кеш недекодированных запросов
+ Filter добавлено условие privdata (DVB private data)
* emucworks исправления в поддержке нано 8060
- параметры ecm_queue_size, pending_ecm_cache_size, emm_process_delay не используются
Версия 1.15 (2013-08-18) (paranoia)
* Reader CAMD csS378x исправлена ошибка, которая приводила к подвисанию ридера
* Reader DRE3/Exset добавлена обработка нешифрованных ECM
* Balancer mode=3 все одинаковые запросы отправляются на один ридер, счетчик не увеличивается
+ Reader поддержка SOCKS4a прокси, для ридеров, которые работают через TCP
+ Reader эксперементальная поддержка CCCAM протокола
+ Reader type = batch EMM/ECM запросы отрабатываются внешним shell-скриптом
+ Core секция batch позволяет отправлять EMM/ECM запросы из внешнего shell-скрипта
+ Core шифрованный файл конфигурации (openssl aes-128-cbc), пароль задается ключем -P password
+ DVB secured_config шифрованный конфиг, который расшифровывается определенной комбинацией переключения каналов
+ emucworks поддержка нано 8060
+ Viaccess добавлены алгоритмы дешифрования ECM (D2 02 0F xx) и (D2 02 11 xx)
+ Core поддержка ARM
Версия 1.14 (2013-05-03) (day123)
* Core исправления в расчетах ecm_ttl, время жизни подсчитывается локально для каждого ридера, с момента поступления запроса в ридер
* CAMD35 исправлена ошибка в версии x86_64
* Tuner исправлена ошибка с подвисанием декодирования и определениея длины пакета Openbox
+ Reader добавлена опция emm_priority
+ Core добавлена кодировка Exset
* Reader исправлена ошибка загрузки бинарных прошивок PIC и AVR
* DVB иправления в алгоритме работы с CCW
+ STAPI поддержка карт Irdeto на ресиверах Fortis
* Cygwin снижена нагрузка на процессор
* DVB рестарт EMM фильтров при обновлении состояния любого из ридеров
Версия 1.13 (2013-03-28) (STeady)
* DVB переписана поддержка STAPI
* STAPI одновременное декодирование PiP, отложенной записи.
* STAPI моментальное декодирование звуковой дорожки при смене последней
+ STAPI добавлена возможность назначения соответствия PMT файла к PTI устройству (stapi_pmt_map)
+ Reader NewCAMd добавлена опция multiport, упрощающая конфигурацию подключения к серверу с одинаковыми параметрами доступа, но разными портами
* emuvia поправлена работа с идентом 030B00
* emucworks поправлена работа с ключами 00/01
Версия 1.12 (2013-02-23) (doublemu)
+ Reader добавлена эмуляция goldcard/bluecard, funcard
Версия 1.11 (2012-12-12) (FreeOne/12)
+ Core тестовая сборка для x86_64 систем
+ DVB добавлен стриминг TS потоков с аппаратным декодированием на ресиверах с DVB API >= 3 и программным наш i386
+ Reader NewCAMd добавлена возможность прописать до 8-ми серверов, переключаются в случае проблем покругу
+ Core учетные записи пользователей хранятся в AVL деревьях
+ Core реализация кеширования доступа к памяти (object pool) для ECM запросов, пользовательского контекста и тд.
+ Conax поддержка RSA оверкрипта (ключ rsamod)
* STAPI испарвления в инициализации карты на Fortis ресиверах
* Filter изменения в алгоритме правила limit (антикаскадинг)
* Irdeto исправлена подписка на групповые EMM
* Server ключи allow_ip и deny_ip не работали
* Server уменьшено кол-во создаваемых тредов (потоков)
* DVBAPI восстановлена работа опции dre_fix
* Core отключен алгоритм Нейгла
* Filter исправлена ошибка в ACCEPT при переходе непосредственно на указанный ридер
* CCCAM исправлена ошибка обработки keepalive
* CAMD35 исправлена ошика обработки длинных ECM
* WebIF исправлнеа ошика отображения "длинных" страниц
Версия 1.10 (2012-04-15) (EasterEgg)
+ Filter изменения в логике прохождения цепочек фильтров, добавлены типы pre, post, both, emm
+ Filter расширены операторы сравнения и присвоения, добавлены переменные, появилась возможность фильтрации по содержимому ECM/EMM и многое другое.
+ Filter добавлено правило uniq, ограничение по IP
+ Filter добавлено правило timeframe, позволяющее изменять логику фильтров с привязкой к текущему времени
+ Filter добавлено правило demux, номер DVB демультиплексора, позволит переназначить запросы PVR на определенный ридер
+ Filter в действии ACCEPT можно указывать имя ридера, запрос пойдет напрямую в ридер минуя балансировщик
+ Filter добавлено правило entrust, позволяющее отправлять на декодировани запрос, который пришел с двух разных источников и совпадает
+ Balancer добавлен round-robin алгоритм (mode = 3) позволяет равномерно распределять нагрузку между несколькими ридерами
+ Balancer добавлен режим (mode = 4) параллельного декодирования несколькими ридерами
+ CAMd35 асинхронный режим работы (async_mode = 1)
+ DVBAPI реализовано декодирование PiP и PVR на устройствах с Enigma2
+ DVBAPI добавлена поддержка DVB-S2 транспондеров
+ DVBAPI добавлена поддержка VDR DVBAPI plugin, type = VDR в секции [DVB]
+ Core опция provider поддерживает маску 0:0, 0:FFFFFF, FFFF:0 FFFF:FFFFFF = любой CAID:Ident
чтобы отправлять все запросы на сервер CAMD, нужно в provider секции reader прописать 0:0
0500:FFFFFF - отправлять все запросы с CAID 0500 не проверяя идент.
+ Reader добавлены эмуляторы NDS и Irdeto2
+ Reader добавлена поддержка карт кодировки Seca
+ Server в секциях server, webif, account добавлены ключи allow_ip и deny_ip позволяющие контролировать доступ на уровне IP адреса
+ Config добавлен тип секции [section_name.preset], в которой можно задавать параметры поумолчанию для [section_name]
+ Config добавлены макросы $name, задаются в секции global и подменяют значения во всех параметрах в конфиге
* DVBAPI AzBox исправления в режиме emm_filter_mode = 1
* DVBAPI исправлена ошибка при определении провайдера кодировки Seca
* DVBAPI в ecm.info добавлена информация о сервере декодировавшем запрос
* STAPI исправлена ошибка инициализации дескремблера на Amiko Alien 8900 Spark
* Phoenix исправлена ошибка, карта не сбрасывалась, если в буфере были данные
* NewCAMd исправлен алгоритм обработки keepalive
* Reader NagraVision исправлена ошибка приводившая к падению демона, исправлена ошибка переодического недекодирования запроса
* Reader переоткрытие COM-порта в случае ошибки, должно помочь при выпадении USB ридеров
* Reader исправлена ошибка в поддержке системы кодирования Cryptoworks
* Reader убрана задержка инициализации ридера при старте
* Reader в CYGWIN версии исправлена ошибка определения наличия карты в картоприемнике
Версия 1.09 HighLoad fix(2011-11-14)
* Reader newcamd устранена ошибка приводившая к большой загрузке процессора
Версия 1.09 (2011-11-12)
+ Server поддержка протокола CCcam в режиме сервера
+ Videoguard (NDS) добавлена поддержка CWE Key, проверено на 090D
+ Viaccess добавлено определение карт 5-й версии.
+ Viaccess добавлена возможность передать карте boxid.
+ AUTOCONF добавлена опция коммандной строки -a для генерации конфигурационного файла
+ AUTOCONF импорт конфигурации mgcamd, camd, cccam
* Reader добавлена опция пересчета контрольной суммы СW (recalc_cw_checksum = 1)
* Reader исправлена ошибка в протоколе обмена с картой, не отрабатывалаось 0x60 после INS ACK
* Filter в условии limit подсчитываются только декодированные запросы
* Filter ChID содержит номер версии кодировки DRE
* Filter добавлена проверка геокода (geo) для кодировки Viaccess
* NewCAMd исправлена ошибка подключения к удаленному серверу, переписана работа с сокетами
* CAMD35 добавлена поддержка "длинных" ECM
+ Core ecm_dedup_delay режим задержки одинаковых ECM, если однотипная ECM отправлена на один из ридеров,
то остальные однотипные запросы будут приостановлены на ecm_dedup_delay мс, при получении ответа от ридера -
приостановленные ECM декодируются из кеша, в ином случае отправляются на декодирование в ридер по
окончанию времени задержки
* Core при обрыве соединения с удаленным сервером, опправленные запросы, на которые не получены ответы,
повторно добавляются в очередь на отправку (ранее запрос не декодировался со статусом expired).
* Core оптимизирован алгоритм проверки кешированных ECM
* CCcam server исправлена ошибка, не блокировался пользователь во время активной сессии
+ DRE возобновлена поддержка модулей первой версии, задействован сигнал DTR для переключения между MSP и ATMEL,
RTS - сброс модуля.
* Conax вычитывются все SA карты, не работало обновление подписки и активация карт Irdto в режиме Conax тунелирования
* Core EMM не доставлялись серверу в случае о ошибки соединения с сервером
* Server переписана серверная часть с использованием epoll() и разделением рабочего потока, в результате уменьшена нагрузка на процессор
* Core использование read/write locks вместо mutex lock (возможен одновременный доступ на чтение кеша и тд.)
* Filter неверно работало условие при ChID равном FFFF, кодировка Irdeto
* Conax исправлена ошибка активации карт 0B0F
* DVBAPI изменен алгоритм регистрации EMM фильтров, должно уменьшить загрузку на AzBox. Параметр emm_filter_mode=1
* DVBAPI добавлен параметр adapter для запуска на нескольких DVB картах
+ WEBIF просмотр текущих подписок на картах
* WEBIF переписана серверная часть с использованием poll()
* STAPI исправлена ошибка приводившая к зависанию ресивера при удалении процесса WiCard
+ NagraVision добавлена поддержка системы кодирования
* Tuner исправлена ошибка работы с ресиверами по COM порту
+ Core отложенный запуск ридеров, должно решить проблему с подвисанием, если инициализация сети не закончена, так же ускорен процесс запуска
* Core переписана серверная часть, что должно уменьшить кол-во расконнектов.
+ Core добавлен backtrace лог падения процесса по seg fault
+ DVBAPI добавлена поддержка AU систем BetaCrypt (17xx) и NagraVision (18xx)
* Core исправлены ошибки приводившие к падению процесса
Версия 1.08 (2011-06-09)
+ DRECrypt поддержка карт DRE3 (4AE1:02)
* DRECrypt поддержка оверкрипта
* DRECrypt 52-я карта определяется как 4AE0:15
* DRECrypt исправлена ошибка EMM_S для 52-й карты
* DRECrypt исправлена ошибка EMM_S (AU) карт Триколор Сибирь
* Irdeto исправлена ошибка в передаче карте CAMKey
* Irdeto не отдавались UA провайдеров 01-03, из-за чего не работал апдейт подписок
* Viaccess исправлен AU ключей.
* DVBAPI исправления в AU Irdeto
* Phoenix не работала опция card_detect под Linux
* Card, Tuner, декодировался только один запрос.
* DVBAPI исправлена ошибка обработки EMM Viaccess
* DVBAPI затиралась частота текущего транспондера в реализации OpenXCAS, требуется для работы с TWIN протоколом
* DVBAPI исправлена ошибка записи ключей в дескремблер, проявлялось в виде фризов в кодировке NDS (где передается только четный или нечетный ключ)
* ST40 (SH4) Не определялись карты на Enigma, не работал DVBAPI
* Viaccess skip_geo не отправлять геокод в карту.
+ Cryptoworks добавлена поддержка системы кодирования (DVB, cardreader)
+ Phoenix добавлен параметр clock_freq, задается в Гц, позволяет разогнать карту (проверено на чипе FT232)
+ Videoguard (NDS) добавлена поддержка карт NDS, проверено на 090F и 093E
+ NewCAMd асинхронный режим работы async_mode
* Filter ошибка в отработке цепочки BANNED:=x
+ Filter добавлена инициализация маркера в секциях [card] и [server], что позволяет использовать в условии признак принадлежности к источнику запроса
+ Filter добавлено условие RLEN - длинна ECM запроса
+ Filter добавлено условие по группе, инициализация в секциях [card], [server] и [account], что позволяет использовать в условии признак принадлежности к источнику запроса
+ Filter добавлено действие BETAWRAP - тунелирование
+ Filter добавлено действие NEXT - переход к следующему фильтру
* Core изменения в выделении памяти для потока (thread), по умолчанию выделялось ulimit -s памяти для стека
+ Core добавлен поиск по wildcard имен секций, работает в auto_provider, chain и еще где-то где привязка идет к имени секции
+ CAMD35 добавлена опция not_decoded_answer_mode
Версия 1.07 (2011-01-13) fix
* DVBAPI при работе с кодировкой Irdeto, не перебирались ChID из-за ошибки в алгоритме принудительной задежки ECM (ecm_delay)
* DVBAPI OpenXCAS проблемы с декодированием каналов из-за ошибки в алгоритме принудительной задежки ECM (ecm_delay)
Версия 1.07 (2011-01-10) Памяти отца посвящается.
+ AUTOCONF режим автоконфигурации в случее если файл конфигурации не найден
+ TWIN экспериментальная поддержка протокола, проверено с Microbox
+ Discovery protocol автоматическая настройка паритетов в локальной сети
+ Reader cache добавлен тип кеш, все запросы попавшие в этот ридер отрабатываются только из ECM кеша
+ Balancer балансировщик запросов, позволяет задавать сценарий декодирования запроса, группы и цепочки
+ Server автоматическое завершение неактивных TCP сессий (keepalive)
+ Добавлено логирование IP адреса сетевых клиентов
+ NewCAMd в сервере добавлена опция guest_account, которая позволяет мапить пользователей, которых нет в списке на один эккаунт без учета пароля
+ Добавлен режим автообновления провайдеров серверной части при изменении провайдеров в секции reader, если прописан ключ auto_provider, как результат - клиенты перечитывают новые CAID:ProvID
+ DVBAPI параметр dre_fix = 1 - игнорировать информацию о номере провайдера, помогает в случае, если сервер возвращает 0-й провайдер
* Исправлена ошибка балансировки ECM (запросы отправлялись на неактивный ридер)
* DVBAPI исправлена ошибка при инициализации PID фильтра, не учитывался ProvID
* CAMd3 добавлен параметр suppress_cmd08, помогает для кодировки DRE, в случае если клиент перебирает все PID
* NewCAMd (Extended newcamd) исправлена ошибка инициализации соединения, из-за которой mgcamd не отправлял CAID:ProvID
* Изменения в логике отработки EMM запросов, фильтрация не только по UA но и по SA для DRE
* Filter расширены опции BANNED, FAKECW, ACCEPT
* DRECrypt E2 отдает PMT таблицу с ошибкой, вместо CAID 4AE1 - CAID 4AE5, из-за чего не работает HD Life в связке с картоприемником GS9300
* DRECrypt улучшения в алгоритме инициализации картоприемника GS9300
* DVBAPI STAPI исправлена ошибка инициализации STPTI Slot, проверено на оригинальной прошивке cuberevo.13554
Версия 1.06 (2010-11-07)
+ Betatunnel добавлена поддержка тунелирования
+ Добавлен фильтр в секции [tuner]
+ CAMD35 клиент и сервер (TCP и UDP)
+ NewCAMd добавлена возможность отдавать несколько CAID на одном порту (Extended newcamd)
+ NewCAMd автодетект WiCard сервера, позволяет использовать один порт для декодирования разных CAID
+ Вывод информации в syslog
+ UDP логирование
+ Время жизни ECM запроса, задается в секции reader
+ Логирование ECM запросов
+ Добавлена возможность выполнения картой комманд из файла exec_cmd_file
+ DVBAPI добавлена функция чтения SDT таблиц (название сервиса в логе и ecm.info файле)
* Изменения в логике отработки EMM запросов, фильтрация по UA и SA в теле EMM запроса
* DRECrypt исправлена ошибка при разборе ECM для карт "52-й" серии в режиме DRE1
* DRECrypt исправлено ошибка вычитывания текущей подписки
* Phoenix исправлена ошибка поддержки PTS карт Irdeto, поддержка SmarGo, изменения в алгоритме инициализации карты
* Cryptoworks EMU исправлена ошибка разбора файла ключей
* DVBAPI обнуление счетчика попыток декодирования в случае успешного запроса
* DVBAPI CA дескриптор Cryptoworks не содержит номер провайдера, инициализация ECM фильтра по совпавшему CAID
* DVBAPI исправлена ошибка приводившая к задержке декодирования канала при переключении
* DVBAPI STAPI работает PIP (проверено на Openbox S серии)
* DNotify исправлена ошибка обработки сигналов, приводило к завершению процесса
* NewCAMd keepalive для ридера, используются неблокируемые сокеты, подвисала сессия
* NewCAMd not threadsafe, исправлено
* NewCAMd не передавался CAID EMM (в случае с Extended newcamd не правильно подставлялся CAID EMM)
* Приложение отваливалось по SIGPIPE
* NewCAMd клиент не инициализировал SA, в результате чего могли частично не проходить апдейты карты
* Изменения в серверной части, используется poll, макс. кол-во дескрипторов задается в ОС
- Сборка без библиотек libz, librt (clock_gettime, ftime)
- Исключен параметр au_reader.
? STAPI нет поддержки карт Irdeto (T14)
Версия 1.05 (2010-08-25)
+ Добавлен глобальный кеш ECM
+ Добавлена возможность изменения размера очереди ECM запросов
+ Добавлена балансировка запросов между однотипными ридерами
+ Добавлена поддержка WiDongle (радиоудленитель COM-порта)
+ Реализована поддержка DVBAPI, (DVBAPI 1, DVBAPI 3, STAPI, QBoxHD, AzBox, DGSAPI)
+ Поддержка встроенных картоприемников STAPI, OpenXCAS (AzBox)
+ Добавлена система фильтров
+ В Cygwin версии реализована работа с COM портом через функции Windows
+ Реализованы EMU Viaccess (1, 2, 3), Cryptoworks, BISS
+ Поддержка OverCryptProcessor
+ Viacces поддержка нового формата ЕСМ (два запроса в одном пакете)
* Исправлена ошибка в диспетчере запросов, в некоторых случаях время декодирования увеличивалось на 500мс
* Viacces исправлена ошибка при обработке EMM
* DRECrypt исправлена ошибка при обработке индивидуальных EMM
* Устранена ошибка при инициализации [reader] type = tuner
* Ключи в секции [reader]: force_caid, force_provider, force_ua для тонкой настройки работы с картами DRE
- Удалена поддержка CCW (Constant CW)
Версия 1.04 (2010-03-25)
+ Реализована поддержка картоприемника DreamBox 600,800
+ DRECrypt реализована поддержка модулей первой версии (Atmel и MSP)
+ DRECrypt добавлена поддержка карт с ATR 3B 15 11 12 01 01 11 07
* DRECrypt исправлена ошибка вычисления DRE ID
* DRECrypt изменения в алгоритме обработки EMM
Версия 1.03 (2010-02-25)
* DRECrypt поддрежка карт версии 2, провайдер 11 (новые карты Триколор)
* DRECrypt изменения в алгоритме обработки EMM
+ DRECrypt поддержка карт Платформа HD (провайдер 14), общение с картой через картоприемник GS9300HD
+ Viaccess эмулятор кодировки версии 2.6
Версия 1.00 (2009-10-25)
#ключи командной строки
# -h help показать помощь
# -d daemon запустить в режиме демона
# -v verbose
# -c [filename] use config filename использовать файл конфигурации отличный от /etc/wicardd.conf и ./wicardd.conf
# -l [filename] use log filename
# -a сохранить результат автоконфигурации в конфиг файле
# -b [arg] configure WiBase конфигурирование радиобазы
# -w [arg] configure WiCard конфигурирование радиозонда
# -C calibrate mode
# -A spectrum analizer mode
# -R log rssi/lqi
# -L [channel] card logger логирование протокола обмена карты и радиозонда
# -P password пароль для дешифрования файлов конфигурации зашифрованных openssl aes-128-cbc
# openssl enc -aes-128-cbc -pass pass:YourPassword -in wicardd.conf -out wicardd.conf.aes
# -w "arg=1:arg1=:arg2"
#args:
#show показать настройки радиозонда
#devaddr=1..7 присвоить адресс радиозонду
#atrno=0..15 использовать ATR номер 0-15
#atrconf= дополнительные настройки протокола обмена карты доступа
#atrX=3B240030423030 задать значение для ATR номер X (atr0=, atr1=,... atr15=)
#freqno=0..3 использовать частотный канал 0-3
#updatefw обновить прошивку радиозонда
#calibrate калибровать частоту передатчика ()
#пример: wicardd -w "devaddr=3:atrno=5:freqno=1"
# -b "arg=1:arg1=:arg2"
#args:
#show показать настройки радиобазы
#freqno=0..3 использовать частотный канал 0-3
#updatefw обновить прошивку радиобазы
#DM800 mknod -m 660 /dev/ttyS0 c 4 64
[section_name.preset] #задает значение по умолчанию, для всех секций [section_name]
debug = 4
#пример:
[reader.preset] #задает значение по умолчанию, для всех секций [reader]
reconnect_delay = 100
debug = 4
[server.preset] #задает значение по умолчанию, для всех секций [server]
max_not_decoded = 5
debug = 4
[global] #глобальные настройки
name = test_server #имя сервера, применяется для включения секций по маске active_if
#@/path/file вычитать имя из файла
log = /tmp/wicardd.log #имя лог-файла, по-умолчанию выводится в консоль
log_size = 1 #максимальный размер лога в килобайтах
log_udp = hostname
ort #сетевое логирование на hostname:514
syslog = 1 #вывод информации в syslog
debug = 0 #включить глобальные отладочные сообщения 0 - выключено, 3 - детальный лог
daemon = 0 #1 - запускать в режиме демона
ecm_cache_size = 128 #размер ECM кеша
account_file = ./wicard.account #путь к файлу с описанием пользователей
account_diff_file = ./wicard.account.diff #путь к файлу с описанием пользователей
active = 0 #отлючение секции
default_balancer_debug = 0
thread_stack_size = 128 #размер стека выделяемого потоку в килобайтах
thread_priority = 0 #приоритет потоков 0..99
ecm_delay = 0 #принудительная задержка отправки ECM запроса в мс, значение по умолчанию
dre_hack = 4 #кол-во сравниваемых байт UA для индивидуальных EMM CAS DRE
ecm_dedup_delay = 700 #задержка отправки ECM запроса в мс
filter_gvar_array_size = 32 #размер массива глобальных переременных для фильтров
$replace_val1 = val #
$replace_val2 = val
[webif] #
port = 8081 #порт HTTP сервера
debug = 3 #уровень логирования 0 - 3
active = 0 #отлючение секции
active_if = name* #активировать секцию если имя сервера соответствует wildcard
active_if = !name* #активировать секцию если имя сервера не соответствует wildcard
allow_ip = 127.0.0.1/32, 10.0.0.1/8 #разрешить доступ только с перечисленных адресов/сетей
deny_ip = 127.0.0.1/32, 10.0.0.1/8 #запретить доступ с перечисленных адресов/сетей
[card] #секция конфигурации радиозондов (одна секция на один радиозонд)
name = card1 #
cas = irdeto #тип эмулируемой кодировки карты доступа (auto, conax, viaccess, irdeto, dre)
channel = 2 #сетевой адрес/канал радиозонда
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA
#список провайдеров, которые будут анонсированы клиенту
#provider = 1234@00010203:5678@04030201
auto_provider = all, reader_name,caid #автоматический импорт всех идентов с reader устройств с таким же CAID или по имени
send_null_ins = 1 #отправлять тюнеру команду NULL (60) в период ожидания CW
delay_after_ecm = 500 #дополнительная задержка после отправки ECM серверу
ascserial = 0000000000U0000000A
ACS = 0608 #Irdeto ACS
coco = MCR
dre_version=1 #DRECrypt version 1/2
write_delay = 0
filter = name,idx #перечень используемых фильтров
debug = 3 #уровень логирования 0 - 3
active = 0 #отлючение секции
filter_group = 0 #группа, используется в условиях фильтра
[card.auto] #если секция присутствует - автоматически будут добалены процессы
#обрабатывающие запросы от радиозондов не описанных в секции(ях) [card]
cas = auto
channel = x
debug = 3
send_null_ins = 1 #отравлять команду 60 ресиверу (карта занята)
delay_after_ecm = 400
active = 0 #отлючение секции
filter_group = 0 #группа, используется в условиях фильтра
[server] #конфигурация сервера
type = newcamd525 #тип сервера (поддерживается newcamd525)
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA
#список провайдеров, которые будут анонсированы клиенту
#provider = 1234@00010203:5678@04030201
auto_provider = all, reader_name, caid #автоматический импорт всех идентов с reader устройств с таким же CAID или по имени
port = 34000 #порт сервера
key = 0102030405060708091011121314 #DES ключ
debug = 3 #уровень логирования 0 - 3
active = 0 #отлючение секции
extended_newcamd = 0 #отдавать несколько CAID на одном порту
#1 - отдаем все что прописано в данной секции в provider
#2 - сканируем все сервера типа newcamd и передаем информацию прописанную в provider найденных серверов
keepalive = 300 #закрывать неактивное соединение по истечению n секунд
max_not_decoded = N #отправлять нулевой DW в случае N неудачных попыток декодирования
guest_account = account_login #
filter_group = 0 #группа, используется в условиях фильтра
force_auto_update = 0 #1 - отдавать принудительно номера карт для AU
allow_ip = 127.0.0.1/32, 10.0.0.1/8 #разрешить доступ только с перечисленных адресов/сетей
deny_ip = 127.0.0.1/32, 10.0.0.1/8 #запретить доступ с перечисленных адресов/сетей
extra_data = 1 #1 - отправлять расширенный статус декодирования WiCardd клиенту
[server] #конфигурация сервера
type = cs357x | cs378x #тип сервера CAMD35
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA
#список провайдеров, которые будут анонсированы клиенту
#provider = 1234@00010203:5678@04030201
auto_provider = all, reader_name,caid #автоматический импорт всех идентов с reader устройств с таким же CAID или по имени
port = 34000 #порт сервера
debug = 3 #уровень логирования 0 - 3
active = 0 #отлючение секции
keepalive = 300 #закрывать неактивное соединение по истечению n секунд
suppress_cmd08 = 0 #
not_decoded_answer_mode = 0 # 0 - по умолчанию
# 1 - отправлять нулевой DW
# 2 - игнорировать запрос, ничего не отправлять в ответ
filter_group = 0 #группа, используется в условиях фильтра
allow_ip = 127.0.0.1/32, 10.0.0.1/8 #разрешить доступ только с перечисленных адресов/сетей
deny_ip = 127.0.0.1/32, 10.0.0.1/8 #запретить доступ с перечисленных адресов/сетей
[server] #конфигурация сервера
type = cccam #тип сервера CCcam
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA
#список провайдеров, которые будут анонсированы клиенту
#provider = 1234@00010203:5678@04030201
auto_provider = all, reader_name, caid #автоматический импорт всех идентов с reader устройств с таким же CAID или по имени
port = 34000 #порт сервера
cc_version = 2.0.00 #версия
cc_build = 1892 #билд
debug = 3 #уровень логирования 0 - 3
active = 0 #отлючение секции
keepalive = 300 #закрывать неактивное соединение по истечению n секунд
max_not_decoded = N #отправлять нулевой DW в случае N неудачных попыток декодирования
filter_group = 0 #группа, используется в условиях фильтра
allow_ip = 127.0.0.1/32, 10.0.0.1/8 #разрешить доступ только с перечисленных адресов/сетей
deny_ip = 127.0.0.1/32, 10.0.0.1/8 #запретить доступ с перечисленных адресов/сетей
#секция конфигурации источника DCW
#общие настройки для всех типов ридеров
[reader]
name = #уникальное имя
active = 0 #отлючение секции
active_if = name* #активировать секцию если имя сервера соответствует wildcard
active_if = !name* #активировать секцию если имя сервера не соответствует wildcard
repeat_section = 1 #вычитать секцию N раз
debug = 3
auto_update = 1 #включить поддержку EMM запросов
emm_cache = 1 #включить EMM кеш
emm_priority = 0 #если 1, то будут отработаны все ЕММ иначе предподчтение ECM запросам
force_auto_update = 0 #отправлять все ЕММ с CAID
rovid не учитывая UA/SA
filter = name #перечень используемых фильтров, через запятую
ecm_ttl = 5000 #время жизни ECM запроса в мс
ecm_delay = 0 #принудительная задержка отправки ECM запроса в мс
ecm_dedup_delay = 700 #задержка отправки ECM запроса в мс
recalc_cw_checksum = 0 #пересчитать контрольную сумму СW
force_crypted_cw = 1 #не проверять контрольную сумму CW
drop_equal_ecm = 0 #если 1 - удалять все похожие запросы из очереди ридера, если не звпрос декодирован
not_decoded_cache_size = 64 #размер кеша недекодированных запросов,
#0 для отключения
not_decoded_cache_ttl = 3000 #время (мс) жизни в кеше недекодированных запросов с момента поступления
timeout = 1500 #время ожидания ответа
async_mode = 1 #включить/выключить асинхронный режим (запросы передаются без ожидания ответа от сервера)
#только для сетевых ридеров
wait_active = 1 #ожидать активации ридера (таймаут 13 сек)
#настройки сетевых ридеров
[reader]
type = newcamd525 #тип - клиент newcamd525
account = login
assword@host:15000:010203040506070809101112 1314
socks = 127.0.0.1:5090 #хост:порт SOCKS прокси
reconnect_delay = 10 #в секундах
keepalive = 0 #в секундах/0 - отключить
reconnect_to_account_ip = name #подключаться к серверу, используя IP адрес подключенного пользователя
#
extra_data = 1 #1 - отправлять расширенную информацию о клиенте серверу
multiport = 2000-2005 #диапозон портов подключения к серверу
multiport = 10,11,12,13 #список портов подключения к серверу
[reader]
type = cs357x | cs378x #тип - клиент CAMD35
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA #список обслуживаемых провайдеров
#provider = 1234@00010203:5678@04030201
account = login
assword@host:15000
socks = 127.0.0.1:5090 #хост:порт SOCKS прокси
reconnect_delay = 10 #в секундах
timeout = 1500 #время ожидания ответа от сервера
retry_count = 1 #кол-во попыток
[reader]
name = #уникальное имя
type = cccam #тип - клиент CCCAM
account = login
assword@host:15000
socks = 127.0.0.1:5090 #хост:порт SOCKS прокси
reconnect_delay = 10 #в секундах
#общие настройки для карточных ридеров
[reader]
handle_pts = 1 #включить поддержку переключения скорости обмена с картой доступа
write_delay = 0
timeout = 1000 #
pincode = 0000 #
ocp = 1 #overcrypt proccessor
force_caid = 0 #DRE CAID fixup
force_provider = 0 #DRE provider fixup
force_ua = 0000 #DRE UA fixup, Irdeto UA fixup
camkey = #Irdeto camkey
camkey_data = #Irdeto camkey_data
boxid = #4 байта boxid
cwekey = #NDS 26 байт CWE key
boxkey = #nagra boxkey
rsamod = #nagra/conax RSA модуль
rsaexp = #
block_subs_emm = 0 #блокирование EMM с подпиской
exec_cmd_file = ./card.cmd #путь к файлу с коммандами, которые будут отправлены на карту после инициализации
#для DRE 59 xx xx xx CS, контрольная сумма пересчитываеся
skip_geo = 0 #не отправлять геокод (Viaccess)
[reader]
type = sci #встроенный картоприемник (WiCard)
[reader]
type = tuxbox #встроенный картоприемник DreamBox
device = /dev/sci0
[reader]
type = stapi #встроенный картоприемник ST40
device = SC0 #картоприемник SC0, SC1
[reader]
type = openxcas #встроенный картоприемник AzBox
device = /dev/scard #номер картоприемника
[reader]
type = phoenix #phoenix
device = /dev/ttyS0 #COM-порт
device = COM1 #COM-порт под Windows
intrts = 1 #RTS управляется через контроллер (для внутреннего порта D-Link)
t14 = 1 #Irdeto protocol
card_detect = 1 #определять наличии карты по сигналу CTS
clock_freq = 3571200 #частота клока картоприемника в Гц
[reader]
type = tuner #использовать тюнер с установленной картой доступа как источник
device = /dev/ttyS0 #COM-порт
device = COM1 #COM-порт под Windows
baudrate = 115200 #скорость обмена
protocol = bomba #протокол (HSIC, Bomba, DSR9500, Alpha)
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA #список обслуживаемых провайдеров
#provider = 1234@00010203:5678@04030201
write_delay = 0
timeout = 50 #таймаут чтения данных
[reader]
type = emuvia #эмулятор viaccess
file = ./SoftCam.Key #файл с ключами
[reader]
type = emucworks #эмулятор CryptoWorks
file = ./SoftCam.Key #файл с ключами
[reader]
type = emubiss #поддежка BISS
file = ./SoftCam.Key #файл с ключами
[reader]
type = emunds #эмулятор videoguard
file = ./SoftCam.Key #файл с ключами
[reader]
type = emuirdeto #эмулятор irdeto2
file = ./SoftCam.Key #файл с ключами
[reader]
type = drecas #
device = /dev/ttyS0 #COM-порт
device = COM1 #COM-порт под Windows
dre_cas_type = 3 # 1 - модуль первой версии (ZM_2.04) (2-5V, 10-RxD(компьютер TxD), 12-TxD(компьютер RxD), 13-GND)
# сигнал DTR используется для переключения между MSP и ATMEL, RTS - сброс модуля.
#
# 3 - проприетарный картоприемник GS9300HD (1-5V, 2-RxD(компьютер TxD), 3-TxD(компьютер RxD), 4-GND)
# сигналы расписаны поотношению к модулю и картоприемнику, RxD - входной сигнал для модуля, TxD - выход
# Следовательно схема должна выглядеть примерно так:
# PC_TxD -> MAX232 -> MOD_RxD
# PC_RxD <- MAX232 <- MOD_TxD
# GND ------------------- GND
emm_key_file = ./ #файл в котором будут сохраняться ключи DRE при работе с модулем первой версии
timeout = 2000 #
write_delay = 1 #
[reader]
type = ocp #OverCryptProcessor
[reader]
type = cache #кеш ридер, все запросы попавшие в очередь этого ридера отрабатываются только из кеша
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA #список обслуживаемых провайдеров
#provider = 1234@00010203:5678@04030201
[reader]
type = twin #TWIN протокол
device = /dev/ttyS0 # COM-порт
device = COM1 #COM-порт под Windows
baudrate = 115200 #скорость обмена
timeout = 2000 #
write_delay = 1 #
file = ./freq_table.txt #файл в котором прописывается связь между CAID:ProvID/SID и частотами транспондера (не нужен при работе с DVB)
#формат файла:
#CAID:ProvID/SID,орбитальная позиция * 10, частота транспондера в МГц
#0500:023700/2B00,360,12322
[reader]
type = goldcard | funcard #поддерживается эмуляция 16F84 и 90S8515
fw_file = ./fw.hex #путь к файлу прошивки
intee_file = ./int.hex #путь к файлу данных внутренней EEPROM (необязательный параметр)
extee_file = ./ext.hex #путь к файлу данных внешней EEPROM (необязательный параметр)
extee_size = 16 #размер внешней EEPROM в килобитах (необязательный параметр)
guardtime = 1 #extra guard time задержка в ETU между посылкой байт в "карту"
[reader]
type = batch
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA #список обслуживаемых провайдеров
#provider = 1234@00010203:5678@04030201
request_handler = /tmp/request_handler.sh
#при получении запроса, запускается скрипт с параметрами:
# arg1 client name (text string)
# arg2 CAID (decimal)
# arg3 ProvID (decimal)
# arg4 SID (decimal)
# arg5 ECM/EMM body (hex string)
#скрипт должен вернуть DW в hex, в случае если запрос не декодирован, вернуть все 0
#для EMM ответ игнорируется
[batch]
request_producer = /tmp/request_producer.sh
#скрипт должен возвращать в stdout:
#CAID:ProvID:SID:ECM all values in hex
#1234:5678:1:800010111111111111111111111111111111
response_handler = /tmp/response_handler.sh
#после обработки запроса запускается скрипт с параметрами:
# arg1 CAID (decimal)
# arg2 ProvID (decimal)
# arg3 SID (decimal)
# arg4 ECM body (hex string)
# arg5 DW (hex string)
# arg6 status (quoted text string)
period = 10 #период выполнения скрипта request_producer в секундах
filter = 0,name1,name2 #использовать фильтр
debug = 3
[tuner] #
device = /dev/ttyS0
device = COM1 #COM-порт под Windows
#device = /dev/tts/0
baudrate = 115200 #скорость обмена (9600, 19200, 38400, 57600, 115200)
protocol = auto #auto, HSIC, SSSP, Bomba, GI, DSR9500, GS, Alpha, DSR9500old, GBox
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA
#список провайдеров, которые будут анонсированы клиенту
auto_provider = all, reader_name, caid #автоматический импорт всех идентов с reader устройств с таким же CAID или по имени
globo = 1 #если 1 - сразу отдавать ноли в DCW для неподдерживаемых идентов (ускоряет переключение каналов)
#write_delay = 1 #ms
#timeout = 50 #ms
debug = 3
#caid = 0500
filter = 0,name1,name2 #использовать фильтр
[account] #секция конфигурации пользователей (повторяется для каждого пользователя)
#используется для разграничения доступа к серверам описанным в секции [server]
login = wicard
password = wicard
auto_update = 1 #accept AU
filter = 0,name1,name2 #использовать фильтр
provider = caid
rovid,provid;caid@UA
rovid@SA,provid@SA #список провайдеров, которые будут анонсированы клиенту
allow_ip = 127.0.0.1/32, 10.0.0.1/8 #разрешить доступ только с перечисленных адресов/сетей
deny_ip = 127.0.0.1/32, 10.0.0.1/8 #запретить доступ с перечисленных адресов/сетей
[dvb]
type = auto #auto, DVBAPI1, DVBAPI3, STAPI, OpenXCAS, DGSAPI, QBoxHD, VDR
adapter = 0 #номер адаптера
cadev_offset = 0 #fix для Enigma на IPBox
filter = 0,name1,name2 #использовать фильтр
beta_tunnel = 0 #тунелирование запросов
decode_try_count = 0 #кол-во попыток декодирования канала
dre_fix = 1 #1 - игнорировать провайдер DRE, помогает в случае если сервер возвращает provider = 0 (4ae1:0)
sdt = 1 #вычитывать названия сервисов из потока
ecm_info = 1 #создавать файл /tmp/ecm.info
#1 - формат WiCard
#2 - формат mgcamd
twin = 0 #поддержка TWIN протокола (вычитывается SDT и NIT для определения частоты транспондера и орбитальной позиции спутника)
ecm_delay = 0 #принудительная задержка отправки ECM запроса в мс, требуется для работы с TWIN протоколом
rerequest_not_decoded = 0 #отправлять повторный запрос если не декодировано
ecm_double_check = 1 #сравнивать предыдущую и текущую ECM и отправлять на декодирование если совпадают
auto_update = 1 #включить AU
emm_filter_mode = 0 #0 - вычитывается весь EMM PID, фильтруется WiCard
#1 - вычитывать EMM PID с настроенными фильтрами для linux DVB API
debug = 3
camd_socket = 1 #создать сокет /tmp/camd.socket
stapi_pmt_map = 0,1,2 | <стока с мапингом> #соответствие pmt файлов к демультиплексору
#пресеты:
#0 (fortis, octagon, openbox, PGI) - "pmt1_1.tmp:PTI;pmt1_2.tmp:PTI;pmt1_3.tmp:PTI;pmt2 _1.tmp:PTI1;pmt2_2.tmp:PTI1;pmt2_3.tmp:PTI1;pmt3_1 .tmp:PTI2"
#1 (ipbox) - "pmt.tmp:PTI2;pmt1.tmp:PTI;pmt2.tmp:PTI1"
#2 (kathrein) - "pmt_PTI0.tmp:PTI0;pmt_PTI1.tmp:PTI1;pmt_PTI2.tmp: PTI2;pmt_PTI3.tmp:PTI3;pmt_PTI4.tmp:PTI4"
#
#или формат:
# pmt_файл1 : PTI_устройство ; pmt_файл2 : PTI_устройство ; ...
# можно перечислить до 10 пар, через точку с запятой
stapi_pmt_map = pmt1_1.tmp:PTI;pmt1_2.tmp:PTI;pmt1_3.tmp:PTI;pmt2_ 1.tmp:PTI1;pmt2_2.tmp:PTI1;pmt2_3.tmp:PTI1;pmt3_1. tmp:PTI2
multi_decode = 0 #1 - отправлять ECM со всех каналов текущего транспондера
#2 - отправлять ECM со всех каналов транспондеров описанных параметром dvbs
#3 - отправлять TS потоки со всех каналов транспондеров описанных параметром dvbs
#4 - отправлять EMM с переключением транспондеров описанных параметром dvbs через tune_period секунд
multi_decode_demux = 0 #номер демультиплексора
multi_decode_resend_ecm = 0 #0 - отправлять ECM только при смене таблицы 80/81
#1 - отправлять ECM после каждого цикла сканирования транспондера
multi_decode_recheck_pat = 0 #1 - отслеживать изменение PAT и пересканировать транспондер
multi_decode_sid = 01,0A #список каналов, которые будут декодироваться
multi_decode_ignore_sid = 01,0A #список игнорируемых каналов, не вычитывать PMT
dvbs = freq
ol:sr:lnb:diseqc #lnb - X 10750, U - Universal
dvbs2 = freq
ol:sr:fec:roll-off:mod:lnb:diseqc:filter_group
#freq frequency in MHz
#pol H,V,R,L
#sr symbolrate
#fec 12,23,34,45,56,67,78,35,910, 0 - AUTO
#roll-off factor 35,25,20, 0 - AUTO
#mod QPSK, 8PSK
#lnb - X 10750, U - Universal
#diseqc 0 do not use, 1-16 port number
multi_decode_diseqc = 0 # diseqc version 0 - 1.0 (commited); 1 - 1.1(uncommited)
tune_timeout = 500 #
tune_period = 600 # время в секундах, через которое, в 4 режиме, будет залочен следующий транспондер в списке
multi_decode_scan_timeout = #
multi_decode_softcsa = 0
lnb_sharing = 0
check_cc = 0
stream_buffer_size = #
stream_udp = host
ort # стримить все TS на host
ort
stream = sid_hex1:host1
ort #стримить привязанные к SID vpid, apid, если SID = 0, стримить все каналы
stream = sid_hex2:host2
ort #
stream = sid_hex3:host3
ort #
dmx_buffer_size = #
dmx_pes_buffer_size = #
remap_sid_on_vpid = 0 #
secured_config = /var/tuxbox/config/wicardd.conf.dvbaes
#путь к шифрованному конфигу, который будет подгружен в случае правильной комбинации переключения каналов
#паролем служит последовательность из SID каналов в десятичном исчислении, через тире, маскимальная длина комбинации - восемь каналов
#в примере приведена последовательность: Кинорейс 1, Кинорейс 2, Кинорейс 3, Кинорейс 4, Кинорейс 5
#openssl enc -aes-128-cbc -pass pass:11106-11107-11110-31001-18101 -in wicardd.conf.dvbplain -out wicardd.conf.dvbaes