Настройка CCcam сервера: полное руководство 2026

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

Как работает протокол CCcam и из чего состоит соединение

Прежде чем лезть в конфиг, стоит понять механику. Спутниковый канал зашифрован системой условного доступа — Viaccess, Nagravision, Irdeto и другими. Для расшифровки нужен control word (CW) — ключ, который меняется каждые 10 секунд. Именно за ним ресивер и обращается к серверу.

Принцип card sharing: ECM, EMM и control word

Ресивер-клиент вытаскивает из входящего сигнала ECM (Entitlement Control Message) — зашифрованный пакет, содержащий control word. Сам ресивер расшифровать его не может, потому что у него нет подписки. Он отправляет ECM по сети на сервер, у которого есть физическая смарт-карта с действующей подпиской.

Сервер расшифровывает ECM через карту, получает control word и отправляет его обратно клиенту. Клиент применяет CW, канал открывается. Всё это происходит за миллисекунды — в норме ECM time не должен превышать 500–700 мс. EMM (Entitlement Management Message) — это обновления прав карты, они идут в другом направлении и на скорость отдачи почти не влияют.

Роли в сети: сервер, клиент и пир

В CCcam есть три роли. Сервер — тот, у кого физическая карта, он отдаёт CW. Клиент — тот, кто карту запрашивает. Пир (peer) — ресивер, который одновременно является и клиентом для одного сервера, и сервером для другого. Это и есть решар — карта передаётся по цепочке.

Каждое звено в цепочке добавляет HOP и задержку. Если у вас C-line на сервер первого уровня (HOP 1), то карта приходит за 300–500 мс. Если цепочка длиннее — HOP 3-4 — ECM time легко улетает за 1500 мс, и канал фризит.

Порт по умолчанию 12000 и шифрование трафика

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

По умолчанию сервер слушает TCP-порт 12000. Трафик между клиентом и сервером шифруется сессионным ключом — это базовая защита, но не замена нормальному VPN, если нужна анонимность. Веб-интерфейс CCcam висит на 16001, внешний API — на 16000.

Что нужно подготовить перед настройкой сервера

Без правильной базы настройка превратится в угадывание. Вот что должно быть готово до того, как открывать CCcam.cfg.

Совместимый ресивер на Enigma2 и подходящий образ

CCcam работает на ресиверах под управлением Enigma2 — это Dreambox, Vu+, Gigablue, Formuler и десятки других. Образ прошивки должен содержать CCcam или поддерживать его установку через плагин. OpenPLi, OpenATV, OpenVIX — все нормально поддерживают CCcam 2.3.x.

Проверь версию перед началом: зайди по Telnet на ресивер (порт 23, логин root без пароля в большинстве образов) и выполни CCcam -v. Если бинарник не найден — which CCcam или find / -name CCcam -type f.

Версии CCcam и где лежит бинарник

Бинарник обычно находится в /usr/bin/CCcam. На некоторых образах путь другой — /usr/local/bin/CCcam. Автозапуск настраивается через скрипт /etc/init.d/CCcam или /etc/rc.d/init.d/CCcam, в зависимости от образа. Чтобы запустить или перезапустить демон вручную:

/etc/init.d/CCcam restart

Или через kill + ручной запуск, если init.d-скрипта нет:

kill $(pidof CCcam) && sleep 2 && CCcam &

Последняя актуальная версия — CCcam 2.3.2. Разработка остановлена, новых релизов не выходит. Это не проблема для базового использования, но сравнение с OScam позже в статье станет важным.

Статический IP или DDNS при динамическом адресе

Если ты хочешь принимать клиентов на свой сервер, клиенты должны знать твой IP. Если провайдер выдаёт статический IP — проблем нет. При динамическом нужен DDNS-сервис: No-IP, DynDNS, Duck DNS или встроенный DDNS в роутере.

DDNS привязывает доменное имя вроде myreceiver.ddns.net к твоему меняющемуся IP. Роутер или ресивер обновляет запись при каждой смене адреса. Проблема одна: между сменой IP и обновлением DNS может пройти 5–30 минут — в этот период клиенты отвалятся. Ночью провайдеры часто переподключают сессии, поэтому если у тебя клиенты из другого часового пояса, это создаёт проблемы.

Отдельный случай — CGNAT. Это когда провайдер выдаёт тебе серый IP из диапазона 100.64.0.0/10, а несколько абонентов сидят за одним белым адресом. В этом случае никакой проброс портов не поможет — входящие соединения физически не дойдут до ресивера. Ты можешь работать только как клиент, но не как сервер.

Настройка файла CCcam.cfg: разбор строк по порядку

Это ключевая часть. Настройка CCcam сервера на спутниковом ресивере начинается и заканчивается именно этим файлом — всё остальное вторично.

Путь к конфигу: /var/etc/CCcam.cfg

Основной путь — /var/etc/CCcam.cfg. На некоторых образах это /etc/CCcam.cfg, на других — симлинк. Редактировать можно через FTP (FileZilla, WinSCP) или прямо в Telnet через vi или nano (если установлен).

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

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

# CCcam.cfg — основная конфигурация

# Порт сервера
SERVER LISTEN PORT: 12000

# Веб-интерфейс
WEBINFO LISTEN PORT: 16001

# Логирование
LOG FILE: /tmp/CCcam.log
LOG LEVEL: 0

# Входящие клиенты (F-lines)
F: myuser mypassword 1 0

# Исходящие подключения (C-lines)
C: server.example.com 12000 clientlogin clientpass

F-line — учётная запись для входящих клиентов

F-line описывает, кто может подключиться к твоему серверу. Синтаксис:

F: username password uphops downhops

Пример: F: john secret123 1 0

  • username — логин клиента
  • password — пароль клиента
  • uphops — сколько HOP вверх клиент может передавать карты
  • downhops — сколько HOP вниз клиент получает доступ

Значение uphops: 1 означает, что клиент видит карты на расстоянии 1 HOP от тебя. downhops: 0 — клиент не может передавать твои карты дальше. Для обычного клиента это правильная настройка.

Можно добавить несколько F-lines — по одной на каждого клиента. Для разных клиентов можно задавать разные права. Права на файл: chmod 600 /var/etc/CCcam.cfg.

C-line — подключение к внешнему серверу

C-line описывает, куда твой ресивер подключается как клиент. Синтаксис:

C: hostname port username password [options]

Пример: C: cserver.example.com 12000 mylogin mypass

Можно прописать несколько C-lines — CCcam будет подключаться ко всем одновременно. Карты суммируются. Если один сервер падает, другой продолжает работать.

Важно: hostname в C-line может быть доменным именем или IP-адресом. Если сервер использует DDNS, ставь имя, а не IP — иначе при смене IP придётся вручную обновлять конфиг.

Параметры доступа: HOP, SHARE, частота переподключения

Несколько важных параметров, которые влияют на стабильность:

ALLOW SHARE SIDONLY = no
MAX HOPS = 3
RECONNECT TIME = 3

MAX HOPS — максимальная глубина ретрансляции карт. Рекомендую ставить не больше 3, лучше 2. Каждый HOP добавляет задержку. RECONNECT TIME: 3 — через сколько секунд CCcam попытается переподключиться при разрыве. Слишком маленькое значение создаёт флуд попыток, слишком большое — длинные паузы при пересоединении. 3–5 секунд — разумный диапазон.

После любой правки CCcam.cfg нужно перезапустить демон. Изменения не применяются «на лету».

Сетевые настройки: порты, проброс и фаервол

Без правильного сетевого конфига сервер будет работать только внутри локальной сети. Для приёма внешних клиентов нужен проброс порта.

Проброс порта 12000 на роутере

Зайди в веб-интерфейс роутера, найди раздел Port Forwarding (или Virtual Servers, NAT — в зависимости от прошивки). Создай правило:

  • Протокол: TCP
  • Внешний порт: 12000
  • Внутренний IP: локальный IP ресивера (например, 192.168.1.100)
  • Внутренний порт: 12000

Локальный IP ресивера должен быть фиксированным. Лучше настроить статическую аренду DHCP по MAC-адресу в роутере, чем прописывать статику прямо на ресивере — меньше шансов потерять доступ при ошибке.

Если у тебя двойной NAT — модем от провайдера и свой роутер — придётся пробросить порт дважды: сначала на модеме до IP роутера, потом на роутере до IP ресивера. Забыть первый шаг — самая частая причина, почему проброс «не работает».

Проверка доступности порта снаружи

После настройки проверь, что порт действительно открыт снаружи. Из сети интернет (не из своей локальной сети) выполни:

nc -zv твой.внешний.ip 12000

Или используй онлайн-инструмент проверки портов — там достаточно ввести IP и порт 12000. Если порт закрыт, а правило в роутере создано — проверь firewall на ресивере (iptables -L -n) и убедись что CCcam реально слушает порт (netstat -tlnp | grep 12000).

Блокировка портов провайдером и обход через смену порта

Некоторые провайдеры блокируют входящие соединения на порту 12000 — именно потому, что это стандартный CCcam-порт. Решение простое: сменить порт в CCcam.cfg:

SERVER LISTEN PORT: 19500

И обновить правило проброса в роутере под новый порт. Клиентам тоже нужно обновить C-line с новым портом. Порты 19000–19999 или 8080 реже блокируются провайдерами. При CGNAT никакая смена порта не поможет — это архитектурное ограничение на стороне провайдера.

Подключение клиента и проверка работы сервера

Сервер настроен. Теперь проверим, что он реально работает и карты отдаёт.

Добавление C-line на стороне клиента

Клиент открывает свой /var/etc/CCcam.cfg и добавляет C-line на твой сервер:

C: твой.домен.или.ip 12000 john secret123

Логин и пароль — те, что прописаны в F-line на сервере. После перезапуска CCcam на клиентском ресивере соединение должно установиться. Если нет — смотри в лог.

Проверка статуса через веб-интерфейс CCcam (порт 16001)

Открой в браузере http://192.168.1.100:16001 (IP своего ресивера). Там увидишь несколько разделов:

  • Servers — список твоих C-lines и их статус (connected/disconnected)
  • Clients — кто подключён к тебе по F-lines
  • Cards — список доступных карт с CAID и провайдерами
  • ECM — история запросов с временем ответа

Некоторые образы прошивок поставляются с урезанным CCcam без веб-интерфейса. Если страница не открывается — проверь, что WEBINFO LISTEN PORT: 16001 прописан в конфиге, и порт не занят другим процессом. В этом случае диагностику придётся вести только через лог в Telnet.

Чтение лога и определение активных карт

Лог по умолчанию пишется в /tmp/CCcam.log. Открыть в реальном времени:

tail -f /tmp/CCcam.log

На что смотреть: строки connected to server говорят об успешном подключении. CARD: CAID=... — карта получена и доступна. ECM time: 450ms — нормально. ECM time: 1800ms — плохо. no card found for ECM — карты с нужным CAID нет или доступ закрыт.

Типичные ошибки настройки и их устранение

Это самая полезная часть. Разберём конкретные сценарии поломки и шаги диагностики.

Каналы не открываются: чёрный экран

Чёрный экран при наличии соединения обычно означает одно из трёх: нет карты с нужным CAID, HOP-лимит не позволяет карте добраться до клиента, или провайдер в карте заблокирован.

Диагностика: в веб-интерфейсе CCcam на сервере открой раздел Cards. Найди CAID канала, который не открывается (его можно посмотреть в настройках ресивера или в Enigma2 через Service Info). Если CAID вообще отсутствует в списке — карты нет. Если есть, но канал всё равно чёрный — проблема в HOP или правах доступа клиента.

Фриз и кратковременные подвисания на HD-каналах

Фриз на HD-каналах при рабочих SD — классика перегруженного сервера или высокого ECM time. HD-каналы обновляют CW чаще и требуют более стабильной связи. ECM time выше 800 мс — уже риск. Выше 1200 мс — фриз гарантирован.

Проверь в веб-интерфейсе, какое среднее ECM time. Если высокое — проблема или в пире (сервер далеко, перегружен), или в HOP-цепочке, или в твоём интернете. Пинг до сервера из Telnet: ping server.example.com. Если пинг стабильный, но ECM time высокий — сервер перегружен.

Клиент не подключается к серверу

Первый шаг: проверь, что порт открыт (см. выше). Второй: убедись, что логин/пароль в C-line клиента точно совпадают с F-line сервера — регистр имеет значение. Третий: несовпадение версий протокола. CCcam 2.1.x и 2.3.x несовместимы на уровне рукопожатия. Если клиент и сервер на разных мажорных версиях — соединение устанавливается, но карты не передаются. В логе будет что-то вроде authentication failed или invalid card data.

CCcam не стартует после правки конфига

Самая коварная ошибка — синтаксические проблемы в CCcam.cfg. Демон может не стартовать вообще без внятного сообщения. Проверь:

  • Нет ли скрытых символов табуляции вместо пробелов — редакторы на Windows часто вставляют \r\n вместо \n
  • Нет ли лишних пробелов в конце строки F: или C:
  • Кодировка файла — должна быть UTF-8 без BOM

Безопасный способ редактировать в Telnet: vi /var/etc/CCcam.cfg. Если используешь Windows-редактор — сохраняй с Unix-окончаниями строк. После правки запусти CCcam вручную из Telnet и смотри на вывод: CCcam 2>&1 | head -20.

CCcam или OScam: что выбрать для своего сервера

Честное сравнение без маркетинга. Оба решают одну задачу, но по-разному.

Открытый код OScam против проприетарного CCcam

OScam — открытый проект с активными коммитами. CCcam — закрытая программа, последний релиз 2.3.2 вышел несколько лет назад и обновлений не предвидится. Это практически означает, что новые защиты каналов (новые CAID, новые алгоритмы) CCcam поддерживать не сможет. OScam уже умеет то, что CCcam никогда не научится.

OScam живёт в /usr/bin/oscam, конфиги — в /etc/oscam/. Основные файлы: oscam.conf (глобальные настройки), oscam.server (источники карт и внешние серверы), oscam.user (учётные записи клиентов).

Гибкость конфигурации oscam.server и oscam.user

В oscam.server можно описать подключение к CCcam-серверу:

[reader]
label = myserver
protocol = cccam
device = server.example.com,12000
user = mylogin
password = mypass
cccversion = 2.3.2
cccmaxhops = 2

В oscam.user — клиентов, которые могут подключаться к OScam по протоколу CCcam или newcamd:

[account]
user = client1
pwd = clientpass
group = 1
au = 1

OScam поддерживает одновременно несколько протоколов: CCcam, newcamd, camd35, gbox. Один сервер может отдавать карты клиентам, использующим разные эмуляторы. CCcam так не умеет.

Когда CCcam всё ещё оправдан

Если ты только начинаешь, у тебя один ресивер и одна простая C-line от провайдера — CCcam проще в первоначальной настройке. Один файл, понятный синтаксис. Для старых ресиверов на Enigma2, где нет бинарника OScam для нужной архитектуры, CCcam остаётся единственным вариантом. Но если планируешь расширяться, работать с несколькими картами и клиентами — миграция на OScam сохранит много нервов в будущем.

Как оценить надёжность стороннего сервера

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

Технические критерии: аптайм, ECM time, локальные карты

После подключения смотришь в веб-интерфейс CCcam или лог OScam. Что нужно видеть через сутки использования:

  • ECM time — стабильно ниже 600 мс, без пиков выше 1000 мс в прайм-тайм (20:00–23:00)
  • В разделе Cards — CAID с HOP 1 означает локальную карту. HOP 3-4 — решар чужих решаров
  • Аптайм соединения — должен быть близок к 100% за 24 часа. Частые дисконнекты даже при стабильном интернете говорят о перегруженном сервере
  • Счётчик успешных ECM — если процент отказов выше 5%, карта либо не покрывает нужные каналы, либо перегружена

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

Плохой сервер выдаёт себя несколькими признаками. Все карты с HOP 3 и выше — значит, это решар решара решара, и у каждого звена цепочки свои технические проблемы. Фриз исключительно в прайм-тайм — сервер перепродан, в час пик он не справляется с запросами. ECM time прыгает от 200 до 2000 мс в течение одной минуты — нестабильная инфраструктура или плохой пир.

Красный флаг: провайдер не может объяснить, какие CAID включены в подписку. Если в карточке написано «все каналы», а в Cards у тебя три CAID вместо ожидаемых восьми — тебя обманули.

Тестовый период и проверка стабильности

Хороший провайдер даёт тестовый доступ на 24–48 часов. Меньше — недостаточно, потому что нестабильность проявляется именно в прайм-тайм и при смене CW-ключей. За тестовый период нужно поймать минимум один вечерний прайм-тайм и убедиться, что HD-каналы не фризят.

Наблюдай за ECM time не моментально, а в динамике. Скрипт для автоматического логирования ECM из Telnet:

while true; do date; grep "ECM time" /tmp/CCcam.log | tail -5; sleep 60; done

Это покажет картину за несколько часов и сразу видно, стабильный сервер или нет.

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

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

Основной путь — /var/etc/CCcam.cfg. В некоторых образах прошивки файл лежит в /etc/CCcam.cfg или там есть симлинк на /var/etc/. Редактировать удобнее всего через FTP-клиент (FileZilla, WinSCP) с Unix-режимом окончания строк. После изменения файла обязательно перезапустить CCcam: /etc/init.d/CCcam restart.

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

TCP-порт 12000 — для обмена карточными данными между сервером и клиентом. Веб-интерфейс для мониторинга статуса по умолчанию на порту 16001, внешний API — на 16000. Если провайдер блокирует входящие на 12000, порт можно сменить в CCcam.cfg через параметр SERVER LISTEN PORT и обновить правило проброса в роутере.

Чем отличается F-line от C-line?

F-line описывает входящую учётную запись — кто имеет право подключаться к твоему серверу с каким логином и паролем. C-line описывает исходящее подключение — куда твой ресивер сам подключается как клиент для получения карт. В одном CCcam.cfg могут быть одновременно несколько F-lines (несколько клиентов) и несколько C-lines (несколько серверов-источников).

Почему каналы фризят после настройки сервера?

Чаще всего — высокий ECM time выше 800–1000 мс. Причины: большой HOP (цепочка решаров), перегруженный или физически далёкий сервер, нестабильный пир в цепочке, слабый интернет-канал. Диагностика: веб-интерфейс CCcam на порту 16001 → раздел ECM → смотреть на время ответов. Параллельно пинг до сервера из Telnet покажет, в сети ли проблема.

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

Да, через DDNS-сервис — он привязывает постоянное доменное имя к меняющемуся IP. Роутер или ресивер автоматически обновляет DNS-запись при смене адреса. Но при CGNAT у провайдера (серый IP из диапазона 100.64.0.0/10) входящие соединения не пройдут физически — тогда принимать клиентов не получится, только работать самому как клиент чужого сервера.

Что лучше для нового сервера — CCcam или OScam?

OScam гибче, активно разрабатывается и поддерживает больше протоколов одновременно — newcamd, cccam, camd35, gbox. Тонкая настройка через три файла: oscam.conf, oscam.server, oscam.user. CCcam проще для первого запуска — один файл, понятный синтаксис. Но разработка 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 или внешние мониторы.