CCcam vs OScam: сравнение протоколов 2026

Вопрос cccam vs oscam возникает у каждого, кто настраивает cardsharing с нуля или переезжает на новый ресивер. Оба инструмента делают одно и то же — расшифровывают каналы через внешнюю карту или сервер. Но устроены они принципиально по-разному, и в 2026 году разрыв между ними стал ещё заметнее.

Я разберу оба варианта детально — с реальными конфигами, командами и цифрами. Без маркетинга и без выдуманных бенчмарков.

Что такое CCcam и OScam: краткая суть протоколов

Если совсем коротко: CCcam — это закрытый бинарник от анонимного автора, OScam — живой open-source проект с тысячами коммитов. Оба работают как клиент и сервер для распределения ключей расшифровки.

CCcam: проприетарный протокол с закрытым исходным кодом

CCcam появился в районе 2006-2007 года и долгое время был стандартом индустрии. Последняя стабильная версия — 2.3.2. Разработка фактически заморожена: новых релизов не выходит несколько лет, баги не чинятся, новые CAID не добавляются.

Протокол работает поверх TCP, шифрование встроено в бинарник. Исходники недоступны — это и плюс (простота развёртывания) и минус (нельзя ничего проверить или доработать).

OScam: open-source форк OSCam-emu с активной разработкой

OScam вырос из проекта OSCam, который сам по себе создавался как замена CCcam с открытым кодом. OScam-emu — расширенный форк с поддержкой эмуляции дополнительных CAID. Код на C, репозиторий активен, коммиты идут регулярно.

Ключевое отличие: OScam изначально проектировался как универсальная платформа, а не просто реализация одного протокола. Это видно во всём — от архитектуры конфигов до количества поддерживаемых reader'ов.

История появления и текущий статус проектов

CCcam доминировал до примерно 2012-2014 годов, пока сообщество не перешло на OSCam/OScam массово. Сейчас CCcam живёт только за счёт инерции: старые ресиверы, старые образы, старые пиры. На новых установках его выбирают редко.

OScam в 2026 — это де-факто стандарт. Практически все современные образы (OpenATV, OpenPLi, VTi) включают OScam в официальные feed'ы.

Архитектура и поддерживаемые протоколы

Здесь разница кардинальная. CCcam умеет только CCcam-протокол. OScam умеет почти всё.

CCcam: только протокол CCcam (cccam-протокол поверх TCP)

CCcam слушает входящие подключения на порту 12000 по умолчанию. Клиенты подключаются с C-line, сервер раздаёт ключи. Всё. Других вариантов нет — CCcam не умеет работать через newcamd, camd35 или что-то ещё.

Это создаёт проблему обратной совместимости: если сервер раздаёт только newcamd, подключить чистый CCcam-клиент к нему не получится.

OScam: newcamd, cccam, camd35, radegast, gbox, constcw

OScam может одновременно слушать несколько портов с разными протоколами. Типичная конфигурация: newcamd на 15000, cccam на 12001, webif на 8888. Один OScam-сервер принимает клиентов по любому из этих протоколов параллельно.

Как клиент — аналогично. В /etc/oscam/oscam.server можно прописать reader'ов с разными протоколами, и OScam будет опрашивать их все, применяя настроенные приоритеты.

Поддержка readers: phoenix, smargo, internal, SCR3310

OScam читает физические карты через несколько интерфейсов:

  • internal — встроенный reader Dreambox, Vu+, Zgemma
  • phoenix/smargo — USB-кардридеры через serial
  • pcsc — стандартный PC/SC через libpcsclite (SCR3310, ACR38)
  • mouse — serial reader в режиме mouse

CCcam тоже работает с internal reader и phoenix, но настройка жёстче зашита в бинарник. Добавить нестандартный reader в CCcam нельзя — в OScam это вопрос одной строки в конфиге.

Работа с CAM-модулями (CI, CI+)

OScam взаимодействует с CI/CI+ модулями через DVBAPI. Параметры в oscam.dvbapi определяют, какой тюнер и какой CAM использовать. CCcam тоже поддерживает CI через DVBAPI, но гибкость настройки ниже.

Конфликт CCcam и OScam на одном DVBAPI — реальная проблема. Если запустить оба, приоритет определяется порядком записей в oscam.dvbapi и тем, кто первым захватил /dev/dvb/adapter0/demux0. Обычно решается выдачей OScam приоритета и использованием CCcam только как дополнительного клиента.

Производительность и стабильность

Это самое интересное место в сравнении cccam vs oscam, потому что ответ зависит от железа.

Скорость ECM-обработки (миллисекунды на запрос)

На одной и той же физической карте через один и тот же reader:

ПротоколECM time (типичный)ECM time (плохой канал)
OScam200–400 ms600–900 ms
CCcam300–600 ms800–1500 ms

Разница объясняется архитектурой: OScam эффективнее управляет очередью запросов к reader'у. Плюс cache-ex (об этом ниже) резко снижает реальное время при повторных запросах.

Замерить самому просто. Включить в /etc/oscam/oscam.conf секцию [monitor] с aulow=0 и смотреть лог:

tail -f /var/log/oscam/oscam.log | grep "ECM"

Строка будет выглядеть примерно так: 2026/05/19 14:22:31 c (ecm time: 287 ms). Для CCcam логирование беднее — включить через CCcam.cfg параметр LOGFILE и фильтровать по "ECM".

Потребление RAM и CPU на разных платформах (ARM, MIPS, x86)

OScam: 8–15 MB RAM в покое, CCcam: 5–10 MB. Разница небольшая, но на Dreambox 500S с 64 MB RAM это уже имеет значение.

На старых MIPS-ресиверах (до 2012 года) CCcam бывает стабильнее — бинарник оптимизирован под это железо, OScam там может потреблять больше CPU из-за дополнительных фич. На современных ARM (Vu+ Duo4K, Zgemma H9S, любой на bcm7252) OScam выигрывает по всем параметрам.

Поведение при высокой нагрузке (10+ клиентов)

10 одновременных клиентов на OScam — вообще не нагрузка для ARM. Реальное узкое место — скорость физической карты (300–500 ms на ECM) и пропускная способность сети, а не сам OScam.

CCcam при 10+ клиентах начинает давать очереди запросов к карте, ECM time растёт. OScam управляет приоритетами через group и lb_weight — это позволяет настроить кто получает ответ первым.

Если ECM time скачет от 200ms до 2000ms — это почти всегда проблема сети или перегруз карты, не самого протокола. Проверить: ping -i 0.2 -c 100 сервер, смотреть на jitter.

Время переключения каналов (zapping time)

С включённым cache-ex в OScam — zapping time на популярных каналах падает до 100–200ms, потому что CW уже есть в кеше от другого клиента. CCcam каждый раз идёт к карте независимо. На практике разница заметна именно при запинге по HD-пакету, где каналов много и каждый переключает разных людей.

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

Конфигурация — это то, где CCcam проигрывает особенно наглядно.

CCcam.cfg: синтаксис F-line, C-line, N-line

Файл /etc/CCcam.cfg — простой текстовый формат. Минимальная конфигурация клиента:

# Подключение к серверу (C-line)
# C: хост порт пользователь пароль [опции]
C: server.example.com 12000 myuser mypassword

# Локальный аккаунт для раздачи клиентам (F-line)  
# F: пользователь пароль ограничение reshape reshape_cardserial
F: localclient localpass 1 0 0

# N-line — подключение через newcamd к внешнему серверу
# N: хост порт пользователь пароль DES-ключ
N: newcamdserver.com 15000 user2 pass2 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Всё. Больше опций мало — только LOGFILE, LOGLEVEL, IGNORERESHARE. SID-листы задаются в фигурных скобках после пароля в C-line: C: host 12000 user pass no { 0:0:1 }.

OScam: oscam.conf, oscam.server, oscam.user, oscam.dvbapi

OScam разбивает конфигурацию на несколько файлов. Стандартное расположение: /etc/oscam/ или /var/keys/ в зависимости от образа. Минимальный рабочий набор:

oscam.conf — глобальные настройки:

[global]
logfile                       = /var/log/oscam/oscam.log
maxlogsize                    = 500
preferlocalcards              = 1
lb_mode                       = 1

[webif]
httpport                      = 8888
httpuser                      = admin
httppwd                       = сильный_пароль
httpallowed                   = 127.0.0.1,192.168.1.0/24

[dvbapi]
enabled                       = 1
listenport                    = 9000
user                          = dvbapi_user

oscam.server — reader'ы (физические карты и remote серверы):

[reader]
label                         = remote_cccam
protocol                      = cccam
device                        = server.example.com,12000
user                          = myuser
password                      = mypassword
group                         = 1
cccversion                    = 2.3.2
ccckeepalive                  = 1

oscam.user — аккаунты для клиентов:

[account]
user                          = localclient
pwd                           = localpass
group                         = 1
au                            = 1

oscam.dvbapi — привязка к тюнеру:

P: 0500:000000

Пример минимальной рабочей конфигурации для каждого

Для Vu+ Duo4K на OpenATV с OScam — четыре файла выше, плюс перезапуск: systemctl restart oscam или через меню плагинов. Для CCcam — один файл и systemctl restart CCcam.

Расположение файлов: /etc/tuxbox/config/, /var/keys/, /usr/keys/

Расположение зависит от образа:

  • OpenATV / OpenPLi: /etc/oscam/
  • Старый Gemini (Dreambox): /etc/tuxbox/config/
  • Некоторые образы Vu+: /var/keys/ или /usr/keys/
  • CCcam везде читает /etc/CCcam.cfg как первичный путь

Если OScam не стартует — первое что проверить: права на директорию конфигов (chown -R root:root /etc/oscam && chmod 644 /etc/oscam/*).

Веб-интерфейс и мониторинг

Это одно из самых ощутимых преимуществ OScam для тех, кто реально следит за своей системой.

OScam WebIF: статистика, лог, управление readers в реальном времени

WebIF открывается на http://ресивер:8888. Там есть: статус каждого reader (онлайн/оффлайн, ECM time, количество запросов), список подключённых клиентов с трафиком, live log с фильтрами, статистика по CAID и SID, возможность перезапустить отдельный reader без перезапуска всего OScam.

Это полноценный dashboard. Я не знаю другого инструмента в этой нише, который даёт такую видимость в браузере без дополнительного ПО.

CCcam: webinfo на порту 16001 — базовая информация

CCcam webinfo (http://ресивер:16001) показывает: список C-line с состоянием, активные пиры, версию. Это текстовая страница, почти без форматирования. Диагностировать по ней серьёзные проблемы неудобно — нет графиков, нет истории, нет детального лога.

Просмотр ECM/EMM трафика и диагностика

В OScam WebIF есть раздел с EMM/ECM трафиком в реальном времени — видно какой CAID, какой провайдер, сколько времени занял ответ. Для диагностики "почему этот канал не работает" — бесценно.

В CCcam такого нет. Придётся парсить лог вручную.

Live log: tail -f oscam.log vs CCcam.log

OScam пишет подробный структурированный лог. С уровнем DEBUG=4 в oscam.conf видно каждый ECM-запрос с временем, CAID, SID и reader'ом, который ответил. CCcam логирует меньше деталей, формат менее предсказуемый.

# OScam: детальный лог в реальном времени
tail -f /var/log/oscam/oscam.log | grep -E "ECM|reader|client"

# CCcam: базовый лог  
tail -f /var/log/CCcam.log

Включить DEBUG в OScam: в oscam.conf добавить debug = 64 в секцию [global]. На продакшне лучше держать 0 или 4 — DEBUG=64 генерирует гигабайты логов за день.

Безопасность и риски использования

Тема, которую обычно игнорируют — а зря.

Закрытый код CCcam: что внутри бинарника неизвестно

CCcam — бинарник без исходников. Что он делает кроме cardsharing — проверить невозможно. Реверс-инжиниринг старых версий находил в нём сетевую активность сверх ожидаемого. Это не значит что он обязательно вредоносный, но проверить нельзя. В 2026 году запускать закрытый бинарник из интернета на домашнем ресивере — это осознанный риск.

Открытый код OScam: возможность аудита

OScam лежит на GitLab и SVN streamboard. Код открыт, история коммитов публична. Любой может проверить что делает конкретная функция. На практике это означает: известные уязвимости быстро закрываются, и нет скрытой функциональности.

Шифрование трафика между peer'ами (DES, AES)

CCcam шифрует трафик своим алгоритмом на основе DES — детали недокументированы. OScam в режиме newcamd использует тройной DES для шифрования сессии. Ни тот ни другой не предоставляют современного end-to-end шифрования уровня TLS 1.3.

Если нужна реальная защита трафика — поднять WireGuard или OpenVPN тоннель между клиентом и сервером и работать внутри него. Тогда сам протокол cardsharing-шифрования становится вторичным.

Защита webif: HTTPS, IP whitelist, httpallowed

WebIF OScam по умолчанию открыт для всех. Обязательно ограничить:

[webif]
httpport                      = 8888
httpuser                      = admin
httppwd                       = минимум-16-символов-случайный
httpallowed                   = 127.0.0.1,192.168.1.0/24
httpdyndns                    = 0

Без httpallowed webif доступен из интернета если порт проброшен. Сканеры Shodan регулярно находят открытые OScam-инстансы. CCcam webinfo на 16001 — аналогичная ситуация, защита только через фаерволл.

Для HTTPS в OScam: параметр httpsport + httpscert с путём к PEM-сертификату. Самоподписанный работает нормально для домашнего использования.

Что выбрать: критерии решения

Когда обсуждают cccam vs oscam, часто ищут универсальный ответ. Его нет — зависит от ситуации. Но в 2026 году выбор в большинстве случаев очевиден.

Если ресивер старый (MIPS, до 2014) — рассмотрите CCcam

Dreambox 500S, Dreambox 800 на MIPS-процессоре, старые Clones с ядром Linux 2.6 — для них OScam может не собраться из-за несовместимости тулчейна. Или соберётся, но будет потреблять слишком много CPU. На таком железе CCcam 2.3.2 работает предсказуемо.

Проверить архитектуру: uname -m. Если выдаёт mips — искать готовый OScam-бинарник под эту платформу или оставить CCcam.

Если нужны несколько протоколов одновременно — OScam

Сервер раздаёт newcamd, а у вас CCcam-клиент? OScam решает это одной строкой в oscam.server. Нужно раздавать своим клиентам и по cccam и по newcamd одновременно? OScam, однозначно.

Если важна диагностика и логирование — OScam

Если вы администрируете сервер с несколькими клиентами и хотите понимать что происходит — OScam WebIF не имеет альтернатив. CCcam для такого сценария откровенно слаб.

Если нужна работа с физическими картами через PCSC — OScam

Только OScam. CCcam не умеет работать с PC/SC через libpcsclite. Если у вас SCR3310 или ACR38 подключён к x86-серверу — выбор очевиден.

И ещё один момент: если вы подключаетесь к серверу, который работает на OScam с cache-ex — как клиент вы от этого не выигрываете напрямую. Но если у вас тоже OScam и вы участвуете в cache-ex пуле — zapping time падает для всех участников. Это кооперативная оптимизация, которой в cccam vs oscam сравнениях почему-то не уделяют внимания.

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

Да, технически можно. Главное — разные порты и чёткое разделение DVBAPI. Обычная схема: OScam как основной с доступом к DVBAPI (listenport = 9000 в oscam.dvbapi), CCcam запускается без DVBAPI и используется только как клиент для подключения к старым пирам через C-line. В oscam.server прописывается reader с protocol = cccam, который подключается к локальному CCcam как к ретранслятору. Немного громоздко, но работает.

Какой протокол даёт меньше фризов на HD/4K каналах?

OScam при правильно настроенном cache-ex. Механизм CSP (CacheEx Stream Pushing) позволяет получить уже расшифрованный CW от другого клиента в пуле без нового запроса к карте. Для 4K-каналов, где смена ключей происходит каждые 7–10 секунд, это критично — каждый фриз это пропущенный ECM. CCcam идёт к карте каждый раз независимо, cache-ex аналога нет. На хорошем линке разница не всегда заметна, но при нестабильной сети OScam с кешем выигрывает стабильно.

Почему OScam пишет "ECM not found" хотя CCcam с тем же сервером работал?

Чаще всего — проблема с группами или CAID. Алгоритм диагностики: (1) Проверить oscam.dvbapi — правильные CAID:ProviderID для вашего пакета. (2) Проверить что в oscam.server у reader стоит group = 1, а в oscam.user у user тоже group = 1 — они должны пересекаться. (3) Убедиться что protocol = cccam в reader, если сервер работает на CCcam (а не newcamd). (4) Включить debug = 255 в [global] и смотреть лог — там будет точная причина с CAID и reader'ом.

Сколько клиентов выдержит OScam на ресивере Vu+ Duo4K?

На ARM Cortex-A15 с 2GB RAM — стабильно 20–30 одновременных клиентов через newcamd и cccam вместе. Узкое место почти никогда не сам OScam, а скорость обработки ECM физической картой (300–500ms на запрос) и пропускная способность аплинка. Если карта отвечает за 400ms и у вас 20 клиентов — в худшем случае последний в очереди ждёт 8 секунд. Cache-ex решает эту проблему для повторных запросов. На x86-сервере с нормальным каналом OScam спокойно держит сотни клиентов.

Что такое cache-ex в OScam и есть ли аналог в CCcam?

Cache-ex (или CSP — CacheEx Stream Pushing) — это механизм обмена уже расшифрованными Control Words между OScam-инстансами в сети. Когда один клиент получил CW для канала, он пушит его в кеш, и следующий клиент с тем же запросом получает ответ мгновенно без обращения к карте. Настраивается в oscam.conf через секцию [cacheex] и параметр cacheex = 1 или 2 у reader'а. В CCcam аналога нет — каждый ECM-запрос идёт к источнику независимо. Это одно из ключевых преимуществ OScam для высоконагруженных сценариев.

Где взять последнюю версию OScam для моего ресивера?

Самый простой путь — через встроенный пакетный менеджер образа. На OpenATV: Menu → Setup → System → Software Management → поиск "oscam". На OpenPLi — аналогично. Готовые ipk-пакеты собраны под конкретную платформу (arm, mipsel, cortexa15hf). Если нужна последняя версия из исходников — SVN репозиторий streamboard или GitLab, сборка через стандартный CMake. CCcam-бинарники есть на сайте оригинального автора, но проект давно не обновляется — бери то что есть.

Совместим ли OScam с CCcam-пирами и наоборот?

OScam полностью совместим с CCcam в обе стороны. Как клиент — прописать reader с protocol = cccam и подключаться к любому CCcam-серверу. Как сервер — OScam раздаёт по CCcam-протоколу своим клиентам, и они не знают что сервер на OScam. Обратная совместимость однобокая: CCcam умеет только свой протокол, подключить его к newcamd-серверу напрямую нельзя. Поэтому OScam можно использовать как шлюз — принимает newcamd с сервера, раздаёт CCcam-клиентам.

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

Даже самая стабильная линия 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 или внешние мониторы.