OScam и CCcam: настройка сервера кардшаринга 2026

Если вы попали сюда по запросу oscamicam, скорее всего, уже потратили несколько часов на чтение устаревших форумных веток и нерабочих конфигов. Ниже — реальный разбор архитектуры, конфигурационных файлов и диагностики, который актуален в 2026 году.

Большинство материалов по теме либо копируют друг друга, либо дают шаблоны без объяснения, что за что отвечает. Здесь я разберу именно это — что означает каждый параметр, почему ридер уходит в ERROR и как читать ECM-лог вместо угадывания.

Чем отличаются OScam и CCcam и когда что использовать

Главное различие — в открытости. OScam — проект с открытым исходным кодом, который активно дорабатывается сообществом. CCcam — проприетарная реализация, последнее значимое обновление которой вышло давно, и с тех пор разработка фактически остановилась.

Это не просто философское различие. На практике OScam в 2026 году поддерживает куда больше протоколов, гибче настраивается и имеет вменяемый веб-интерфейс с реальной диагностикой. CCcam — чёрный ящик, который либо работает, либо нет.

Архитектура OScam: модульность и поддержка протоколов

OScam построен по модульному принципу. Один и тот же процесс может одновременно принимать подключения по нескольким протоколам: cccam, camd35 (cs357x/cs378x), newcamd, mgcamd. Конфигурация разнесена по отдельным файлам: oscam.conf, oscam.server, oscam.user, oscam.services.

Файлы лежат в /etc/tuxbox/config/oscam/ на большинстве прошивок Enigma2, либо в /var/keys/ на некоторых OpenATV-сборках. Путь можно уточнить прямо в веб-интерфейсе — раздел Files покажет, откуда OScam читает конфиги.

CCcam: проприетарность и протокол cccam

CCcam использует собственный бинарный протокол cccam. Сам по себе это не проблема — протокол широко поддерживается в том числе OScam-ом. Проблема в том, что CCcam как программа не развивается: нет новых CAID, нет исправлений, нет нормального лога.

Конфиг CCcam — один файл: /var/etc/CCcam.cfg или /etc/CCcam.cfg в зависимости от устройства. Синтаксис простой, но возможности диагностики минимальные — либо канал открывается, либо нет.

Связка OScam-сервер + CCcam-клиент

Самый распространённый сценарий в реальной жизни — OScam стоит на сервере и раздаёт ключи, а на ресивере клиент подключается через протокол cccam. Такая схема работает стабильно, потому что OScam со стороны сервера гибко управляет источниками и пользователями.

Обратная ситуация тоже рабочая: OScam в роли клиента подключается к старому CCcam-серверу. Здесь важен параметр cccversion = 2.3.0 в секции ридера — некоторые старые CCcam-серверы не договариваются с клиентом, если версия не совпадает. Иногда помогает поставить 2.1.4 или 2.2.1.

Когда лучше отказаться от CCcam в пользу OScam

Если вы настраиваете что-то с нуля — ставьте OScam. Точка. Он умеет всё то же самое, что CCcam, плюс имеет нормальный веб-интерфейс, гибкую фильтрацию по CAID/provider, детальный лог и активную поддержку. В 2026 году нет разумной причины выбирать CCcam для нового сервера.

Структура конфигурационных файлов OScam

Понять конфиги OScam несложно, если знать логику. Каждый файл отвечает за свою зону: глобальное поведение, источники ключей и клиентские учётки. Путаница начинается, когда смешивают параметры или копируют чужой конфиг без адаптации под свои группы и CAID.

oscam.conf: глобальные параметры и веб-интерфейс

Минимальный рабочий oscam.conf выглядит примерно так:

[global]
logfile = /var/log/oscam.log
maxlogsize = 512
preferlocalcards = 1
readerrestartseconds = 10

[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httpallowed = 192.168.0.0-192.168.0.255

[cs357x]
port = 34000

[cs378x]
port = 34001

preferlocalcards = 1 говорит OScam сначала пробовать локальные карты и только потом уходить в решару. Это критично для производительности, если у вас есть физическая карта в ридере. readerrestartseconds = 10 — автоперезапуск ридера при потере связи.

oscam.server: описание ридеров и источников

Каждый источник ключей — отдельная секция [reader] в oscam.server. Пример для подключения к внешнему cccam-серверу:

[reader]
label = myserver_cccam
protocol = cccam
device = hostname.example.com,12000
user = mylogin
password = mypassword
group = 1
caid = 0D00,0500
cccversion = 2.3.0
reconnecttimeout = 30

Параметр group здесь — ключевой. Он должен совпадать с group в oscam.user у клиентов, которые должны иметь доступ к этому источнику. Несовпадение группы — самая частая причина "подключился, но каналов нет".

oscam.user: учётные записи клиентов

Каждый клиент (ресивер, который подключается к вашему OScam) — отдельная секция в /etc/tuxbox/config/oscam/oscam.user:

[account]
user = receiver01
pwd = clientpass
group = 1
au = 1
caid = 0D00,0500
ident = 0D00:000000,0500:020810
maxconn = 1

au = 1 разрешает автообновление ключей через EMM для этого клиента. maxconn = 1 ограничивает одно одновременное подключение с этого аккаунта. ident фильтрует по конкретным провайдерам — если указать неправильный, ECM будет отклоняться даже при правильном CAID.

oscam.services и группы сервисов

Файл oscam.services позволяет определить именованные наборы SID-ов (идентификаторов каналов) и назначать их пользователям или ридерам через параметр services. Это полезно, если хотите ограничить клиенту доступ к конкретным каналам пакета, а не ко всему CAID целиком.

Синтаксис секции сервиса: [mypackage], далее строки вида sid = 0001,0002,0003. В oscam.user добавляете services = mypackage. Если oscam.services не нужен — просто не создавайте файл, OScam запустится без него.

Права доступа и пути размещения файлов

OScam запускается от определённого пользователя системы (обычно root на Enigma2-ресиверах). Все файлы в директории конфигов должны быть доступны этому пользователю на чтение. После правки конфигов через SSH делайте chmod 600 на файлы с паролями.

Применить изменения можно без перезапуска: в веб-интерфейсе кнопка "Restart readers" перечитает oscam.server, "Reload config" — oscam.conf и oscam.user.

Настройка протоколов: порты и параметры подключения

Здесь большинство инструкций врут не специально — просто берут одни и те же примеры из 2019 года. Разберём что актуально для oscamicam-конфигурации в 2026-м.

Протокол cccam: порт 12000 и параметр cccversion

Стандартный порт — 12000, но это не жёсткий стандарт, а просто исторически сложившееся значение. Конкретный порт задаётся на сервере и должен совпадать у клиента. В OScam протокол cccam включается в oscam.conf:

[cccam]
port = 12000
version = 2.3.0
reshare = 0

reshare = 0 запрещает клиентам пересылать ключи дальше. version — строка, которую сервер сообщает клиенту. Если клиент — старый CCcam-приёмник, который отказывается подключаться, попробуйте 2.1.4.

camd35 (UDP/TCP): порты 34000 и 34001

camd35 существует в двух вариантах. cs357x — UDP, обычно порт 34000. cs378x — TCP, обычно порт 34001. TCP-версия надёжнее на нестабильных соединениях, потому что контролирует доставку пакетов. UDP быстрее, но пакеты могут теряться.

Для подключения ресивера через camd35 в oscam.user нужно прописать протокол явно или дать клиенту подключиться на нужный порт. Некоторые ресиверы поддерживают только один из вариантов — уточняйте в документации к вашей прошивке.

newcamd: формат строки и DES-ключ

newcamd — старый протокол, но до сих пор поддерживается многими ресиверами. В oscam.conf:

[newcamd]
port = 28000@0500:020810
key = 0102030405060708091011121314

После символа @ идёт CAID и provider ident. Порт 28000 — стандарт, но можно использовать любой свободный. DES-ключ должен совпадать на сервере и клиенте — это обязательная часть авторизации по newcamd, не просто пароль.

mgcamd и особенности newcamd-эмуляции

mgcamd — клиент, работающий поверх newcamd-протокола с некоторыми отличиями. OScam его поддерживает через тот же порт [newcamd], но иногда требуется параметр mgcamd = 1 в секции порта. Если mgcamd не может авторизоваться — проверьте DES-ключ и соответствие CAID в строке порта.

Открытие портов на роутере и в firewall

OScam слушает порты только на интерфейсе, который указан в конфиге (по умолчанию — все интерфейсы). Но если между сервером и клиентом стоит роутер или firewall — нужен проброс портов (port forwarding).

Проверка с клиентской стороны: telnet yourserver.example.com 12000 или nc -vz yourserver.example.com 12000. Если соединение не устанавливается — порт закрыт или заблокирован, и смотреть конфиги OScam бессмысленно до решения этой проблемы.

На сервере с iptables проверьте: iptables -L -n | grep 12000. Открыть порт: iptables -A INPUT -p tcp --dport 12000 -j ACCEPT.

Отладка: чтение логов, ECM и EMM

Лог OScam — главный инструмент диагностики, и он реально информативен, если знать что искать. Большинство проблем решается за 5-10 минут работы с логом. Но только если лог включён правильно.

Включение детального лога (debug level)

В oscam.conf в секции [global]:

logfile = /var/log/oscam.log
maxlogsize = 1024
debug = 0

debug = 0 — стандартный уровень, достаточный для диагностики большинства проблем. debug = 64 покажет детали ECM-запросов. debug = 255 — полный режим отладки, генерирует огромный лог, оставлять постоянно не стоит. Смотреть лог в реальном времени: tail -f /var/log/oscam.log.

Расшифровка статусов ECM: found, not found, timeout

Строка в логе при успешном декодировании выглядит примерно так:

2026/01/15 21:04:33 c (ecm) user01 (0500@020810/0000/0961): found (125 ms) by myserver_cccam

Здесь: 0500 — CAID, 020810 — provider ident, 0961 — SID канала, 125 ms — время декодирования, myserver_cccam — ридер, который ответил.

При неудаче: not found (300 ms) — ридер ответил, но ключа нет. timeout — ридер не ответил в установленный срок. rejected — запрос отклонён на стороне источника.

Время декодирования ECM и приемлемые значения

Норма — до 500 мс. При значениях 300-500 мс на большинстве каналов работать будет, но без запаса. Значения выше 600 мс начинают давать фризы, особенно на HD-каналах — там интервал обновления CW жёстче, и опоздание на 800+ мс гарантирует рассыпание картинки каждые несколько секунд.

Высокое время ECM почти всегда означает проблему с источником: перегружен сервер, много хопов в решаре, или высокий пинг до него. Пинг до источника можно проверить обычным ping hostname — если больше 200 мс, это уже плохой знак для реального времени декодирования.

EMM и автообновление ключей (au = 1)

EMM (Entitlement Management Message) — сообщения, через которые вещатель обновляет права на карте. Для локальных карт в ридере au = 1 в oscam.server включает обработку EMM, что позволяет карте самой получать обновления прав.

В oscam.user параметр au = 1 разрешает пересылку EMM клиенту — но это имеет смысл только если у клиента физически вставлена карта и он хочет обновить её права через сервер. Для обычного просмотра через решару au в oscam.user обычно не нужен.

Анализ через веб-интерфейс OScam

Веб-интерфейс на порту 8888 — реально удобный инструмент. Раздел "Readers" показывает статус каждого ридера: ONLINE (подключён и отвечает), CONNECTED (соединение есть, но нет активных запросов), ERROR (не может подключиться), OFF (отключён в конфиге).

Раздел "Users" показывает активных клиентов, последний запрошенный CAID и время последнего ECM. Раздел "ECM History" — история запросов с временем ответа. По этим данным можно за минуту понять, какой ридер тормозит и почему.

Как выбрать источник ключей: критерии без рекламы

Конкретные названия сервисов называть не буду — они меняются, закрываются и открываются постоянно. Но есть объективные критерии, по которым легко самостоятельно оценить любой источник через OScam-лог и webif.

Стабильность аптайма и количество хопов

Хоп (hop) — это количество промежуточных звеньев между локальной картой и вашим ресивером. Hop 0 — карта у вас локально. Hop 1 — источник держит карту сам и раздаёт напрямую. Hop 2 и выше — решара: кто-то получил доступ от hop 1 и перепродаёт дальше.

Каждый дополнительный хоп добавляет задержку и точку отказа. При hop 3-4 время ECM может превышать 800 мс даже при хорошем пинге. Идеал — hop 1. Хоп можно посмотреть в статистике ридера в webif OScam — колонка "hop".

Поддержка нужных CAID и пакетов

Перед тем как настраивать подключение, убедитесь, что источник явно поддерживает ваш CAID и конкретный provider ident. CAID — идентификатор системы условного доступа (например, 0500 для Viaccess, 0D00 для Cryptoworks, 1830 для Nagravision 3). Provider ident — идентификатор конкретного пакета внутри системы.

Если ident не совпадает — OScam будет получать not found даже от рабочего источника. Список поддерживаемых ident можно запросить у источника или посмотреть в заголовке ответа ридера в логе при успешном ECM.

Локальные карты против решары

Локальная карта — это физическая смарт-карта в картридере (USB или встроенном). Она даёт самое низкое время ECM (обычно 50-150 мс) и не зависит от стороннего сервиса. Но требует наличия действующей подписки в физическом виде.

Решара удобнее в установке, но создаёт зависимость от внешнего сервиса. Нестабильный источник решары — это зависания и фризы в неподходящий момент. Проверяйте аптайм источника не за один день, а хотя бы за неделю — по статистике в webif OScam виден процент успешных ECM.

Признаки нестабильного источника

Красные флаги: время ECM прыгает от 100 до 900 мс, частые timeout в логе, ридер периодически уходит в CONNECTED и возвращается в ONLINE, большое количество not found на каналах, которые должны работать. Ещё один признак — динамический IP источника без DDNS: адрес меняется, ридер уходит в ERROR, пока вы не обновите конфиг вручную.

Для источников с динамическим IP настраивайте ридер через доменное имя DDNS (например, через DuckDNS или аналоги), а не через IP-адрес. Тогда при смене IP клиент переподключится автоматически после обновления DNS-записи.

Типовые ошибки и их устранение

Алгоритм диагностики всегда один: webif → статус ридера → лог ECM → проверка порта → проверка конфига. Не надо прыгать сразу к "переустановить всё" — 90% проблем решается на первых двух шагах.

Клиент подключается, но нет картинки

Ресивер видит сервер, авторизация прошла — но канал не открывается. Первым делом смотрим лог ECM. Если строки вида not found или их вообще нет — проблема в том, что запрос либо не доходит до ридера, либо ридер не может ответить.

Чаще всего причина — неправильный caid или ident в oscam.user у клиента, либо несовпадение group между ридером в oscam.server и учёткой в oscam.user. OScam просто не направит ECM-запрос к ридеру, если группы не совпадают.

Бывает и другая ситуация: провайдер сменил CAID после обновления системы условного доступа. Канал, который работал на 0500:020810, теперь шифруется на 0500:032830 — старый ident больше не проходит. Решение: обновить ident в конфиге и перезагрузить OScam.

Ридер в статусе ERROR или OFF

ERROR означает, что OScam пытается подключиться к источнику и не может. Первым делом проверяем порт с клиентской стороны: nc -vz hostname 12000. Если порт недоступен — проблема на стороне источника или в сети, не в конфиге OScam.

OFF означает, что ридер отключён в конфиге параметром disabled = 1 или через webif. Проверьте, что в секции [reader] нет disabled = 1.

Группы (group) не совпадают

Это самая частая причина "всё настроено правильно, но не работает". Пример: ридер в oscam.server имеет group = 2, а пользователь в oscam.user имеет group = 1. OScam не будет направлять ECM от этого пользователя к этому ридеру.

Правило простое: group в ридере и group в пользователе должны пересекаться хотя бы по одному значению. Можно указывать несколько групп через запятую: group = 1,2,3.

Проблемы с CAID и ident

Ридер работает только на части каналов пакета — типичная ситуация при неправильно указанном ident. Один пакет может иметь несколько provider ident для разных групп каналов: SD, HD, региональные. Если указать только один ident, каналы других групп давать not found.

Правильный подход: для начала убрать ограничение ident совсем (ident = без значения) и проверить, начнут ли работать все каналы. Если да — методично добавлять ident по одному, смотря какие работают.

Конфликт нескольких источников одного пакета

Если у вас два ридера с одним CAID, OScam выбирает между ними по своей логике приоритетов. По умолчанию — по времени ответа (loadbalancing). Но если один источник медленный, OScam может периодически пробовать его через fallback и терять время.

Решение: явно установить приоритет через параметр cweight в oscam.server — ридеру с большим весом ECM-запросы отправляются в первую очередь. Или отключить медленный источник совсем, если быстрый стабилен.

Именно в диагностике таких тонких ситуаций понимание oscamicam-конфигурации во всех деталях отделяет работающую установку от вечно глючащей.

Где лежит конфигурационный файл OScam?

Чаще всего в /etc/tuxbox/config/oscam/ — стандартный путь для большинства прошивок Enigma2 (OpenATV, OpenPLi, DreamElite). На некоторых сборках используется /var/keys/. Там же лежат oscam.conf, oscam.server и oscam.user. Точный путь можно узнать в веб-интерфейсе OScam (порт 8888) — раздел Files покажет откуда именно читаются конфиги.

Какой порт по умолчанию использует протокол CCcam?

Стандарт — 12000, но это просто исторически сложившееся значение, а не жёсткое требование протокола. Порт задаётся вручную и должен совпадать на сервере и клиенте. Для camd35 UDP используется 34000, camd35 TCP (cs378x) — 34001, newcamd — обычно от 28000 и выше. Проверить доступность порта: nc -vz hostname 12000.

Почему ридер показывает статус CONNECTED, но каналы не открываются?

CONNECTED означает, что сетевое соединение с источником установлено, но активных запросов нет — или есть, но источник не может на них ответить. Смотрите лог ECM: если там not found, источник онлайн, но не поддерживает нужный CAID или provider ident. Если ECM-строк вообще нет — проверьте совпадение параметра group между ридером и пользователем. Высокий hop в решаре тоже может давать такую картину — запросы уходят, но ответ приходит после таймаута.

Чем OScam лучше CCcam в 2026 году?

OScam открытый, активно поддерживается и обновляется. Поддерживает одновременно несколько протоколов: cccam, camd35, newcamd, mgcamd. Имеет полноценный веб-интерфейс с диагностикой ридеров, статистикой ECM и историей запросов. Может одновременно работать и как сервер, и как клиент. CCcam давно не обновляется, закрыт, не имеет нормального лога и не позволяет гибко управлять источниками. Для нового сервера в 2026 году выбор очевиден.

Что означает au = 1 в конфиге OScam?

AU расшифровывается как Auto Update — автоматическое обновление прав через EMM (Entitlement Management Messages). В oscam.server параметр au = 1 включает обработку EMM для физической карты в этом ридере: карта сама получает обновления подписки от вещателя. В oscam.user au = 1 разрешает пересылать EMM конкретному клиенту — нужно только если у клиента есть своя физическая карта. Для обычной работы через решару au в oscam.user не нужен.

Как проверить, открыт ли нужный порт на сервере?

С клиентской машины: telnet yourserver.example.com 12000 или nc -vz yourserver.example.com 12000. Если соединение закрыто — смотреть конфиги OScam бессмысленно, проблема в сети или firewall. На сервере: iptables -L -n | grep 12000 покажет, заблокирован ли порт. Не забудьте о проброске портов на роутере, если сервер за NAT. После открытия порта в firewall повторите проверку с клиента.

Practical checklist for smooth viewing

Even the best CCCam or OSCam line needs two or three simple preparations. Update your receiver firmware, reset the ECM cache once a week and keep 15–20% free space on the USB stick or internal flash so that the reader can store keys without delays.

When tuning a dish, aim for MER/BER reserve: a two‑degree offset or a loose F‑connector often causes the “freezing” that users blame on cardsharing. Keep a short patch cord to test alternative routers, and save two profiles in OSCam — one for TCP, one for UDP — so you can switch instantly if your ISP starts filtering a protocol.

Utgard.tv monitors each hub 24/7, but you can speed up diagnostics by keeping a short log of your receiver actions. Note the time when you changed the channel, which CAID was active and whether you used Wi‑Fi or Ethernet. This tiny “journal” helps engineers reproduce your environment in the lab and return with a solution in minutes instead of hours.

  • Keep two line slots enabled: if the first server hits a maintenance window, the second one instantly takes over without re-entering credentials.
  • Run a monthly speed and latency test. Stable 1–2 Mbps with ping <80 ms is enough for SD/HD, but if jitter exceeds 20 ms, switch the router to wired mode.
  • Save the Utgard.tv status page and Telegram bot @utgard_tv_bot to bookmarks — they publish maintenance notices before SEMrush or uptime monitors raise alerts.