Настройка 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 или внешние мониторы.