Шаринг CCcam и OScam: настройка сервера в 2026
Если вы уже знаете, что такое ресивер с enigma2 и слышали про эмуляторы, но путаетесь в конфигах — эта статья для вас. Здесь разберём технику шаринга от начала до конца: как устроена цепочка передачи ключей, как правильно прописать строки в CCcam.cfg, как читать логи OScam и что делать, когда ридер висит в состоянии OFF. Без воды, с реальными командами и путями к файлам.
Что такое шаринг и как он работает технически
Спутниковый сигнал приходит зашифрованным. Чтобы его расшифровать, нужен так называемый control word — 8-байтный ключ, который меняется каждые ~10 секунд. Смарт-карта оператора получает запрос на расшифровку (ECM — Entitlement Control Message), проверяет подписку и возвращает CW. Именно этот CW и является объектом шаринга.
EMM (Entitlement Management Message) — другой тип сообщений, они обновляют права на карте. В контексте шаринга вас в первую очередь интересуют ECM и время их обработки.
Принцип передачи control word (CW)
Цепочка выглядит так: смарт-карта подключена к ридеру (физическому или через USB-кардридер). Сервер с эмулятором (CCcam или OScam) принимает ECM-запросы от клиентов по сети, отправляет их на карту, получает CW и возвращает клиенту. Весь этот цикл должен укладываться примерно в 100–250 мс — иначе начинаются фризы.
Если CW не пришёл до следующего обновления (а это те самые ~10 секунд), картинка замерзает. Именно поэтому стабильность канала и скорость сервера так важны.
Роли сервера и клиента в схеме шаринга
Сервер — это машина, к которой физически подключена карта. Клиент — ресивер, который запрашивает CW по сети. В одной схеме один ресивер может быть одновременно и сервером (если к нему подключена карта), и клиентом (если он подключается к другому серверу за дополнительными CAID).
CCcam и OScam умеют работать в обоих режимах. OScam при этом гибче: он может одновременно слушать несколько протоколов на разных портах.
Чем отличается локальная карта от удалённого шаринга
Локальная карта — это когда карта вставлена прямо в слот ресивера или подключена к тому же устройству через кардридер. Задержка минимальная, всё работает напрямую через dvbapi.
При удалённом шаринге между картой и дескрамблером стоит сетевой стек. Каждый лишний хоп (hop) добавляет задержку. Два хопа — это ещё приемлемо. Три и больше — уже риск фризов даже при хорошем интернете.
Настройка сервера и клиента на CCcam
CCcam хранит всё в одном файле. В зависимости от прошивки enigma2 он лежит по пути /var/etc/CCcam.cfg или /etc/CCcam.cfg. Оба варианта встречаются — проверьте, какой существует на вашем устройстве командой ls /var/etc/CCcam.cfg /etc/CCcam.cfg.
Структура файла CCcam.cfg
Файл читается построчно. Комментарии начинаются с #. Каждая директива — это ключевое слово, за которым следуют параметры. Пример минимального рабочего конфига:
SERVER LISTEN PORT: 12000
VERSION: 2.3.0
# Разрешить клиентскому устройству подключаться
F: myclient mypassword 1 0 0 { 0:0:0 }
# Подключиться к удалённому серверу
C: shareserver.example 12000 mylogin mypass no { 0:0:0 }
Параметр { 0:0:0 } означает «все CAID, все провайдеры, все SID». Можно ограничить, например { 0500:000000:0 } — только Viacess.
Строки F (клиент) и C (подключение к серверу)
Строка F: создаёт учётную запись для входящих подключений. Синтаксис: F: username password hops ignorereshare stealth { caid:provid:sid }. Первый числовой параметр после пароля — это максимальный hops для клиентов этого пользователя.
Строка C: — это исходящее подключение к другому серверу. Синтаксис: C: hostname port username password [no|yes] { ... }. Параметр no/yes — это reconnect at start. Рекомендую no, тогда CCcam подключается по требованию.
Параметры hops и порт по умолчанию 12000
Hops — это максимальная глубина цепочки шаринга. Значение 1 означает, что клиент получает только карты, непосредственно подключённые к серверу. Значение 2 — карты через один промежуточный сервер. Я рекомендую держать hops на уровне 1–2. При значении 3+ задержки резко растут.
Стандартный порт CCcam — 12000 TCP. Если сервер стоит за NAT, обязательно нужен проброс этого порта на роутере. Проверить доступность можно с клиентской машины: telnet your.server.ip 12000. Если соединение не устанавливается — проблема в файрволе или проброске, а не в конфиге CCcam.
Перезапуск демона после изменений: /etc/init.d/CCcam restart или через меню Blue Panel в enigma2, если установлен соответствующий плагин.
Настройка OScam: конфиги и протоколы
OScam работает иначе: вместо одного файла у него папка с несколькими конфигами. Обычно это /etc/oscam/. Каждый файл отвечает за свою часть.
oscam.conf, oscam.server, oscam.user
oscam.conf — глобальные настройки. Тут же настраивается веб-интерфейс:
[global]
logfile = /tmp/oscam.log
nice = -1
maxlogsize = 512
[webif]
httpport = 8888
httpuser = admin
httppwd = mypassword
httprefresh = 10
oscam.server — описание ридеров. Каждый ридер — это секция [reader]. Пример ридера для CCcam-подключения:
[reader]
label = remote_cccam
protocol = cccam
device = shareserver.example,12000
user = mylogin
password = mypass
caid = 0500,1810,0604
group = 1
reconnecttimeout = 30
oscam.user — учётки для клиентов, которые подключаются к вашему OScam:
[account]
user = localreceiver
password = localpass
group = 1
au = 1
Параметр group связывает клиента с ридерами. Ридер с group = 1 будет доступен клиентам из group = 1. Если настроить несколько ридеров с одинаковым CAID в одной группе — OScam будет балансировать между ними по приоритету (параметр cccversion и pingreader влияют на выбор).
Протокол newcamd и порт 15000
Newcamd — один из старейших протоколов шаринга. Многие старые клиенты понимают только его. В OScam слушать newcamd-подключения нужно через секцию [camd35] или [newcamd] в oscam.conf:
[newcamd]
key = 0102030405060708091011121314
port = 15000@0500:000000
Формат port = 15000@CAID:PROVID — здесь привязываем конкретный порт к конкретному CAID. Для разных CAID можно указать разные порты через запятую. Если клиент видит только один CAID на одном порту и не видит другой — скорее всего, именно это несоответствие.
Веб-интерфейс на порту 8888 и мониторинг статуса
После запуска OScam открывается по адресу http://[ip-ресивера]:8888. Там видны все ридеры, их статус (CONNECTED, CARD OK, CARD NA, OFF), текущее ECM time и количество запросов.
В реальном времени можно смотреть, какой ридер обрабатывает каждый запрос и сколько это занимает. Если ECM time стабильно 80–150 мс — всё хорошо. Если скачет до 400–600 мс — ищите причину в цепочке шаринга.
Диагностика и устранение типичных ошибок
Большинство проблем шаринга делятся на три категории: не подключается вообще, подключается но фризит, подключается но не расшифровывает нужные каналы. Для каждой — своя последовательность проверок.
Freeze и долгое время ECM
Главная причина фризов — ECM time выше 300 мс. Это не просто «немного медленно», это значит, что при каждом обновлении CW ресивер ждёт ответа дольше, чем нужно. Иногда пакет успевает придти, иногда — нет. Отсюда характерные подёргивания и заморозки на 1–3 секунды.
Что смотреть: количество хопов в конфиге CCcam (снизьте до 1–2), загрузку сервера (если он обслуживает 50+ клиентов — он перегружен), качество интернет-канала (пинг и потери пакетов). Ещё момент: разные операторы обновляют CW с разными интервалами. Большинство — раз в 10 секунд, но некоторые делают это чаще. Если интервал 5–7 секунд, а ECM time 200 мс — риск пропустить обновление вырастает.
Ошибки подключения и статус reader OFF
Статус OFF в OScam означает, что ридер не может установить соединение. Алгоритм диагностики простой.
Сначала проверьте, что хост вообще доступен: ping shareserver.example. Потом проверьте порт: nc -zv shareserver.example 12000 или telnet shareserver.example 12000. Если соединение не устанавливается — проблема не в конфиге OScam, а в сети или файрволе на стороне сервера.
Статус CARD NA — карта подключена, но не авторизована для запрошенного CAID. Либо CAID в конфиге ридера не совпадает с тем, что реально поддерживает карта, либо истекла подписка.
Ещё одна частая ловушка — динамический IP у провайдера. Если внешний IP изменился, а DNS-запись или строка C: в CCcam.cfg содержит старый адрес — соединение потеряется до следующего перезапуска. Решение — DDNS-сервис (DynDNS, No-IP и аналоги) и использование доменного имени вместо IP в конфиге.
Чтение логов CCcam и OScam
CCcam пишет лог в /tmp/CCcam.log. Уровень детализации меняется директивой LOG LEVEL: 2 в конфиге (от 0 до 4, где 4 — максимальный debug). Полезные строки — те, где упоминается CAID и статус: can't decode, no card, decode ok.
В OScam debug-уровень проще включить через веб-интерфейс: раздел «Log», кнопка с уровнем G (Global) или цифра 4 в поле уровня. Файл лога — тот, что прописан в oscam.conf, обычно /tmp/oscam.log.
В логах OScam ищите строки вида: ECM rejected (wrong caid), no matching reader, found (0.234 sec). Первые две говорят о несоответствии CAID или групп. Третья показывает реальное время обработки запроса. Если запросы идут, но читатель постоянно not found — скорее всего, ваш ридер не поддерживает нужный CAID или provid.
Конфликт CCcam и OScam на одном ресивере — тоже распространённая ситуация. Оба пытаются занять порт 12000, и один из них не стартует. Либо запускайте только один из эмуляторов, либо измените порт прослушивания одного из них.
Как выбрать провайдера шаринга: критерии без имён
Я намеренно не называю конкретные сервисы — рынок меняется быстро, и то, что работало в прошлом году, сейчас может быть мёртвым. Но критерии оценки стабильны.
На что смотреть: uptime, ECM time, поддержка протоколов
Хороший источник для шаринга — это не тот, у которого красивый сайт. Это тот, у которого заявленный uptime реально подтверждается на практике, ECM time стабильно держится ниже 200 мс, и он поддерживает нужные вам CAID.
Попросите тестовый доступ на 24–48 часов. За это время нужно проверить: стабильность в прайм-тайм (вечером, когда нагрузка максимальная), поведение при переключении каналов, ECM time через веб-интерфейс OScam или логи CCcam. Если тестовый доступ не дают — это уже сигнал.
Проверьте, какой протокол поддерживается: CCcam, newcamd, оба? Если ваш клиент работает только с newcamd — убедитесь, что источник его поддерживает. Не все серверы поддерживают оба протокола одновременно.
Признаки нестабильного источника
Частые реконнекты — красный флаг. Если OScam каждые 5–10 минут показывает переподключение к ридеру, значит сервер перегружен или нестабилен. В логах это выглядит как чередующиеся строки CONNECTED и DISCONNECTED с маленькими интервалами.
Ещё один признак — случайные фризы на конкретных каналах при нормальном ECM time. Это указывает на неполную базу подписок на сервере: некоторые CAID/provid есть, другие — нет. Проверяйте no matching reader в логах — именно эта строка показывает, что конкретный канал просто не поддерживается.
Если сервер с динамическим IP и без DDNS — рано или поздно соединение пропадёт после смены адреса. Профессиональные решения используют доменные имена, а не голые IP.
Юридические и безопасные сценарии использования
Шаринг как технология сам по себе нейтрален. Использование одной легально приобретённой карты на нескольких собственных ресиверах в пределах домохозяйства — это законный сценарий, ничем не отличающийся от подключения телевизора через сплиттер.
Передача доступа третьим лицам или использование чужой подписки нарушает условия операторов и законодательство большинства стран. Риски здесь не абстрактные: операторы активно борются с несанкционированным шарингом через ECM-мониторинг и подачу судебных исков. Работайте только с собственными картами и подписками.
Какой порт используется по умолчанию для CCcam?
Стандартный порт CCcam — 12000 TCP. Для OScam с протоколом newcamd обычно используется порт 15000. Оба порта можно переопределить в конфиге, но важно открыть выбранные порты в файрволе ресивера и пробросить их на роутере, если устройство за NAT.
Где находится файл конфигурации CCcam?
Чаще всего /var/etc/CCcam.cfg — это стандартный путь для большинства сборок OpenATV и OpenPLi. На некоторых прошивках файл лежит в /etc/CCcam.cfg. После любых изменений нужен перезапуск демона: /etc/init.d/CCcam restart.
Чем OScam лучше CCcam?
OScam заметно гибче: поддержка нескольких протоколов одновременно (CCcam, newcamd, camd35), веб-интерфейс мониторинга на порту 8888, детальные логи с debug-уровнями и встроенная поддержка dvbapi для локального дескремблирования. CCcam проще настроить с нуля — один файл конфига вместо трёх. Для базового использования CCcam достаточно, для сложных сценариев с несколькими источниками — OScam.
Что означает высокий ECM time и как его снизить?
ECM time — время от отправки запроса на расшифровку до получения CW. Значения выше 300 мс стабильно дают фризы. Снизить можно тремя способами: уменьшить количество хопов в конфиге CCcam (поставить 1 вместо 3+), выбрать географически ближний источник с меньшим пингом, снизить нагрузку на сервер (меньше одновременных клиентов).
Почему reader в OScam показывает статус OFF?
Причин несколько: неверные данные подключения в oscam.server (логин, пароль, порт), закрытый порт на удалённом сервере или в локальном файрволе, недоступный хост, несовпадение протокола. Включите debug-режим в веб-интерфейсе и смотрите /tmp/oscam.log. Параллельно проверьте порт через nc -zv hostname 12000 — это сразу покажет, сетевая ли это проблема.
Законно ли использовать шаринг?
Законно использование собственной легально оплаченной подписки на своих устройствах в пределах домохозяйства. Это технически ничем не отличается от просмотра с нескольких телевизоров. Передача доступа третьим лицам или использование чужих карт нарушает условия операторов и законодательство большинства стран — с реальными правовыми последствиями.