Настройка CCcam: полный гайд по конфигурации сервера 2026

Если ты дочитал до этого места, значит CCcam уже установлен и запущен — но декодирования нет, каналы не открываются, и понимание что именно не так приходит не сразу. Это нормально. Cccam configuration на первый взгляд выглядит как набор случайных строк, но на самом деле каждый параметр логичен и предсказуем. Разберём всё по порядку — файлы, директивы, F-линии, C-линии, сеть и диагностика.

Структура конфигурации CCcam: где лежат файлы и за что отвечают

Первая проблема — найти сам файл конфигурации. Расположение зависит от системы, и это сбивает с толку.

Расположение CCcam.cfg на разных системах

На Enigma2-ресиверах (DreamBox, VU+, Formuler и клоны) стандартный путь — /var/etc/CCcam.cfg. Но некоторые образы прошивок кладут файл в /usr/keys/CCcam.cfg или даже в /etc/CCcam.cfg. Если не знаешь где он у тебя:

find / -name CCcam.cfg 2>/dev/null

На обычном Linux x86/ARM (VPS, мини-ПК, Raspberry Pi) путь чаще всего /etc/CCcam.cfg или /usr/local/etc/CCcam.cfg — зависит от того как установлен бинарник. На DreamBox 800 HD — исторически /var/etc/CCcam.cfg.

Назначение SoftCam.Key, AutoRoll.Key, constant.cw

SoftCam.Key — файл с ключами для декодирования FTA-каналов без карты (так называемый softcam). Лежит обычно в /var/keys/ или /usr/keys/. CCcam читает его при старте — если файл устарел или содержит неверные ключи, каналы не откроются даже при правильной C-линии.

AutoRoll.Key используется для автообновления ключей по расписанию. constant.cw — фиксированные CW-слова для отладки. В продакшне эти два файла обычно не нужны.

Права доступа: chmod 600 для CCcam.cfg, chmod 755 для бинарника

Это не формальность. Если права на CCcam.cfg выставлены как 644 или 777 — в первом случае пароли F-линий и C-линий читает любой пользователь системы, во втором — новые версии CCcam (2.3.0+) вообще откажутся стартовать, считая файл небезопасным.

Правильная настройка:

chmod 600 /var/etc/CCcam.cfg
chown root:root /var/etc/CCcam.cfg
chmod 755 /usr/bin/CCcam

Проверить текущее состояние: ls -la /var/etc/CCcam.cfg

Лог-файл /tmp/CCcam.log и параметр DEBUG

Все события пишутся в /tmp/CCcam.log. По умолчанию уровень логирования минимальный. Чтобы видеть подробности — добавь в CCcam.cfg:

DEBUG : 1

Значения: 0 — только ошибки, 1 — стандартный вывод, 2 — полный debug (огромный лог, только для диагностики). Следить в реальном времени: tail -f /tmp/CCcam.log

Глобальные параметры CCcam.cfg: разбор каждой директивы

Вот минимально рабочий CCcam.cfg с пояснениями. Разберём каждую строку — что она делает и что будет если её не поставить.

# Порт для входящих подключений клиентов
SERVER LISTEN PORT : 12000

# Веб-интерфейс мониторинга
WEBINFO LISTEN PORT : 16001
WEBINFO USERNAME : myadmin
WEBINFO PASSWORD : str0ngpass

# Telnet-интерфейс (можно отключить)
ALLOW TELNETINFO : yes
TELNETINFO LISTEN PORT : 16000

# ОБЯЗАТЕЛЬНО для шаринга
DISABLE EMM : yes

# Показывать время обработки ECM-запросов
SHOW TIMING : yes

# Уровень логирования
DEBUG : 1

SERVER LISTEN PORT : 12000 — порт для входящих подключений

Это порт на котором CCcam слушает подключения от клиентов. Стандартное значение — 12000, но его можно изменить на любой от 1024 до 65535. Если на этом порту уже работает другой процесс (например OScam), CCcam не запустится — проверь netstat -tlnp | grep 12000.

Интересная возможность — привязать сервер к конкретному интерфейсу, если у ресивера два сетевых адаптера (Wi-Fi + Ethernet):

SERVER LISTEN PORT : [email protected]

Так CCcam будет слушать только на Ethernet, игнорируя Wi-Fi интерфейс.

WEBINFO LISTEN PORT : 16001 — веб-интерфейс мониторинга

Открой браузер и зайди на http://192.168.1.x:16001 — увидишь список карт, подключённых клиентов, C-линий и статистику ECM. Это самый удобный инструмент диагностики. Без него работать вслепую.

WEBINFO USERNAME / WEBINFO PASSWORD — защита веб-морды

Без этих параметров веб-интерфейс открыт без пароля. На практике это означает что любой в локальной сети (или из интернета если порт проброшен) видит твои C-линии и список клиентов. Всегда ставить.

ALLOW TELNETINFO : yes/no и TELNETINFO LISTEN PORT : 16000

Telnet-интерфейс на порту 16000 даёт доступ к тем же данным что и веб, только в текстовом режиме. Удобен для скриптования. Если telnet не нужен — ALLOW TELNETINFO : no.

DISABLE EMM : yes — обязательно для шаринга

EMM (Entitlement Management Messages) — это обновления от оператора которые изменяют права карты. Если оставить DISABLE EMM : no, карта начнёт получать EMM через шаринг-соединения, и оператор может её заблокировать за подозрительную активность. Всегда DISABLE EMM : yes если используешь шаринг.

SHOW TIMING : yes — диагностика скорости ECM

Включает вывод времени обработки каждого ECM-запроса в лог. Выглядит как ECM time: 145ms. Норма — 100–400ms. Всё выше 800ms — уже плохо, выше 1500ms — канал будет зависать и рассыпаться.

EXTRA OPEN PORTS — проброс на конкретные карты

Редко используемая директива для тонкой настройки. Синтаксис:

EXTRA OPEN PORTS : 88@0500:003311:1234

Означает: открыть порт 88, направить трафик на карту с CAID 0500, провайдер 003311, через IDENT 1234. Нужно только при сложных мультикартовых конфигурациях.

F-линии: как настроить CCcam как сервер для клиентов

F-линии — самая частая точка ошибок в cccam configuration. Именно здесь определяется кто может к тебе подключиться и что он увидит.

Синтаксис F-линии: F: username password hops {downhub} {uphub}

F: username password hops downhops uphops { allowed_CAIDs } { allowed_IPs }

Пример для трёх ресиверов в семейном шаринге:

F: receiver1 pass123 1 0 0
F: receiver2 passabc 1 0 0
F: receiver3 passxyz 0 0 0

Третий ресивер видит только локальные карты (hops=0), первые два получают карты через C-линии первого уровня (hops=1).

Параметр hops — сколько уровней пересылки разрешено клиенту

Hops — это не "расстояние до карты", а максимальное количество промежуточных серверов через которые карта может быть переслана этому клиенту.

  • hops=0 — клиент видит только карты вставленные физически в твой картридер
  • hops=1 — клиент видит твои карты + карты серверов из твоих C-линий
  • hops=2 — плюс карты серверов с которыми соединены твои C-линии

Большинство проблем типа "клиент подключился но карт нет" — это hops=0 при том что локальных карт нет, только C-линии.

Reshare правила: 0 = только локальные карты, 1+ = пересылка чужих

Параметры downhops и uphops контролируют пересылку: downhops — сколько уровней карт отдаём клиенту, uphops — сколько уровней карт принимаем от него. Значение 0 запрещает пересылку чужих карт.

Привязка по CAID/IDENT через фильтры

Если нужно разрешить клиенту видеть только определённые пакеты:

F: user pass 1 0 0 { 0:0:1, 0500:032830 }

Первая запись 0:0:1 — разрешить все CAID. 0500:032830 — только CAID 0x0500, провайдер 0x032830 (Viaccess).

Идентификация клиента по IP

F: user pass 1 0 0 { } { } [email protected]

Клиент с этим логином будет принят только если подключается с IP 192.168.1.100. Хорошая практика для безопасности, особенно если клиент с фиксированным домашним IP.

C-линии: подключение к внешнему серверу как клиент

C-линия — противоположность F-линии. Ты не сервер, ты клиент. Прописываешь данные внешнего сервера, CCcam подключается к нему и получает карты.

Синтаксис: C: hostname port username password [no_emm] [no_recv] [reshare]

C: server.example.com 12000 myuser mypassword no no 0
  • server.example.com — хост сервера (или IP)
  • 12000 — порт
  • myuser / mypassword — учётные данные
  • no (no_emm) — не пересылать EMM-пакеты на этот сервер
  • no (no_recv) — принимать карты с сервера (no = принимать, yes = не принимать)
  • 0 — reshare: 0 = не пересылать эти карты дальше своим клиентам

Параметр reshare на C-линии

Если поставить reshare=1, карты полученные с этой C-линии будут доступны твоим клиентам (F-линиям) с hops≥1. Это нормальная практика для "бридж"-серверов. Но многие провайдеры запрещают reshare в условиях — следи за этим.

DESkey для зашифрованных подключений

C: server.example.com 12000 user pass no no 0 DESkey-AB-CD-EF-01-23-45-67-89

DESkey — дополнительный уровень шифрования соединения CCcam. Если сервер требует DESkey, без него подключение не установится или будет rejected. Провайдер выдаёт ключ вместе с логином.

Wildcard и фильтры карт на C-линии

C: server.example.com 12000 user pass no no 0 { 0500:032830 }

Принимать с этого сервера только карты CAID 0x0500 с провайдером 032830. Удобно если сервер отдаёт много пакетов а нужен только один.

Проверка работы C-линии через веб-интерфейс

Открой http://192.168.1.x:16001, вкладка "Servers" или "C-lines". Возможные статусы:

  • CONNECTED OK — всё работает, карты получены
  • NO CARDS — подключение установлено но сервер не даёт карты (hops/reshare проблема на их стороне)
  • WRONG PASSWORD — ошибка аутентификации
  • CONNECTING... — попытка подключения, ждёт таймаута
  • DISCONNECTED — сервер недоступен или отверг подключение

Сетевые требования: порты, NAT, файрвол, маршрутизация

Конфиг может быть идеальным, но если сеть настроена неправильно — ничего не заработает. Разберём что нужно на сетевом уровне.

Открытие порта 12000 TCP на роутере

Если CCcam-сервер стоит на ресивере в локальной сети, нужен проброс порта (port forwarding / NAT): входящий TCP 12000 → IP ресивера, порт 12000. Делается в интерфейсе роутера, раздел "NAT" или "Port Forwarding".

Важно: проброс работает только если у провайдера "белый" внешний IP. Если провайдер использует CGNAT (особенно характерно для мобильного интернета 4G/5G) — входящие подключения физически невозможны. Единственное решение — VPS с белым IP или reverse-SSH туннель:

ssh -R 12000:localhost:12000 [email protected]

iptables правила

На Linux-системе дополнительно нужно разрешить порт в файрволе:

iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
iptables -A INPUT -p tcp --dport 16001 -j ACCEPT
# Сохранить правила:
iptables-save > /etc/iptables/rules.v4

Для защиты от брутфорса порта 12000 — добавь fail2ban. Это реально останавливает сканеры, которых в интернете хватает.

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

Если IP меняется — клиенты с хардкоженым IP в C-линии потеряют соединение. Решение: DDNS-сервис (no-ip.com, duckdns.org). Устанавливаешь клиент на ресивер, он обновляет DNS-запись при каждой смене IP. В C-линии прописываешь домен вместо IP.

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

telnet your-ddns.com 12000

Если соединение устанавливается (видишь приветствие CCcam) — сервер доступен снаружи. Если "Connection refused" — файрвол или NAT. Если таймаут — CGNAT или неправильный IP.

Для отладки трафика на сервере:

tcpdump -i eth0 port 12000

MTU и фрагментация пакетов

Редкая но реальная проблема: ECM-пакеты размером больше MTU интерфейса фрагментируются и теряются. Симптом — ECM time нормальный в логе, но декодирования нет. Проверка:

ping -M do -s 1400 server.example.com

Если пинг не проходит с размером 1400 — MTU проблема. Попробуй снизить MTU на интерфейсе до 1400: ip link set eth0 mtu 1400.

Диагностика и решение типичных ошибок конфигурации

Разберём конкретные сценарии. Не абстрактные "проверьте настройки", а реальные симптомы и что с ними делать.

Сервер стартует но не декодирует: проверка SoftCam.Key и CAID

Первое что смотрим в логе: появляется ли строка вида card 0500:032830 added после старта. Если нет — карта не инициализировалась. Причины: картридер не виден (ls /dev/sci0), неправильные права, или SoftCam.Key не соответствует пакету.

Если карта добавлена но декодирования нет — смотри CAID. Не все каналы пакета используют один CAID. Например Viaccess в разных транспондерах может быть как 0500 так и 0604.

Клиент подключается но карты не видны: hops mismatch

Самый частый сценарий. Лог сервера показывает card 0500:032830 added, клиент говорит no cards. Диагноз почти всегда один: в F-линии клиента стоит hops=0, а карта пришла через C-линию (то есть она не локальная).

Исправление: F: username password 1 0 0 — поменяй первый 0 после пароля на 1.

Постоянные дисконнекты: keepalive и таймауты

Если клиент подключается и отваливается каждые несколько минут — это или таймаут со стороны сервера, или проблема keepalive пакетов. Добавь в конфиг:

KEEPALIVE INTERVAL : 60

Значение в секундах. Если через NAT-роутер — уменьши до 30. Некоторые роутеры закрывают неактивные TCP-соединения через 60–120 секунд.

Ошибка 'no card available': проблема с правами или картридером

Проверь права на устройство картридера:

ls -la /dev/sci0
# Должно быть доступно CCcam (запущен как root или в группе video/dialout)
chmod 666 /dev/sci0

Также проверь что CCcam не запускается от пользователя без прав на /dev/sci0.

ECM time >1000ms: переход на другой маршрут

Если SHOW TIMING показывает ECM time >1000ms стабильно — это сетевая проблема. Нормальное значение 100–400ms, 400–800ms — терпимо, выше 1000ms — зависания и артефакты на экране.

Что делать: проверь ping до сервера — должно быть <100ms. Если пинг нормальный но ECM time высокий — сервер перегружен или слабый картридер на его стороне. Смени C-линию.

Критерии выбора внешнего сервера: на что смотреть в C-линии провайдера

Правильно настроенная cccam configuration с плохой C-линией не даст ничего. Разберём как оценивать провайдера не называя конкретных имён.

Стабильный ECM time важнее минимального

Сервер с ECM time 200ms но стабильным — лучше чем сервер со средним 80ms но скачками до 2000ms. Скачки = зависания картинки в самый неподходящий момент. Просить тестовую C-линию и мерять SHOW TIMING несколько часов.

Uptime и история

Нормальный uptime для платного сервиса — 99%+. Если продавец не публикует статистику uptime — плохой знак. Ещё хуже — сервис без истории, появившийся неделю назад.

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

Перед покупкой уточни список CAID которые реально работают. "Поддерживаем 500+ каналов" — маркетинг. Тебе нужен конкретный CAID конкретного пакета в конкретной стране. Проверяй по тестовой линии через веб-интерфейс :16001 вкладку Cards.

Локальные карты vs пересылочные (local vs reshare)

Локальная карта — вставлена физически у провайдера, даёт минимальный ECM time. Reshare-карта — пересылается с другого сервера, добавляет latency. Один уровень reshare — ещё нормально. Два и более — ECM time растёт непредсказуемо.

Спроси прямо: "эти карты local или reshare?" Хороший провайдер ответит честно.

Тестовый период перед оплатой

Любой приличный сервис даёт 24–48 часов тестовую C-линию бесплатно. Нет тестового периода — красный флаг. Также красные флаги: "1000+ каналов за $1/месяц", продажа через Telegram без сайта, обещания "гарантированного аптайма 100%".

Дополнительные сценарии которые часто обходят стороной

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

IPv6-only провайдер. CCcam работает только по IPv4. Если провайдер даёт только IPv6 — нужен туннель 6to4 или Hurricane Electric tunnelbroker.net. Без этого CCcam вообще не установит соединения.

Несколько CAID на одной карте. Например Conax + Viaccess на одной смарт-карте. В F-линии фильтр будет:

F: user pass 1 0 0 { 0B00:000000, 0500:032830 }

Конфликт CCcam и OScam на одном порту. Если запускаешь оба на одной машине — разные порты обязательны. OScam часто использует 11000, CCcam — 12000. Проверь: netstat -tlnp | grep -E '11000|12000'.

Время на ресивере ушло вперёд или назад. ECM-валидация зависит от времени. Если часы ресивера расходятся с реальными на >5 минут — начнутся странные фейлы. Добавь в crontab:

*/30 * * * * ntpdate -s pool.ntp.org

ARM-ресиверы с /dev/urandom вместо /dev/random. На некоторых слабых ARM-устройствах CCcam зависает при старте собирая энтропию. Симптом — процесс запущен, 0% CPU, никакого вывода в лог. Решение: ln -sf /dev/urandom /dev/random или установка haveged.

Запуск CCcam на VPS. Это часто предпочтительнее ресивера: статический IP (не нужен DDNS и не нужен проброс через NAT), uptime 99.9%, нет проблем с CGNAT мобильного провайдера. Минимальный VPS — 1 vCPU, 512MB RAM — достаточно для CCcam-сервера с несколькими F-линиями. Картридер подключается по USB-over-IP (например ser2net + socat) или используется только reshare от провайдера.

Именно правильная cccam configuration на VPS с fail2ban и chmod 600 — это золотой стандарт для небольшого семейного шаринга.

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

Где находится CCcam.cfg на ресивере с Enigma2?

Стандартный путь — /var/etc/CCcam.cfg. На некоторых образах прошивок может быть /usr/keys/CCcam.cfg или /etc/CCcam.cfg. Найти точно: find / -name CCcam.cfg 2>/dev/null. Если файла нет — CCcam не запускался или не установлен корректно.

Чем отличается F-линия от C-линии в CCcam?

F-линия описывает клиента который подключается К ТЕБЕ — ты выступаешь сервером. C-линия описывает сервер к которому подключаешься ТЫ — ты клиент. Можно и нужно иметь оба типа одновременно: C-линии получают карты извне, F-линии раздают их своим клиентам.

Какой порт открыть на роутере для CCcam?

По умолчанию 12000 TCP — задаётся параметром SERVER LISTEN PORT. Дополнительно порт 16001 если нужен внешний доступ к веб-интерфейсу мониторинга. UDP CCcam не использует. Порт 16000 (telnet) лучше не пробрасывать наружу без необходимости.

Что значит параметр hops в F-линии?

Максимальное количество промежуточных серверов через которые карта может быть переслана этому клиенту. hops=0 — только физически вставленные карты, hops=1 — плюс карты серверов из C-линий первого уровня, hops=2 — ещё один уровень глубже. Клиент подключился но карт нет — почти всегда hops=0 при отсутствии локальных карт.

Почему CCcam запускается но не декодирует каналы?

Четыре основных причины: 1) не установлен DISABLE EMM : yes и карта заблокирована оператором, 2) карты не появились — проверь веб-интерфейс :16001 вкладку Cards, 3) CAID канала не совпадает с CAID карты, 4) SoftCam.Key устарел или не содержит ключей для нужного пакета. Смотри лог: tail -f /tmp/CCcam.log.

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

Да, и часто это лучше: статический белый IP (не нужен DDNS и нет проблем с CGNAT), uptime 99.9%, нет зависимости от электропитания ресивера. Достаточно минимального VPS с 1 vCPU и 512MB RAM. Картридер подключается по USB-over-IP через ser2net+socat, или используется только reshare от внешних C-линий.

Как защитить CCcam-сервер от взлома?

Основные меры: chmod 600 на CCcam.cfg, сложные пароли в F-линиях (не "admin/admin"), обязательно WEBINFO USERNAME и WEBINFO PASSWORD, fail2ban на порт 12000 от брутфорса, ограничение IP клиентов через синтаксис [email protected] в F-линиях. Если веб-интерфейс не нужен снаружи — не пробрасывай порт 16001 на роутере.

Что делать если ECM time стабильно выше 1000ms?

Сначала проверь ping до сервера — должно быть меньше 100ms. Если пинг нормальный — сервер перегружен или слабый картридер на его стороне. Если пинг высокий — попробуй другой маршрут (другой интернет-провайдер или VPN). Потери пакетов проверяй через mtr server.example.com. ECM time выше 1000ms = зависания каждые несколько секунд.

Practical checklist for smooth viewing

Even the best CCCam or OSCam line needs two or three simple preparations. Update your receiver firmware, reset the ECM cache once a week and keep 15–20% free space on the USB stick or internal flash so that the reader can store keys without delays.

When tuning a dish, aim for MER/BER reserve: a two‑degree offset or a loose F‑connector often causes the “freezing” that users blame on cardsharing. Keep a short patch cord to test alternative routers, and save two profiles in OSCam — one for TCP, one for UDP — so you can switch instantly if your ISP starts filtering a protocol.

Utgard.tv monitors each hub 24/7, but you can speed up diagnostics by keeping a short log of your receiver actions. Note the time when you changed the channel, which CAID was active and whether you used Wi‑Fi or Ethernet. This tiny “journal” helps engineers reproduce your environment in the lab and return with a solution in minutes instead of hours.

  • Keep two line slots enabled: if the first server hits a maintenance window, the second one instantly takes over without re-entering credentials.
  • Run a monthly speed and latency test. Stable 1–2 Mbps with ping <80 ms is enough for SD/HD, but if jitter exceeds 20 ms, switch the router to wired mode.
  • Save the Utgard.tv status page and Telegram bot @utgard_tv_bot to bookmarks — they publish maintenance notices before SEMrush or uptime monitors raise alerts.