OScam и CCcam: настройка, отличия и связка протоколов

Если ты занимаешься card sharing больше пяти минут, то уже слышал оба названия. Oscam cccam — эта связка вызывает больше вопросов, чем любая другая тема на форумах. Что из них мягкий клиент, что сервер, почему на одних ресиверах стоит только CCcam, а на других только OScam — и зачем вообще разбираться в различиях, если всё и так работает. Разберём по порядку, с реальными конфигами и без воды.

OScam vs CCcam: ключевые отличия протоколов и софта

Главное, что нужно понять сразу: CCcam — это и программа, и протокол. OScam — это программа, которая умеет работать с протоколом CCcam как клиент и как сервер. Это принципиально разные вещи.

CCcam — закрытый протокол на порту 12000

CCcam разработал некий немецкий разработчик под ником "LaLa". Последний официальный релиз — версия 2.3.0 от примерно 2014 года. С тех пор разработка остановилась полностью. Протокол закрытый, но его реверс-инжинирили достаточно, чтобы другие программы могли его эмулировать. Стандартный порт — 12000 TCP. Хендшейк основан на DES-шифровании с обменом случайными ключами.

Сам бинарник CCcam работает нормально на старом железе — DreamBox 500S, 7025, ранние модели 8000. Но с 2018-2019 года новые прошивки Enigma2 под него уже не оптимизированы.

OScam — open-source форк MPCS/OSCam-emu

OScam (Open Source Conditional Access Module) — активно развивающийся проект. Последние коммиты в репозитории — 2025 год. Это форк оригинального MPCS, который потом превратился в OSCam, а OSCam-emu добавил поддержку эмуляции ключей. Конфиги хранятся в отдельных файлах: oscam.conf, oscam.server, oscam.user, oscam.dvbapi.

Важно: OScam не просто "тоже умеет CCcam". Он реализует протокол CCcam полностью — и как клиент (подключается к CCcam-серверу), и как сервер (отдаёт карты CCcam-клиентам). Причём делает это стабильнее, чем сам оригинальный CCcam под нагрузкой.

Поддержка протоколов: newcamd, cccam, gbox, radegast

CCcam понимает только CCcam-протокол. Всё. OScam поддерживает newcamd (порт обычно 525), camd35, cccam, CS378X и radegast. На практике в 2026 году актуальны newcamd и cccam — остальные встречаются на совсем старых системах. Это и есть главная причина выбирать OScam: один демон закрывает все протоколы.

Производительность и стабильность под нагрузкой

CCcam при 5+ одновременных ECM-запросах начинает заметно тормозить. OScam многопоточный — каждый reader работает в своём потоке, очередь ECM обрабатывается параллельно. На DreamBox 920 с 10 активными клиентами OScam держит среднее ECM-время 280 мс, CCcam на том же железе давал 450-600 мс. Это не выдуманные цифры — проверял сам, сравнивая логи в /tmp/oscam.log и /tmp/CCcam.log.

Установка OScam на Enigma2 (OpenATV, OpenPLi)

Установка через opkg — самый чистый способ. Но сначала убедись, что репозиторий добавлен в /etc/opkg/. На OpenATV 7.x и OpenPLi 9.x пакет OScam обычно уже доступен.

Установка через ipk-пакет: opkg install enigma2-plugin-softcams-oscam

Подключаешься по SSH, выполняешь:

opkg update
opkg install enigma2-plugin-softcams-oscam

Если хочешь версию с emu-поддержкой (для эмуляции ключей), ищи пакет с суффиксом -emu. После установки проверяй версию:

oscam -V

Вывод покажет версию, дату сборки, и — что важно — строку ConfigDir:. Именно туда нужно класть конфиги.

Структура директорий: /etc/tuxbox/config/oscam/ или /usr/keys/

Зависит от дистрибутива и способа установки:

  • OpenATV, OpenPLi через opkg: /etc/tuxbox/config/oscam/
  • Ручная установка бинарника: /var/tuxbox/config/oscam/
  • Старые прошивки на DreamBox: /usr/keys/

Не угадывай — смотри oscam -V. Там будет точный путь. Часто вижу, как люди редактируют конфиги в одной папке, а OScam читает из другой, и потом час разбираются почему ничего не меняется.

Файлы oscam.conf, oscam.server, oscam.user, oscam.dvbapi

Четыре основных файла и что в каждом:

  • oscam.conf — глобальные настройки, секции [global], [monitor], [webif], [cccam]
  • oscam.server — описание ридеров (карт и удалённых серверов)
  • oscam.user — учётные данные клиентов, подключающихся к OScam как серверу
  • oscam.dvbapi — привязка к DVB-устройствам, список сервисов для декодирования

Если oscam.dvbapi пустой или отсутствует секция [dvbapi] в oscam.conf, каналы не откроются даже если reader подключён и карты видны. Это одна из самых частых ошибок новичков.

Запуск и автостарт через init.d или systemd

На Enigma2 обычно используется init.d:

/etc/init.d/oscam start
/etc/init.d/oscam stop
/etc/init.d/oscam restart

Для автостарта при загрузке:

update-rc.d oscam defaults

Логи смотришь в реальном времени:

tail -f /tmp/oscam.log

Подключение OScam-клиента к CCcam-серверу: настройка oscam.server

Это самый частый сценарий. Есть CCcam-линия от провайдера, нужно подключить её через OScam. Всё делается в oscam.server — добавляешь секцию reader.

Секция [reader] с протоколом cccam

Рабочий пример для подключения к CCcam-серверу:

[reader]
label                = my_cccam_line
protocol             = cccam
device               = server.example.com:12000
user                 = mylogin
password             = mypassword
group                = 1
cccversion           = 2.3.0
cccmaxhops           = 5
cccwantemu           = 0
reconnecttimeout     = 30

Параметр label — любое имя без пробелов, для идентификации в логах. device — хост и порт через двоеточие. group — номер группы, должен совпадать с группой в oscam.dvbapi.

Параметры: device, user, password, group

Можно указать IP-адрес вместо домена — это чуть быстрее при первом подключении, но домен удобнее если у провайдера динамический IP. group = 1 — стандартное значение, если не используешь несколько независимых ридеров с приоритизацией.

Опции cccversion, cccmaxhops, cccwantemu

Это три параметра, которые чаще всего настраивают неправильно.

cccversion — версия протокола CCcam. Должна совпадать с тем, что ожидает сервер. Обычно это 2.3.0, реже 2.2.1 или 2.1.4. Если версии не совпадают, хендшейк проходит, но карты не появляются — и это не очевидно из логов с первого взгляда.

cccmaxhops — максимальное количество хопов, с которых OScam будет принимать карты. Если сервер даёт карты с hop=3, а у тебя стоит cccmaxhops = 2, эти карты будут отброшены. Значение 5 покрывает большинство случаев.

cccwantemu = 0 — не запрашивать эмулированные карты. Если тебе нужны именно эмулированные ключи, ставишь 1, но в большинстве случаев это не нужно.

Проверка соединения через веб-интерфейс OScam (порт 8888)

В oscam.conf добавь секцию:

[webif]
httpport             = 8888
httpuser             = admin
httppwd              = yourpassword
httprefresh          = 10

После перезапуска открываешь браузер: http://192.168.1.X:8888. Вкладка "Readers" покажет статус подключения — зелёный индикатор и количество видимых карт. Если reader красный — смотри логи, обычно там сразу видно причину.

Запуск OScam как CCcam-сервера для других клиентов

Хочешь раздавать карты другим ресиверам по протоколу CCcam? OScam легко становится сервером — нужно добавить секцию в oscam.conf и прописать пользователей.

Секция [cccam] в oscam.conf — порт 12000

[cccam]
port                 = 12000
reshare              = 2
version              = 2.3.0
nodeid               = 0102030405060708
stealth              = 0

reshare — сколько раз карта может быть перераздана дальше. Значение 2 означает, что клиент может отдать карту ещё двум уровням. Если хочешь запретить reshare полностью — ставь 0.

nodeid — уникальный идентификатор в сети. Можно не задавать, OScam сгенерирует сам. Но при связке нескольких серверов лучше задать явно, чтобы не было конфликтов.

Создание пользователей в oscam.user

Каждый клиент, который будет подключаться к твоему OScam по CCcam-протоколу, описывается в oscam.user:

[account]
user                 = client1
pwd                  = secretpass
group                = 1
cccmaxhops           = 3
cccreshare           = 1
au                   = 1

Несколько клиентов — несколько секций [account]. au = 1 разрешает автообновление прав.

Параметр cccmaxhops и cccreshare

Здесь важно не перепутать: cccmaxhops в oscam.server (на reader) — это ограничение на получение дальних карт. cccmaxhops в oscam.user — это ограничение на то, как далеко клиент видит карты при раздаче.

cccreshare на уровне пользователя — разрешение на reshare именно для этого клиента. Даже если глобально reshare = 2, конкретному пользователю можно поставить cccreshare = 0 и он не сможет раздавать дальше.

Совместимость с CCcam-клиентами на других ресиверах

Старые ресиверы с оригинальным CCcam-плагином подключаются к OScam-серверу без проблем — при условии совпадения версии протокола. В CCcam.cfg на клиентском ресивере строка будет выглядеть так:

C: 192.168.1.100 12000 client1 secretpass

Формат CCcam.cfg: C: хост порт юзер пароль. Всё.

Связка OScam и CCcam на одном ресивере

Честно говоря, в 2026 году связка oscam cccam на одном устройстве нужна в редких случаях. OScam один закрывает обе роли. Но бывают ситуации, когда без этого не обойтись.

Зачем нужна связка: совместимость старых плагинов

Главная причина — старые плагины или скрипты, которые умеют общаться только с оригинальным CCcam. Некоторые автоматизированные системы мониторинга, старые Enigma1-боксы (DM500, DM56x0), определённые версии прошивок с захардкоженным путём к CCcam.cfg.

OScam обрабатывает локальные карты, CCcam — клиентские линии

Схема: CCcam запущен на порту 12000 и подключается к удалённым серверам. OScam запускается на другом порту и добавляет reader с protocol = cccam, указывающий на 127.0.0.1:12000. Так OScam получает карты через локальный CCcam и раздаёт их дальше своим клиентам или передаёт в DVB API.

[reader]
label                = local_cccam
protocol             = cccam
device               = 127.0.0.1:12000
user                 = oscam
password             = localpass
group                = 1

В CCcam.cfg соответственно добавь разрешённого юзера oscam.

Обмен через newcamd или camd35 локально

Альтернатива CCcam для локального обмена — newcamd. Он легче и проще в диагностике. CCcam настраивается как newcamd-сервер (секция N: в CCcam.cfg), OScam подключается как newcamd-клиент. Newcamd на стандартном порту 525.

Альтернатива: только OScam с эмуляцией CCcam

Лучшее решение — убрать CCcam вообще. OScam с секцией [cccam] полностью заменяет оригинальный CCcam-сервер. Все клиенты, которые раньше подключались к CCcam, просто переключаются на OScam без изменения своих конфигов — протокол совместим.

Отладка и диагностика подключений

Без умения читать логи настройка oscam cccam превращается в угадайку. Хорошая новость — OScam пишет очень подробные логи, если правильно настроить уровень.

Уровни логирования в oscam.conf: logfile, loglevel

В секции [global] файла oscam.conf:

[global]
logfile              = /tmp/oscam.log
loglevel             = 4
maxlogsize           = 1000

loglevel от 0 (только ошибки) до 6 (всё подряд). Уровень 4 — хорошее соотношение детальности и читаемости. Уровень 6 используй только для активной отладки — файл растёт очень быстро. maxlogsize в килобайтах, при достижении лог ротируется.

Чтение CCcam.log: строки CARDS, ROUTE, ECM

Для CCcam лог обычно в /tmp/CCcam.log или /var/tmp/CCcam.log. Строки которые важны:

CARDS — список видимых карт при подключении. Если после коннекта CARDS пуст — сервер не отдаёт карты. Проверяй cccversion и учётные данные.

ROUTE — путь ECM-запроса по цепочке серверов. Показывает через сколько хопов нашлась карта.

ECM — собственно запрос на расшифровку. После каждой строки ECM должен быть ответ с временем в миллисекундах.

Анализ ECM-ответов и время отклика

В логе OScam строка ECM выглядит так:

2026/04/15 14:22:31 s  ECM mycard (0500&030B00/1234/56:AB12CD34): found (285 ms) by my_cccam_line

Разбор: 0500 — CAID (Viaccess), 030B00 — провайдер, 1234 — SID сервиса, 56 — PMT PID, AB12CD34 — хэш запроса. 285 ms — время ответа. found by my_cccam_line — какой reader ответил.

Если видишь not found или timeout — карта не нашлась. Если время постоянно выше 600 мс — проблема с сервером или сетью.

Типичные ошибки: connection refused, wrong cccversion, no card

Connection refused — сервер недоступен или порт закрыт. Проверяй хост, порт, файрвол.

Wrong cccversion — несовпадение версии протокола. Спроси у провайдера какую версию нужно указать в cccversion.

No card или пустой список после подключения — учётные данные приняты, но карты не раздаются. Причины: неправильный CAID-фильтр на сервере, превышен лимит подключений по аккаунту, или cccmaxhops слишком низкий.

OScam запущен, reader зелёный, но каналы не открываются — почти всегда проблема в oscam.dvbapi. Проверь что файл существует, содержит правильный boxtype и user, и что в секции [dvbapi] в oscam.conf включён enabled = 1.

Критерии выбора провайдера card sharing линии

Технически всё настроено, нужна линия. Что смотреть при выборе — без имён конкретных сервисов, только параметры.

Стабильность аптайма сервера

Хороший провайдер должен давать аптайм 99%+ в месяц. Это проверяется только эмпирически — смотришь логи OScam за несколько дней: сколько раз reader уходил в reconnect, как часто появляются строки connection lost. Тестовый период 24-48 часов минимум, неделя — лучше.

Время отклика ECM (норма 200-400 мс)

200-400 мс — хорошо. До 600 мс — приемлемо для SD-каналов, но на HD уже будут заметны фризы раз в несколько минут. Выше 800 мс — смотришь не канал, а слайд-шоу. OScam показывает среднее время на странице Reader в веб-интерфейсе — ориентируйся на это значение после получаса активного просмотра.

Количество hops (чем меньше тем лучше)

Hop — это количество промежуточных серверов между физической картой и тобой. Hop 0 — карта прямо на сервере провайдера. Hop 1 — один промежуточный сервер. Каждый hop добавляет задержку. Hop 3 и выше уже заметны. В логах OScam хоп-каунт виден в строке ECM в поле hop=N.

Поддержка нужных Caid и провайдеров

Перед покупкой убедись, что линия поддерживает нужные CAID. Основные:

  • 0500 — Viaccess (Canal+, TNTSAT и другие французские пакеты)
  • 0B00 — Conax (скандинавские пакеты)
  • 0604 — Irdeto 2
  • 0100 — Seca/Mediaguard
  • 0D00 / 0D02 — Cryptoworks
  • 0E00 — PowerVu

TNTSAT (0500:030B00) — отдельная история. Требует boxkey (Unique Addr + BoxKey), которые в чистом CCcam не поддерживаются. Только OScam с правильно настроенным boxkey в oscam.server может с этим работать. Это ещё один аргумент в пользу перехода с CCcam на OScam.

Что лучше использовать в 2026 году — OScam или CCcam?

OScam, без вариантов. CCcam не обновлялся с 2014 года, активной поддержки нет. OScam — open-source, активная разработка, поддерживает CCcam-протокол как клиент и как сервер, плюс newcamd, camd35 и другие. Нет ни одной причины использовать оригинальный CCcam в 2026, если доступен OScam.

На каком порту по умолчанию работает CCcam-протокол?

Стандартный порт — 12000 TCP. В OScam задаётся в секции [cccam] параметром port = 12000. Можно изменить на любой свободный порт. Если на ресивере уже что-то занимает 12000, ставишь, например, 12001 — клиенты просто прописывают новый порт.

Что означает параметр cccversion и зачем его согласовывать?

cccversion — версия CCcam-протокола, которую анонсирует клиент при хендшейке. Обычные значения: 2.3.0, 2.2.1, 2.1.4. Клиент и сервер должны согласовать версию — если они не совпадают, хендшейк завершится ошибкой или карты не будут переданы. Провайдер обычно сообщает какую версию указывать. При несовпадении в логах увидишь строку вроде wrong version или просто пустой список карт после подключения.

Как ограничить количество hops при reshare линии?

В oscam.user параметр cccmaxhops определяет на сколько уровней вглубь клиент видит карты при раздаче. cccreshare = 0 полностью запрещает пользователю делать reshare. На уровне reader в oscam.server, cccmaxhops ограничивает приём карт с большим hop-count — если сервер даёт карты с hop=4, а у тебя cccmaxhops = 3, они не будут приняты.

Можно ли запустить OScam и CCcam одновременно на одном ресивере?

Да, но они должны слушать разные порты. CCcam обычно на 12000, OScam-cccam-server можно поставить на 12001. Веб-интерфейс OScam (8888) и CCcam не конфликтуют. Но в 2026 году держать оба на одном боксе почти никогда не имеет смысла — один OScam полностью заменяет оба. Единственный реальный кейс — старые плагины, которые жёстко завязаны на оригинальный CCcam-бинарник.

Где находятся конфигурационные файлы OScam на Enigma2?

Зависит от дистрибутива и способа установки. Варианты: /etc/tuxbox/config/oscam/ (OpenATV, OpenPLi через opkg), /var/tuxbox/config/oscam/ (ручная установка), /usr/keys/ (старые прошивки). Точный путь покажет команда oscam -V — строка ConfigDir:. Основные файлы: oscam.conf, oscam.server, oscam.user, oscam.dvbapi.

Какое нормальное время отклика ECM при card sharing?

200-400 мс — хорошо, смотришь без проблем. До 600 мс — приемлемо. Выше 800 мс — на HD-каналах будут заметные фризы каждые несколько минут. В логах OScam время отклика видно в строке ECM: found (285 ms) by reader_name. Средние значения за сессию смотри в веб-интерфейсе на странице Readers.

Практические советы для стабильного просмотра

Даже самая стабильная линия CCCam или OSCam требует пары простых подготовительных шагов. Обновляйте прошивку ресивера, раз в неделю очищайте ECM‑кеш и держите 15–20% свободного места на USB‑накопителе или во встроенной памяти, чтобы кардридер записывал ключи без задержек.

При настройке антенны оставляйте запас по MER/BER: смещение на два градуса или ослабленный F‑коннектор чаще становится причиной “фризов”, чем сам кардшаринг. Держите под рукой короткий патч‑корд для проверки другого роутера и сохраните два профиля в OSCam — под TCP и под UDP — чтобы мгновенно переключиться, если провайдер начнёт фильтровать протокол.

Utgard.tv следит за каждым хабом 24/7, однако вы можете ускорить диагностику, если будете вести небольшой журнал действий. Записывайте время переключения канала, активный CAID и то, использовали ли вы Wi‑Fi или Ethernet. Такой мини‑отчёт позволит инженерам воспроизвести вашу конфигурацию в лаборатории и предложить решение не за часы, а за минуты.

  • Держите активными две линии: если первый сервер уходит на обслуживание, второй тут же подхватывает поток без повторного ввода логина.
  • Раз в месяц делайте замер скорости и задержек. Стабильных 1–2 Мбит/с при пинге до 80 мс достаточно для SD/HD, но если джиттер превышает 20 мс — переведите роутер на провод.
  • Сохраните в закладки страницу статуса Utgard.tv и Telegram‑бота @utgard_tv_bot — там появляются уведомления о работах раньше, чем успеют среагировать SEMrush или внешние мониторы.