Card Sharing: настройка CCcam и OScam 2026

Если вы читаете это, значит уже прошли этап «что это вообще такое» и хотите получить рабочие конфиги, а не маркетинговую воду. Card sharing (CCcam/OScam) — настройка сервера и клиента — тема, где дьявол в деталях: один лишний пробел в строке C:, и линия не поднимается. Разберём всё построчно.

Что такое card sharing и как работает протокол

Спутниковые каналы шифруются системами условного доступа — Nagravision, Viaccess, Irdeto, Conax и другими. Ресивер сам не умеет расшифровывать поток без физической смарт-карты или доступа к серверу, который держит такую карту. Именно здесь и начинается card sharing.

Принцип обмена контрольными словами (CW)

Цепочка выглядит так: ресивер получает зашифрованный поток, формирует ECM-запрос и передаёт его на softcam (CCcam или OScam). Тот отправляет запрос на удалённый сервер, где в ридере стоит смарт-карта. Карта расшифровывает ECM и возвращает контрольное слово (Control Word, CW) длиной 16 байт. CW приходит обратно на ресивер, и картинка появляется.

Весь этот цикл должен уложиться примерно в 400–600 мс. Если не укладывается — фриз. Шифрование меняется каждые 10 секунд, поэтому задержки здесь критичны.

Роль ECM и EMM в процессе декодирования

ECM (Entitlement Control Message) — это зашифрованный запрос, содержащий контрольное слово. Именно его гоняет softcam туда-обратно. EMM (Entitlement Management Message) — служебные сообщения для управления правами самой смарт-карты: обновление подписки, добавление каналов и так далее. Для базовой работы card sharing важен именно ECM-поток.

В логах OScam вы увидите строки вида ECM answer time: 230 ms. Это и есть время от запроса до получения CW.

Отличия протоколов CCcam, newcamd и mgcamd

CCcam работает на порту 12000 по умолчанию и использует собственный бинарный протокол. Newcamd — порт 15000, более старый протокол, до сих пор поддерживается многими серверами. Camd35 использует UDP, встречается реже.

CCcam исторически стал стандартом де-факто для решар: протокол умеет передавать информацию о доступных картах (shares) и строить распределённые сети. Newcamd проще, работает по принципу один клиент — один ридер, без понятия hop.

Когда выбирать OScam вместо CCcam

OScam — это не замена CCcam, а надстройка. OScam умеет работать в режиме клиента (подключаться к CCcam-серверу через cccam-протокол), а одновременно отдавать доступ другим клиентам. Плюс полноценный веб-интерфейс, детальное логирование по каждому ECM, тонкая настройка приоритетов ридеров.

Если у вас Enigma2-ресивер и один сервер — CCcam проще. Если нужна гибкость, мониторинг в реальном времени и несколько источников — OScam.

Настройка сервера и клиента CCcam

Файл конфигурации CCcam — это обычный текстовый файл, где каждая значимая строка начинается с буквенного префикса. Синтаксис чувствителен к регистру и пробелам — это первый источник ошибок у новичков.

Структура файла CCcam.cfg и путь /var/etc/CCcam.cfg

На Enigma2-ресиверах конфиг лежит по пути /var/etc/CCcam.cfg. На некоторых прошивках — /etc/CCcam.cfg. После редактирования файл нужно сохранять в Unix-формате (LF, не CRLF) — Windows-переносы строк ломают парсинг.

Базовая структура файла выглядит так:

# CCcam configuration
SERVER RECV TIMEOUT = 5
RECONNECT TIMEOUT = 5
CAID PRIO = /var/etc/CCcam.prio
NEWCAMD LISTEN PORT = 15000
CCcam LISTEN PORT = 12000
MONITOR = 16001

Строка C: line для клиента (hostname port username password)

Это главная строка клиентского конфига. Синтаксис:

C: server.host 12000 myusername mypassword no { 0:0:2 }

Где no — не использовать CCcam v2.2+ хэш, а { 0:0:2 } — максимальный hop. Важно: между C: и hostname должен быть ровно один пробел. Лишний пробел в начале строки — и CCcam игнорирует строку без сообщения об ошибке. Пароль чувствителен к регистру: MyPass и mypass — разные пароли.

Если сервер требует конкретный caid, это указывается в фигурных скобках: { 0500:000000 } — только Viaccess. { 0:0:2 } — принять всё, что сервер предлагает с hop не более 2.

Строка F: line для отдачи доступа клиенту

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

F: clientuser clientpass 1 0 0 { 0:0:1 }

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

Параметры N: line и newcamd-шары

Для подключения по протоколу newcamd используется N: line:

N: server.host 15000 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14

14 байт после пароля — это DES-ключ. Без правильного ключа соединение не установится. Ключ выдаётся провайдером вместе с логином/паролем и обычно выглядит как 14 шестнадцатеричных значений.

Перезапуск демона и проверка через telnet на порт 16001

После правки конфига перезапуск на Enigma2:

init 6   # перезагрузка ресивера
# или конкретно демон:
/etc/init.d/softcam restart

Проверка статуса через telnet:

telnet 127.0.0.1 16001

CCcam вернёт список активных C-lines, их статус (connected/connecting/failed) и количество доступных шар. Строка C: server.host 12000 — connected, shares: 847 означает, что всё работает.

Настройка OScam: oscam.server, oscam.user и oscam.conf

OScam разбивает конфигурацию на несколько файлов — это чище, чем монолитный CCcam.cfg, но требует понимания, что за что отвечает. Основные файлы: oscam.conf, oscam.server, oscam.user, oscam.services.

Файлы конфигурации в /etc/tuxbox/config/oscam/

На Enigma2 конфиги обычно лежат в /etc/tuxbox/config/oscam/ или /usr/keys/oscam/ — зависит от прошивки. Логи по умолчанию пишутся в /tmp/oscam.log, но лучше перенастроить на постоянный путь:

# в oscam.conf, секция [global]
logfile = /var/log/oscam.log
maxlogsize = 500

Секция [reader] для подключения к серверу по cccam

Файл oscam.server, пример подключения к CCcam-серверу:

[reader]
label         = myserver
protocol      = cccam
device        = server.host,12000
user          = myusername
password      = mypassword
group         = 1
cccversion    = 2.1.4
cccmaxhops    = 2
reconnecttimeout = 30

Параметр cccversion влияет на рукопожатие с сервером. Если сервер старый (CCcam 2.0.x), попробуйте 2.0.11. cccmaxhops = 1 означает принимать только карты первого hop — прямые, без решары. Для стабильности это правильный выбор.

Секция [account] в oscam.user

Файл oscam.user описывает клиентов, которым OScam отдаёт доступ:

[account]
user          = localclient
pwd           = secretpass
group         = 1
au            = 1
services      = mypackages
caid          = 0500,0604
ident         = 0500:042800,0604:000000

Параметр au = 1 включает AutoUpdate — OScam будет передавать EMM на карту для обновления прав. Параметр ident ограничивает доступ конкретными провайдерами внутри caid.

Настройка [webif] и порт 8888 для мониторинга

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

[webif]
httpport      = 8888
httpuser      = admin
httppwd       = adminpass
httprefresh   = 10
httpshowpicons = 1

После запуска OScam открывайте в браузере http://192.168.1.x:8888 — там видно каждый ридер, его статус, последнее время ECM, количество успешных и неуспешных декодирований. Зелёный кружок рядом с ридером — подключён. Красный — нет. Жёлтый — ECM time превышает норму.

Подключение локальной смарт-карты через ридер

Если в ресивер вставлена физическая карта, в oscam.server добавляется отдельный ридер:

[reader]
label         = localcard
protocol      = internal
device        = /dev/sci0
group         = 2
caid          = 0500
detect        = CD

/dev/sci0 — стандартный путь к встроенному ридеру на Enigma2. На некоторых ресиверах это /dev/sci1. OScam автоматически определит карту при наличии параметра detect = CD.

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

Большинство проблем при настройке card sharing (CCcam/OScam) — настройка сервера и клиента сделана правильно, но мелкие детали сводят всё на нет. Вот методика, которая работает.

Ошибка FREEZE и зависание картинки

Фриз — это следствие, а не причина. Картинка зависает, потому что CW не пришло до истечения 10-секундного окна. Причин несколько, и они не всегда очевидны.

Первым делом смотрим ECM time в веб-интерфейсе OScam. Норма — до 400 мс, приемлемо — до 600 мс. Если видите 800+ мс — фризы неизбежны на динамичном видео. Динамичные сцены (спорт, экшн) запрашивают CW чаще, и буфер не справляется.

Ещё одна неочевидная причина: конфликт двух softcam на одном ресивере. Если у вас запущены одновременно CCcam и OScam — они будут конфликтовать за один и тот же CAM-слот. Оставьте только один.

Сообщения ECM not decoded / no card

В логах OScam это выглядит как:

2026/06/10 14:23:11 c (myserver) ECM not decoded (no card)
2026/06/10 14:23:11 c rejected (0500&042800/0604/0082/E:0)

Сообщение no card означает, что ни один из подключённых ридеров не имеет карты с нужным caid/provid. Проверьте, что caid в C-line или [reader] соответствует тому, что требует канал. Канал может работать с несколькими caid (cascading), и если первый не подходит — OScam пробует второй. Если hop 2 не успевает ответить — фриз.

Высокий ECM time и фризы на динамичных сценах

Смотрим ping до сервера. Ping 80–100 мс и выше уже даёт заметный вклад в ECM time. При ping 200+ мс и hop 2 суммарная задержка легко выходит за 600 мс.

Потеря пакетов — отдельная беда. Даже 1–2% потерь на нестабильном интернет-соединении приводят к периодическим фризам, которые сложно диагностировать. Проверяйте командой:

ping -c 100 server.host | tail -2

Если видите 2 packets lost или более — проблема в канале связи, а не в конфиге.

Проблемы с hop (расстояние до карты) и приоритетами

Hop — количество промежуточных серверов между вашим ресивером и физической смарт-картой. Hop 1 = прямой сервер с картой, hop 2 = решара через посредника, hop 3+ = цепочка решар.

Каждый дополнительный hop добавляет 50–150 мс к ECM time и снижает надёжность: если любой узел в цепочке упадёт, канал замолчит. В CCcam статус hop виден в telnet на порт 16001. В OScam — в колонке Hop в веб-интерфейсе. Если провайдер декларирует hop 1, а вы видите hop 2 — что-то не так.

Чтение логов oscam.log и CCcam через telnet

Для live-мониторинга логов OScam:

tail -f /var/log/oscam.log | grep -E "(ECM|WARN|ERROR)"

Для CCcam подключитесь через telnet на порт 16001 и смотрите вывод. Строки с connecting означают, что сервер недоступен. connected — соединение установлено. rejected — сервер принял соединение, но отклонил авторизацию (неверный логин/пароль или IP не в whitelist).

Отдельный кейс: провайдер сменил ключи или обновил прошивку карты. В логах всё выглядит нормально — connected, shares есть — но ECM возвращает timeout. Это значит, карта на сервере не может расшифровать запрос. Решение только одно — обратиться к провайдеру.

Card sharing (CCcam/OScam) — настройка сервера и клиента: критерии выбора провайдера

Называть конкретные сервисы не буду — рынок меняется быстро, и любое название через полгода может оказаться нерабочим. Вместо этого — чек-лист, по которому вы сами оцените любую линию за 10 минут.

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

Нормальный показатель uptime — 99%+. Это примерно 7 часов даунтайма в месяц максимум. Проверить можно только в динамике: дайте линии поработать 24–48 часов и смотрите, сколько раз OScam логировал reader disconnected.

В веб-интерфейсе OScam смотрите колонку Uptime для каждого ридера. Если ридер регулярно переподключается каждые несколько часов — сервер нестабильный, даже если ping нормальный.

Среднее ECM time и количество hop

Для комфортного просмотра средний ECM time должен быть ниже 400 мс. Лучшие серверы с прямыми картами дают 80–150 мс. Hop 1 — обязателен для стабильной работы. Hop 2 терпим, если ECM time укладывается в норму. Hop 3 и выше — только для тестирования.

В OScam это видно сразу в таблице ридеров: колонки ECM time и Hop. Снимите показания через 30–60 минут активного просмотра — усреднённые цифры честнее одного замера.

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

Запросите у провайдера список поддерживаемых caid и ident. Сравните с тем, что требуют нужные вам каналы. Это можно посмотреть в OScam через oscam.srvid или в Channel Info на ресивере — там отображается caid текущего канала.

Типичный пример несовпадения: канал работает на caid 0604 провайдера 000000, а сервер даёт только 0604:020000. Декодирования не будет, хотя caid формально совпадает.

Наличие резервных серверов и DNS

Хороший провайдер даёт не только основной хост, но и резервный. Если сервер переезжает на другой IP, конфиг с DNS-именем обновится автоматически. Прямой IP в C-line — плохая практика: при смене адреса сервера придётся вручную обновлять конфиг на каждом ресивере.

В OScam можно прописать два ридера с одинаковыми настройками, но разными device, и выставить приоритет через параметр weight. При падении основного — автоматически переключится на резервный.

Тестовый период для проверки качества

Любой серьёзный провайдер даёт тестовый доступ на 24–48 часов. За это время прогоните нагрузочный тест: смотрите спорт в HD, переключайте каналы часто, фиксируйте ECM time в логах. Не доверяйте скриншотам из телеграма — только собственным логам oscam.log.

Типичные ошибки конфигурации, которые все упускают

NAT и файрволы — частая причина, почему соединение зависает в статусе connecting. Порт 12000 TCP должен быть открыт для исходящих соединений. На некоторых роутерах исходящий трафик на нестандартные порты блокируется по умолчанию. Проверить:

telnet server.host 12000

Если соединение не устанавливается — проблема в сети, не в конфиге CCcam.

Динамический IP сервера — ещё один нюанс. Если провайдер выдал IP-адрес вместо домена, и сервер переехал — линия упадёт без каких-либо изменений в вашем конфиге. Всегда требуйте hostname, не IP.

И последнее: card sharing (CCcam/OScam) — настройка сервера и клиента предполагает, что на одном ресивере работает только один softcam. CCcam и OScam одновременно — гарантированный конфликт. Один из них будет захватывать CAM-ресурс, второй начнёт выдавать хаотичные ошибки.

Частые вопросы

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

Стандартный порт CCcam — 12000 (TCP). Порт 16001 — это info/web-порт для мониторинга через telnet. Протокол newcamd работает на порту 15000. Все три можно изменить в файле CCcam.cfg через параметры CCcam LISTEN PORT, MONITOR и NEWCAMD LISTEN PORT.

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

Зависит от задачи. CCcam проще в начальной настройке, подходит если нужен один сервер и один ресивер. OScam гибче: поддерживает десятки протоколов, даёт нормальный веб-интерфейс с ECM-статистикой, позволяет тонко настраивать приоритеты ридеров. На практике их часто связывают: OScam как клиент подключается к CCcam-серверу через protocol = cccam.

Почему появляются фризы (FREEZE) на каналах?

Чаще всего — высокое ECM time (выше 600 мс), большой hop (2+), нестабильное интернет-соединение с потерями пакетов, или несовпадение caid/provid. Реже — перегрузка сервера. Диагностировать нужно через логи: смотрите ECM time в OScam или подключайтесь к порту 16001 в CCcam. Фриз без видимых ошибок в конфиге часто означает, что провайдер обновил прошивку карты.

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

Путь — /var/etc/CCcam.cfg. На некоторых прошивках это /etc/CCcam.cfg. После правки сохраняйте в Unix-формате (LF), не Windows (CRLF). Перезапуск демона: /etc/init.d/softcam restart. Проверка статуса: telnet 127.0.0.1 16001.

Что означает hop в card sharing?

Hop — количество серверов между вашим ресивером и физической смарт-картой. Hop 1 — прямое подключение к серверу с картой, минимальная задержка. Hop 2 — сервер-посредник (решара), задержка выше. Hop 3+ — цепочка решар, высокий риск фризов и обрывов. Значение hop видно в telnet CCcam (порт 16001) или в веб-интерфейсе OScam.

Как проверить ECM time и что считается нормой?

ECM time отображается в веб-интерфейсе OScam на порту 8888 — колонка ECMtime для каждого ридера. Также видно в /var/log/oscam.log: строки вида ECM answer time: 230 ms. Норма — до 400 мс, приемлемо до 600 мс. При значениях выше 600 мс фризы на спортивных и динамичных каналах неизбежны.

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

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