/

Кардшаринг сервер: настройка CCcam и OScam 2026

Главная Статьи Кардшаринг сервер: настройка CCcam и OScam 2026

Дата публикации

18.06.2026

Кардшаринг сервер: настройка CCcam и OScam 2026

Если вы читаете это — значит, вы уже разобрались с основами DVB и хотите поднять нормальный кардшаринг сервер своими руками, а не слепо вставлять чужие строки в конфиг. Здесь разберём всё по-настоящему: пути к файлам, форматы строк, что значит каждая директива и почему каналы могут не открываться даже при подключённом сервере.

Что такое кардшаринг сервер и как он работает

Ресивер, принимая зашифрованный сигнал, получает из потока так называемые ECM-пакеты (Entitlement Control Message). Это зашифрованные запросы, из которых нужно достать управляющее слово — DCW (Direct Control Word). Именно DCW и расшифровывает видеопоток в реальном времени. Без него картинка — каша.

Когда у вас нет физической карты, которая умеет декодировать этот ECM, ресивер отправляет запрос на удалённый сервер. Сервер передаёт запрос своему reader (физической карте или эмулятору), получает DCW и возвращает его клиенту. Весь этот цикл должен укладываться в ~300-400 мс — иначе начнутся фризы.

Принцип обмена ключами DCW и ECM/EMG

ECM — это запрос на ключ. EMM (Entitlement Management Message) — это сообщение, которое обновляет права на карте (подписки, авторизация). EMM обрабатывается отдельно и нужен для поддержания актуальности карты, но в повседневной работе шаринга вы работаете именно с ECM-циклом.

Поток ECM → сервер → reader → DCW → клиент → декодирование. Это и есть вся магия. Никакого видео по сети не передаётся — только небольшой ключ длиной 8 байт каждые несколько секунд.

Роль CAM-модуля и эмуляторов softcam

Физический CAM-модуль в CI-слоте делает то же самое, что и softcam — обрабатывает ECM локально. Разница в том, что softcam (OScam, CCcam) может запрашивать расшифровку удалённо, у кардшаринг сервера. CAM-модуль — нет, он работает только с картой, которая вставлена в него физически.

Для шаринга используют softcam-эмуляторы. OScam и CCcam — два самых распространённых. Важный момент: никогда не запускайте их одновременно на одном ресивере. Два softcam конкурируют за DVB-адаптер и /dev/dvb/adapter0/demux0 — конфликт гарантирован, и ни один из них нормально работать не будет.

Клиент-серверная схема: сервер раздаёт, клиент запрашивает

Один и тот же ресивер может одновременно быть и сервером (раздавать ключи другим), и клиентом (получать ключи от вышестоящего источника). В OScam это реализуется через секции reader (входящий источник) и конфигурацию user (исходящие клиенты). В CCcam — через строки C: (подключение к серверу) и F: (клиенты, которым вы раздаёте).

Это называется «каскад» или resharing. Плюс — гибкость. Минус — каждый дополнительный уровень добавляет задержку. Три хопа — это уже риск нестабильной работы на быстро меняющихся каналах.

Настройка сервера на CCcam: конфиги и порты

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

Структура /var/etc/CCcam.cfg и основные директивы

Основной конфиг лежит по пути /var/etc/CCcam.cfg на большинстве Linux-ресиверов (Dreambox, VU+). На некоторых прошивках — /etc/CCcam.cfg. Ключи и SoftCam.Key хранятся в /usr/keys/.

Вот базовые директивы, которые реально нужны:

  • SERVER LISTEN PORT : 12000 — порт, на котором CCcam принимает подключения клиентов
  • TELNET LISTEN PORT : 16000 — порт telnet-интерфейса для управления
  • ALLOW TELNET : YES — разрешить telnet (в продакшне лучше NO)
  • GLOBAL LIST ONHOP : NO — при YES клиенты видят вашу карту как свою локальную; при NO — хоп увеличивается
  • NEWCAMD LISTEN PORT : 15000 — если нужна поддержка newcamd-клиентов
  • SHARE RESHARE LEVEL : 0 — максимальный уровень решаринга для клиентов (0 = только ваша карта, без решаринга)

Перезапуск после изменений: /etc/init.d/CCcam restart или через telnet командой r.

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

Формат строки для клиента, которому вы раздаёте ключи:

F: username password 1 0 { }

Здесь: username и password — учётные данные клиента. Цифра 1 — разрешённое количество хопов для resharing (поставьте 0, если не хотите, чтобы клиент мог расшаривать дальше). 0 — группа. Фигурные скобки — фильтры CAID/provid (пусто = всё разрешено).

Строка подключения к вышестоящему серверу:

C: hostname.example.com 12000 your_user your_pass

Всё просто. Один сервер — одна строка C:. Несколько серверов — несколько строк. CCcam будет использовать тот, который быстрее ответит на конкретный CAID.

Стандартный порт 12000 и проброс через NAT

Стандартный порт CCcam — 12000, и это нужно прокинуть на роутере, если ресивер за NAT. Схема стандартная: в настройках роутера создаёте правило Port Forwarding с внешнего TCP:12000 на внутренний IP ресивера:12000.

Сложнее с двойным NAT (CGNAT у провайдера + ваш роутер). Тут проброс порта с вашего роутера не поможет — провайдер не даст вам публичный IP. Решение — либо VPN-туннель (WireGuard или OpenVPN с VPS), либо reverse tunnel через ssh -R. Без этого сделать ресивер сервером для внешних клиентов не получится.

Файлы CCcam.channelinfo и CCcam.providers

Эти файлы не обязательны для работы, но полезны. CCcam.channelinfo — маппинг SID каналов на человекочитаемые имена, отображается в телнете и веб-интерфейсе. CCcam.providers — маппинг CAID+ProviderID на названия провайдеров.

Лежат они рядом с основным конфигом — в /var/etc/ или /usr/keys/ в зависимости от прошивки. Обновлять их нужно вручную, автоматического обновления нет.

Настройка сервера на OScam: dvbapi и протоколы

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

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

Конфиги OScam лежат в /etc/tuxbox/config/oscam/ или /var/keys/oscam/ — зависит от дистрибутива. На OpenPLi и OpenATV чаще всего /etc/oscam/. Четыре основных файла:

  • oscam.conf — глобальные настройки, протоколы, логирование
  • oscam.server — reader'ы: физические карты и удалённые серверы
  • oscam.user — пользователи, которым вы раздаёте
  • oscam.dvbapi — настройки интеграции с DVB-стеком ресивера

Секции [global], [cs378x], [newcamd], [cccam]

В oscam.conf секция [global] содержит пути к логам, уровень логирования, временную зону. Пример минимальной конфигурации:

[global]
logfile = /tmp/oscam.log
maxlogsize = 512
nice = -1
preferlocalcards = 1

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

Секция [newcamd] — включает newcamd-сервер:

[newcamd]
port = 15000@CAID:ProviderID
key = 0102030405060708091011121314

Ключ key — 14 байт в hex. Он должен совпадать на сервере и у клиента. Это не шифрование сессии — это просто handshake-токен протокола newcamd.

Секция [cs378x] — протокол cs378x (UDP-вариант, использует порт 3578 по умолчанию). Секция [cccam] — принимает подключения от CCcam-клиентов на порт, который вы укажете (обычно 12000 или 12001 если уже занят).

Веб-интерфейс на порту 8888 и httpuser

Веб-интерфейс OScam — это не просто статус-страница. Здесь Live Log в реальном времени, таблица активных ECM с временем ответа, список reader'ов и их статус, управление пользователями. Открывается по адресу http://<ip-ресивера>:8888.

Если веб-интерфейс не открывается — проверьте httpport и httpuser/httppwd в oscam.conf. Без этих параметров веб-интерфейс просто не запустится. Также убедитесь, что OScam собран с поддержкой webif (некоторые сборки для слабых устройств идут без него).

Протоколы newcamd (порт 15000), cs357x, cs378x

Три основных протокола для внешних клиентов:

  • newcamd — TCP, порт 15000 (настраиваемый). Самый распространённый, поддерживается практически всеми ресиверами и эмуляторами. Требует общий ключ 14 байт.
  • cs357x — UDP, порт 3576. Старый протокол CCcam, менее надёжен на нестабильных соединениях.
  • cs378x — TCP-версия cs357x, порт 3578. Надёжнее cs357x, но менее распространён.

Для mgcamd-совместимости используйте newcamd — mgcamd понимает этот протокол нативно и настраивается через newcamd.list с теми же параметрами (хост, порт, ключ, CAID).

Файл oscam.server: добавление reader

Пример reader для подключения к вышестоящему CCcam-серверу:

[reader]
label = upstream_server
protocol = cccam
device = hostname.example.com,12000
user = your_user
password = your_pass
caid = 0D00,0500
group = 1
reconnecttimeout = 30

Для физической карты в CI-слоте или смарт-карт-ридере протокол будет internal или pcsc, а device — путь вида /dev/sci0.

Файл oscam.dvbapi

Этот файл нужен, если OScam напрямую декодирует каналы на текущем ресивере (не только раздаёт другим). Минимальная конфигурация для Dreambox:

[dvbapi]
enabled = 1
au = 1
boxtype = dreambox
user = local_user

Параметр user здесь — это пользователь из oscam.user, под которым работает локальный dvbapi. У него должны быть права на нужные CAID и группы.

Диагностика и решение типичных проблем

Большинство проблем с кардшаринг сервером укладываются в несколько категорий: неправильные учётные данные, несовпадение CAID, проблемы с сетью или перегрузка источника. Логи OScam говорят почти всё.

Канал не открывается: проверка ECM-логов

Открывайте веб-интерфейс OScam, вкладка Live Log. Переключайтесь на проблемный канал и смотрите что происходит. Три основных статуса в логах:

  • found (X ms) — всё хорошо, ключ получен за X миллисекунд
  • not found — reader не смог расшифровать ECM. Причины: нет нужного CAID, закончились права на карте, CAID не прописан в reader
  • timeout — запрос ушёл, ответ не пришёл в лимит времени. Проблема в сети или сервер перегружен

Если видите постоянный not found — сначала проверьте CAID канала (можно найти в CCcam.providers или через dvbsnoop) и сравните с тем, что поддерживает ваш reader. Карта может работать локально, но не отдаваться в шаринг — это часто проблема параметра au в oscam.user: если у пользователя au = 0, он не получит ключи от карт с EMM-обновлением.

Ошибка connection refused и блокировка портов

Connection refused означает, что сервис не слушает на этом порту или firewall блокирует соединение. Проверяйте:

netstat -tlnp | grep 12000
telnet host 12000

Если netstat не показывает порт — CCcam/OScam либо не запущен, либо не смог открыть порт (конфликт с другим процессом). Если telnet висит — скорее всего firewall на пути. На роутере проверьте правила iptables или firewalld.

Отдельная история — несовпадение версий протокола CCcam. Если ваш клиент собран под CCcam 2.3.x, а сервер ожидает хендшейк CCcam 2.1.x — соединение установится, но ключи не пойдут. В логах CCcam это выглядит как успешный коннект с последующим silent disconnect. Решение — использовать OScam на стороне клиента, он совместим со всеми версиями протокола.

Фриз и подвисания из-за высокого ping/ECM time

ECM time выше 400-500 мс — это уже красная зона. Канал будет то открываться, то зависать, особенно на каналах с коротким crypto period (некоторые операторы меняют ключ каждые 2-3 секунды).

Прайм-тайм фризы — классика перегруженного источника. Один кардшаринг сервер физически ограничен пропускной способностью карты: одна карта может обрабатывать несколько ECM-запросов одновременно, но не сотни. Если источник делает resharing с перегрузкой — ваш ECM time улетит в 1000+ мс именно в вечерние часы.

Что проверить: в логах OScam смотрите столбец ECM time в разные временные периоды. Если утром 80 мс, а вечером 600 мс — проблема точно в источнике, не в вашей сети.

Несовпадение CAID/provider ID

Каждый оператор имеет свой CAID (4 hex-цифры) и ProviderID (6 hex-цифр). Если в конфиге reader прописан CAID 0D00, а канал шифруется на 0D02 — ключ не придёт, хотя физически это может быть одна и та же система шифрования.

Смотрите реальный CAID из потока через Live Log OScam — там в строке ECM будет указан точный CAID и ProviderID. Сравните с тем, что поддерживает ваш reader. Расхождение на уровне ProviderID встречается часто при работе с многопакетными операторами.

Количество хопов и стабильность

Hop count — это количество промежуточных серверов между физической картой и вашим ресивером. Каждый хоп добавляет латентность и точку отказа. Два хопа — ещё приемлемо. Три-четыре хопа — начинаются проблемы, особенно с Premium HD каналами.

В CCcam хоп виден в телнете командой l (list). В OScam — в веб-интерфейсе в разделе Readers, колонка Hops. Если видите 4 и выше — это объясняет нестабильность даже при нормальном пинге до сервера.

Как выбрать кардшаринг провайдера: объективные критерии

Большинство проблем с нестабильной работой начинаются не в конфиге, а на этапе выбора источника. Технически грамотно настроенный кардшаринг сервер будет бесполезен, если источник — дешёвый решарер с пятью хопами и аптаймом 70%.

Аптайм сервера и заявленный ECM time

Нормальный аптайм для рабочей линии — 99%+. Всё ниже 98% в месячном исчислении — это несколько часов даунтайма еженедельно, что неприемлемо. Заявленный ECM time должен быть до 200-300 мс. Некоторые провайдеры пишут «ECM time 50 мс» — проверяйте это на тестовой линии, не верьте на слово.

Попросите статистику за последние 30 дней. Нет статистики — красный флаг.

Локальные карты vs решаринг (количество хопов)

Это самый важный вопрос перед покупкой. Локальная карта = 1 хоп = максимальная стабильность. Resharing = 2+ хопа = риски. Спросите напрямую: «Это ваша физическая карта или вы сами покупаете у другого источника?»

Хороший провайдер ответит честно и укажет хоп-каунт. Уклончивый ответ вида «у нас всё стабильно» — тревожный признак.

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

Составьте список CAID, которые вам нужны, до разговора с провайдером. Проверяйте не только наличие CAID, но и конкретные ProviderID и пакеты внутри них. Оператор может иметь два пакета с разными ProviderID, а провайдер шаринга — только один из них.

На тестовой линии проверяйте все нужные каналы, не ограничивайтесь одним-двумя. Особенно внимательно — HD и 4K потоки с коротким crypto period.

Тестовый период и техподдержка

Тестовая линия — стандарт. 24-48 часов достаточно, чтобы проверить аптайм в разное время суток, включая вечерний прайм-тайм. Если тест не дают или дают только на час — это не серьёзный поставщик.

Техподдержка должна отвечать на технические вопросы, а не только на «как оплатить». Спросите что-нибудь конкретное — например, какой протокол они рекомендуют для вашего ресивера и какой CAID-лист актуален прямо сейчас. По качеству ответа поймёте многое.

Чек-лист вопросов перед подключением:

  1. Это локальная карта или решаринг? Какой хоп-каунт?
  2. Какой средний ECM time по статистике за последний месяц?
  3. Какой аптайм за последние 30 дней?
  4. Какие CAID и ProviderID поддерживаются?
  5. Есть ли тестовая линия на 24-48 часов?
  6. Какие протоколы поддерживаются (CCcam, newcamd, cs378x)?
  7. Есть ли резервные серверы на случай падения основного?

Часто задаваемые вопросы

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

Стандартный порт — 12000 TCP. Задаётся директивой SERVER LISTEN PORT : 12000 в файле /var/etc/CCcam.cfg. Если ресивер находится за NAT, этот порт нужно прокинуть на роутере через Port Forwarding. При двойном NAT (CGNAT провайдера) проброс не поможет — нужен VPN-туннель или reverse SSH.

Чем OScam отличается от CCcam?

OScam — открытый проект с активной разработкой, поддерживает множество протоколов (newcamd, cs378x, cccam, gbox и другие), имеет веб-интерфейс и детальное логирование. CCcam — закрытый, не обновлялся с 2013 года, проще в настройке, но менее гибок. Для серьёзной настройки я рекомендую OScam — диагностика через веб-интерфейс экономит часы работы.

Что означает ECM time и какое значение считается нормальным?

ECM time — время от отправки ECM-запроса до получения DCW-ответа от сервера. Норма — до 300-400 мс. При 400-600 мс начинаются периодические фризы при переключении каналов. Выше 600 мс — каналы будут регулярно замерзать, особенно те, где оператор меняет управляющее слово каждые 2-3 секунды.

Почему канал не открывается, хотя сервер подключён?

Причин несколько. Первое — проверьте CAID и ProviderID в Live Log OScam: они должны совпадать с тем, что поддерживает ваш reader. Второе — статус reader в логах: если он показывает not found, а не timeout, карта просто не имеет прав на этот канал. Третье — количество хопов: при 4+ хопах и слабой сети ключ может не успевать доходить до крипто-периода смены.

Можно ли сделать один ресивер одновременно сервером и клиентом?

Да. В OScam это реализуется через oscam.server (описываете reader с вышестоящим источником) и oscam.user (описываете клиентов, которым раздаёте). В CCcam — строки C: (подключение к серверу) и F: (ваши клиенты) в одном файле CCcam.cfg. Ресивер будет одновременно тянуть ключи сверху и раздавать их вниз.

Как настроить newcamd протокол в OScam?

В oscam.conf добавьте секцию [newcamd] с параметром port = 15000@CAID:ProviderID и key = 01020304050607080910111213 (14 байт в hex). В oscam.server у reader, если он тоже подключается по newcamd к вышестоящему серверу, укажите protocol = newcamd, device = hostname,15000 и тот же ключ. Ключ должен совпадать на обеих сторонах — это обязательное условие handshake.

О статье

  • Практические советы и инструкции
  • Материалы по спутниковому ТВ
  • Поддержка и помощь 24/7