Кардшаринг: настройка CCcam и OScam в 2026
Если вы работаете с Enigma2-ресиверами и хотите разобраться в технической стороне вопроса — эта статья для вас. Кардшаринг как технология существует давно, но документация по нему традиционно либо устаревшая, либо размыта рекламой платных сервисов. Здесь — только техника: конфиги, порты, протоколы и диагностика по реальным логам.
Что такое кардшаринг и как он работает технически
По сути, кардшаринг — это механизм совместного использования смарт-карты через сеть. Ресивер получает зашифрованный DVB-поток, внутри которого находятся ECM-пакеты (Entitlement Control Messages). Эти пакеты содержат зашифрованное control word — ключ, которым можно расшифровать видео.
Вот цепочка событий при каждом декодировании: ресивер вытаскивает ECM из потока, отправляет его по TCP на сервер, где физически вставлена смарт-карта. Карта обрабатывает запрос и возвращает открытый CW (control word). Ресивер передаёт его в CAM/эмулятор, и картинка появляется.
Принцип работы: ECM-запрос и DCW-ответ
ECM-запрос — это несколько десятков байт. DCW-ответ — 16 байт (два 8-байтных ключа: нечётный и чётный). Вся процедура должна укладываться в ~7–10 секунд, потому что именно с такой частотой CW обновляется на большинстве современных вещательных пакетов. Пропустил обновление — фриз.
Поэтому задержка сети критична. 50 мс ping — это норма. 300 мс — уже опасно. Если сервер за несколькими узлами пересылки (hops), задержки суммируются.
Роль CAS, ECM и EMM в шифровании
CAS (Conditional Access System) — это общая система контроля доступа. Наиболее распространённые: Viaccess (CAID 0500), Nagravision (1800/1801), Irdeto (0602/0604), Conax (0B00), BISS (2600). CAID — это четырёхзначный идентификатор системы шифрования в hex.
ECM обеспечивает оперативный доступ — содержит зашифрованный CW. EMM (Entitlement Management Messages) — управляют правами на карте: активируют пакеты, обновляют ключи подписки. EMM нужны только для управления самой картой, не для потокового декодирования.
Разница между локальной картой и шарингом по сети
Локальная карта вставлена прямо в CAM-модуль или USB-ридер ресивера. Время ответа — 30–80 мс. При шаринге добавляется сетевая задержка плюс время обработки на удалённом сервере. Хорошо настроенный удалённый сервер с быстрым каналом даёт 80–200 мс. Многоуровневая решара (reshare) — уже 400–800 мс и фризы гарантированы.
Что такое control word и почему он меняется каждые ~10 секунд
CW меняется по расписанию вещателя — это защита от несанкционированного доступа. Интервал смены варьируется: стандартные пакеты — 8–10 секунд, некоторые операторы используют fast ECM с интервалом 2–4 секунды. HD-каналы с fast ECM особенно чувствительны к задержкам: если новый CW не приходит вовремя, дешифрование прерывается даже на полсекунды — и вы видите фриз.
Настройка сервера и клиента CCcam: конфиги и порты
CCcam — де-факто стандарт в мире Enigma2 для простых конфигураций. Конфигурационный файл находится по пути /etc/CCcam.cfg или /var/etc/CCcam.cfg в зависимости от прошивки. На OpenATV и OpenPLi обычно /etc/, на VTi — /var/etc/.
Структура CCcam.cfg и основные параметры
Базовая структура файла выглядит так:
SERVER LISTEN PORT: 12000
WEBINFO LISTEN PORT: 16001
ALLOW TELNET: yes
ALLOW WEBINFO: yes
TELNET LISTEN PORT: 16000
LOG FILE: /tmp/CCcam.log
LOG LEVEL: 1
SERVER LISTEN PORT — это TCP-порт, на котором демон принимает входящие подключения от клиентов. Менять его стоит только если 12000 занят или заблокирован провайдером. LOG LEVEL от 0 (тихий) до 3 (отладочный) — для диагностики выставляйте 3, в штатном режиме достаточно 1.
Строка F: для клиента и C: для подключения к серверу
Чтобы раздавать доступ клиентам, в CCcam.cfg добавляется строка формата:
F: username password 1 0 0 { 0500:023800 }
Здесь: F: — тип записи (предоставить доступ), далее логин/пароль клиента, затем параметры — 1 означает разрешение решары до 1 hop, 0 0 — запрет EMM и AU, а в фигурных скобках — список разрешённых CAID с идентификатором провайдера (ident). Если скобки пусты — разрешены все карты.
Для подключения к удалённому серверу — строка C::
C: hostname.example.com 12000 mylogin mypassword no
Последний параметр no — не запрашивать EMM. Для большинства случаев это правильно.
Стандартный порт 12000 и его изменение
Порт 12000 — дефолт для протокола CCcam. Если ресивер находится за NAT, нужен проброс порта на роутере. При двойном NAT (например, провайдер раздаёт серый IP) проброс с вашей стороны не поможет — нужен VPN или reverse proxy. Это частая причина, по которой клиент не может подключиться к серверу.
Файлы CCcam.channelinfo и CCcam.providers
/etc/CCcam.channelinfo содержит маппинг SID (Service ID) к человекочитаемым именам каналов — нужен только для отображения в веб-интерфейсе. /etc/CCcam.providers — маппинг CAID/ident к именам провайдеров. Оба файла необязательны, но с ними статус в веб-интерфейсе читается нормально.
Проверка статуса через веб-интерфейс на порту 16001
Открываете браузер: http://192.168.1.X:16001 — и видите список подключённых клиентов, доступных карт, текущие ECM-запросы. Если страница не открывается, проверьте ALLOW WEBINFO: yes и WEBINFO LISTEN PORT: 16001 в конфиге. Не забудьте про права: chmod 600 /etc/CCcam.cfg — файл содержит пароли.
Настройка OScam: oscam.conf, oscam.server, oscam.user
OScam — это то, что стоит использовать на серьёзных конфигурациях. Открытый исходный код, детальная статистика, гибкая маршрутизация ECM-запросов и стабильность под нагрузкой. CCcam проще для начала, но OScam обгоняет его по всем параметрам, как только разобраться с синтаксисом конфигов.
Рабочая директория конфигов — обычно /etc/tuxbox/config/ или /var/etc/oscam/. Запуск с явным указанием пути: oscam -c /etc/tuxbox/config/.
Разбор oscam.conf и секции [global]
[global]
logfile = /tmp/oscam.log
loghistorylines = 200
maxlogsize = 512
nice = -1
saveinithistory = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httpdyndns = 1
Параметр nice = -1 даёт процессу немного более высокий приоритет — на загруженных боксах это заметно. maxlogsize ограничивает размер лога в килобайтах, чтобы не забивать tmpfs раздел.
Описание ридеров в oscam.server
Каждый источник карты описывается секцией [reader]. Пример подключения к удалённому серверу по протоколу CCcam:
[reader]
label = myserver
protocol = cccam
device = hostname.example.com,12000
user = mylogin
password = mypassword
caid = 0500
ident = 0500:023800
group = 1
reconnecttimeout = 30
ccreshare = 0
group — ключевой параметр для связки ридеров и аккаунтов. Ридер с group = 1 будет использоваться только теми аккаунтами из oscam.user, у которых тоже указан group = 1. ccreshare = 0 запрещает клиентам ретранслировать доступ дальше.
Управление доступом в oscam.user
[account]
user = clientname
pwd = clientpassword
group = 1
au = 1
caid = 0500
ident = 0500:023800
maxconn = 1
au = 1 включает автоматическое обновление EMM для этого аккаунта. maxconn = 1 запрещает одновременный вход с двух IP — полезно для контроля. Если ident не указан, аккаунт получает доступ ко всем провайдерам в рамках указанного CAID.
Протокол cccam в OScam: [cccam] и порт
Чтобы OScam принимал подключения от CCcam-клиентов, нужна секция в oscam.conf:
[cccam]
port = 12000
version = 2.3.2
build = 11700
reshare = 0
ignorereshare = 1
version и build — это фиктивная версия CCcam, которую OScam представляется клиентам. Обычно достаточно 2.3.2. ignorereshare = 1 игнорирует запросы клиентов на перераспределение доступа — рекомендую всегда включать.
Веб-интерфейс OScam на порту 8888
Открываете http://192.168.1.X:8888 — видите статистику по каждому ридеру: ECM time, количество успешных/неуспешных запросов, время последнего ответа. Это самый ценный инструмент для диагностики. Именно здесь сразу видно, если ECM time вырос до 800 мс — пора разбираться с источником.
Диагностика проблем: фриз, черный экран, нет картинки
Большинство проблем диагностируется по логам за 5 минут. Но сначала нужно знать, куда смотреть и какие числа считать нормой.
Freeze и подергивания: высокий ping и hop count
Каждый hop в цепочке решары добавляет задержку. Типичная задержка одного hop — 50–150 мс. Три hop'а — уже 150–450 мс сверху к сетевой задержке. Если CW должен обновиться через 8 секунд, а запрос идёт туда-обратно 600 мс — математически ещё допустимо. Но при пиковой нагрузке сервера это 800–1200 мс, и фрагментация неизбежна.
Проверяйте ping до сервера: ping -c 20 hostname. Стабильный ping 40–80 мс — хорошо. Скачки от 50 до 400 мс — источник нестабильный, смотрите дальше.
Черный экран при наличии подключения
Это отдельный случай от фризов. Соединение есть, линк зелёный, но картинки нет вообще. Чаще всего — несовпадение CAID или provid. Ресивер запрашивает CW для CAID 0604, а сервер имеет карту только для 0602. Или в строке C: и F: указаны разные ident'ы.
Второй вариант — сбитые время и часовой пояс на ресивере. Некоторые CAM-системы (особенно Nagravision) проверяют системное время при валидации ECM. Расхождение более 5–10 минут с сервером — и карта отказывает в декодировании. Проверьте: date в ssh/telnet. Настройте NTP: ntpdate -u pool.ntp.org.
Ошибки в логах: 'card not found', 'no matching reader'
Смотрим лог в реальном времени:
tail -f /tmp/oscam.log | grep -E "ECM|reader|not found"
card not found — у сервера нет карты для этого CAID/provid. no matching reader — ридер есть, но он не попадает в группу аккаунта, или CAID/ident не совпадают. Перепроверьте соответствие group в oscam.server и oscam.user.
Проблемы с ECM time и таймаутами
В логах OScam строки ECM выглядят примерно так:
2026/01/15 21:34:12 s (ecm) clientname|cccam CAID: 0500 ProvID: 023800 SID: 1234 OK (245 ms)
245 мс — отлично. Выше 500 мс — следите. Выше 700 мс — активно ищите причину. Выше 1000 мс — гарантированные фризы на HD. В веб-интерфейсе OScam на странице ридера видна средняя и максимальная ECM time за сессию.
Параметр таймаута ECM в oscam.conf: clienttimeout = 1500 (в миллисекундах). Если ответ не пришёл за 1500 мс — запрос считается неудачным. Для fast ECM каналов это значение нужно снижать до 800–1000 мс.
Конфликты caid и неправильный provid
Конфликт двух эмуляторов — отдельная история. Если на ресивере одновременно запущены и OScam, и CCcam, и оба слушают порт 12000 — один из них упадёт с ошибкой привязки сокета. Проверяйте: netstat -tnlp | grep 12000. Должен быть только один процесс. Также следите, чтобы прошивка при обновлении не восстанавливала дефолтные конфиги — некоторые образы это делают, и вы теряете все настройки. Бэкап перед обновлением обязателен.
Как выбрать качественный источник: технические критерии
Разговор о выборе источника карт без упоминания конкретных сервисов — потому что они приходят и уходят, а критерии остаются. Любой кардшаринг-источник можно оценить по нескольким объективным параметрам.
На что смотреть: стабильность uptime и ECM time
Нормальный uptime сервера — 99%+ за последние 30 дней. ECM time в статистике должен быть стабильным: если среднее 150 мс, а пики уходят в 900 мс — сервер перегружается в пиковые часы (обычно 20:00–23:00). Именно в это время и нужно тестировать.
Хороший источник открыто показывает технические параметры: тип карт, количество hops, среднюю задержку. Если этой информации нет — уже настораживает.
Локальные карты против решары (reshare)
Источник с локальными картами (local cards, 0 hops) — это максимальная стабильность и минимальная задержка. Решара — это когда сервер сам является клиентом другого сервера. Каждый уровень добавляет задержку и точку отказа. Трёхуровневая решара на HD-пакетах — это почти гарантированный дискомфорт в пиковые часы.
Спрашивайте напрямую: карты локальные или решара? Если ответа нет или он уклончивый — принимайте решение соответственно.
Тестовый период и проверка стабильности
Тестируйте не менее 48–72 часов, включая вечерние пиковые часы. Проверяйте разные каналы с разными CAID — некоторые источники стабильны на одном пакете и рассыпаются на другом. В OScam смотрите статистику ридера: процент successful ECM должен быть выше 98%. Ниже 95% — плохо.
Признаки ненадежного источника
Частые обрывы (несколько раз в сутки), скачущий ping, скрытие параметров карт, отсутствие статистики — всё это красные флаги. Ещё один признак — сервер работает нормально первые дни после оплаты, а потом деградирует. Это классическая перегрузка при наборе клиентов без масштабирования инфраструктуры.
И последнее по поводу легальности: технически корректная схема кардшаринга предполагает, что карта, к которой вы получаете доступ, куплена официально и подписка на неё оплачена. Это принципиальный момент с точки зрения законодательства большинства стран.
Чем отличается CCcam от OScam и что выбрать?
CCcam проще в начальной настройке: один файл, понятный синтаксис. OScam — это другой уровень: открытый исходный код, подробная статистика по каждому ECM-запросу, гибкая маршрутизация через группы, стабильная работа под нагрузкой. Многие администраторы используют OScam как основной сервер с поддержкой протокола CCcam для совместимости с клиентами. Если настраиваете сервер на несколько клиентов — OScam без вариантов. Для простого однопользовательского клиента разница менее принципиальна.
Какой порт по умолчанию использует кардшаринг?
CCcam слушает TCP-порт 12000 для основного протокола обмена и 16001 для веб-интерфейса мониторинга. OScam — веб-интерфейс на порту 8888, а порт для протокола CCcam задаётся вручную в секции [cccam] в oscam.conf, обычно тоже 12000. Протокол newcamd использует другие порты — чаще всего 14000 или 14001. Все порты настраиваются в конфигах и при необходимости меняются.
Почему происходит freeze картинки на HD-каналах?
HD-каналы чувствительнее к задержке получения нового CW, особенно если оператор использует fast ECM с интервалом 2–4 секунды. Основные причины фризов: высокий ECM time (выше 500–700 мс), большая сетевая задержка, много hops в цепочке решары, перегрузка сервера в вечернее время. Решение — источник с локальными картами и стабильным ping до 80 мс. SD-каналы на том же соединении могут работать нормально именно из-за более медленного обновления CW.
Где находятся конфигурационные файлы на Enigma2?
CCcam.cfg — чаще всего /etc/CCcam.cfg (OpenATV, OpenPLi) или /var/etc/CCcam.cfg (VTi, некоторые другие образы). Конфиги OScam — /etc/tuxbox/config/ или /var/etc/oscam/ в зависимости от прошивки и способа установки эмулятора (ipk-пакет или ручная установка). Точный путь проще всего узнать командой find / -name "oscam.conf" 2>/dev/null через SSH.
Что означает ошибка 'card not found' в логах?
Сервер получил ECM-запрос, но не смог найти карту для его обработки. Варианты: у источника нет карты для запрошенного CAID/provid; в oscam.server указаны CAID/ident, не совпадающие с запросом; неверно настроены группы — ридер с нужной картой и аккаунт клиента в разных группах; карта временно недоступна на стороне источника. Читайте лог с параметром CAID и ident из строки ошибки и сверяйте с конфигом ридера.
Какой нормальный ECM time для стабильной работы?
Оптимально — 100–300 мс. До 500 мс — приемлемо для большинства каналов. 500–700 мс — граничная зона, на fast ECM каналах уже возможны фризы. Выше 700 мс — нестабильная работа, выше 1000 мс — фризы практически гарантированы на HD. ECM time отображается в логах OScam и в веб-статистике ридеров. Смотрите не только среднее, но и пиковые значения — именно они вызывают проблемы.