CCcam.cfg: настройка конфига сервера в 2026

Если ваш ресивер стоит, каналы не открываются, а в логах — тишина, скорее всего проблема в файле конфигурации. CCcam cfg — это единственный текстовый файл, который управляет всем поведением демона: куда подключаться, кого принимать, что раздавать и с каким приоритетом. Одна лишняя табуляция или неправильная кодировка — и демон молча игнорирует строку целиком.

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

Что такое CCcam.cfg и где он лежит

Назначение файла конфигурации

CCcam.cfg — главный конфиг демона CCcam. Это обычный текстовый файл без какой-либо иерархии: все инструкции идут построчно, порядок строк внутри блока роли не играет, но глобальные параметры принято писать вверху, а строки подключений — после.

Комментарии начинаются с символа #. Всё, что стоит после решётки в строке, демон игнорирует. Пустые строки допустимы — они помогают визуально разбить конфиг на логические блоки.

Пути расположения: /var/etc/CCcam.cfg и /etc/CCcam.cfg

На ресиверах с Enigma2 (Vu+, Dreambox, GigaBlue и другие) конфиг обычно лежит по пути /var/etc/CCcam.cfg. На некоторых Linux-сборках и серверных инсталляциях путь другой — /etc/CCcam.cfg. Перед правкой стоит проверить оба места командой:

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

Важный момент: имя файла регистрозависимо. Файл cccam.cfg в нижнем регистре демон просто не найдёт. Кодировка — UTF-8 без BOM. Если сохранили файл через Notepad на Windows — скорее всего получили BOM в начале, и демон не запустится.

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

Файл должен быть читаем тем пользователем, под которым запущен демон. Обычно достаточно chmod 644 /var/etc/CCcam.cfg. Если CCcam запущен от root — проблем нет, но на некоторых сборках с отдельным пользователем это важно.

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

killall -9 CCcam

Автозапуск обычно прописан в init-скриптах или через плагин автозапуска на Enigma2 — он поднимет демон заново через несколько секунд. Либо через меню ресивера: Plugins → CCcam → Restart. На чистом Linux можно написать service-файл для systemd.

Ещё один нюанс, который постоянно упускают: на некоторых ресиверах раздел /var/etc монтируется в RAM. После перезагрузки конфиг пропадает. Если так — нужно либо вынести файл на флешку и сделать симлинк, либо прописать копирование конфига в скрипт инициализации.

Синтаксис строк подключения: C-line, N-line, L-line

C-line (клиент): C: host port username password

C-line — это исходящее подключение. Вы клиент, подключаетесь к чужому серверу. Полный формат строки:

C: host port username password [wantemus] [hop] [{ caid:provid:downhop }]

Реальный пример (обезличенный):

C: myserver.example.com 12000 myuser mypass no { 0:0:2 }

Разбор по полям: myserver.example.com — хост сервера (домен или IP), 12000 — порт, myuser / mypass — логин и пароль (регистрозависимы!), no — параметр wantemus (запрос EMM от этого сервера; почти всегда no), и наконец блок в фигурных скобках задаёт ограничения шаринга.

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

N-line (newcamd): N: host port user pass key

N-line — подключение по протоколу Newcamd. Используется реже, чем C-line, но встречается когда сервер отдаёт карты по Newcamd. Формат:

N: host port username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14

14-байтный ключ — это DES-ключ согласования. Стандартный ключ по умолчанию: 01 02 03 04 05 06 07 08 09 10 11 12 13 14. Если сервер использует другой ключ — подключение не установится даже с верным паролем. Уточняйте у провайдера.

L-line и локальные ридеры

L-line описывает локальный ридер — физическую карту, вставленную в картридер ресивера. Формат:

L: /dev/sci0 speed

Например: L: /dev/sci0 0. Скорость 0 означает автоопределение. На Enigma2-ресиверах встроенный картридер обычно доступен как /dev/sci0 или /dev/sci1. Если карта вставлена но не читается — проверьте, правильный ли device указан.

Необязательные параметры в конце строки (no/yes, { } блоки)

Параметр wantemus (пятое поле в C-line) — yes или no. Управляет тем, будет ли CCcam запрашивать EMM-данные с этого сервера. Для большинства случаев — no.

Блок в фигурных скобках { caid:provid:downhop } ограничивает, какие карты принимать с этого сервера. Если скобок нет — принимаются все карты в рамках хопа. Детально разберём в следующей секции.

F-line и параметры раздачи карт другим клиентам

Формат F: username password downhops uphops

F-line — противоположность C-line. Вы сервер, эта строка описывает клиента, которого вы принимаете. Формат:

F: username password downhops uphops [{ caid:provid:sid }]

Пример:

F: client1 secretpass 1 0

Здесь client1 — логин входящего клиента, secretpass — его пароль, 1 — downhops (сколько уровней вниз клиент может ретранслировать карты), 0 — uphops (сколько уровней вверх он может передавать). Для конечного пользователя: downhops=1, uphops=0.

Ограничение шаринга через { caid:provid:sid }

Фигурные скобки в F-line ограничивают, что именно этот клиент получит. Формат каждого элемента внутри: caid:provider_id:downhop. Несколько элементов разделяются пробелом:

F: client1 pass 1 0 { 0500:032830:1 0604:000000:1 }

CAID 0500 — Viaccess, 0604 — Irdeto. Если провайдер не важен — ставите 000000. Если нужно раздать всё без ограничений — убираете скобки или пишете пустые { }.

Распространённая ошибка: C-line работает, сервер подключается, но каналы не открываются. Причина почти всегда — несовпадение CAID или provider ID в фигурных скобках. Сервер шлёт карту одного пакета, а в ограничениях прописан другой.

Параметры downhops/uphops и петли шаринга

Downhops — это глубина ретрансляции. При downhops=1 клиент получает карты, но не может раздавать их дальше. При downhops=2 он может отдать одному следующему уровню. И так далее.

Высокие значения downhops (3 и выше) — реальный риск. Если две точки сети шарят карты друг другу с высоким hop-значением, возникает петля: карта гуляет по кругу, нагружает сеть, и в итоге CW-таймауты у всех участников. Стандартная рекомендация: downhops не выше 1-2 для клиентов, которым вы не доверяете полностью.

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

SERVER LISTEN PORT и веб-интерфейс (WEBINFO LISTEN PORT)

Глобальные директивы пишутся в верхней части cccam cfg, до строк подключений. Основные:

SERVER LISTEN PORT : 12000
WEBINFO LISTEN PORT : 16001

Порт 12000 — стандартный для CCcam, большинство серверов используют именно его. Если на одном сервере запущено несколько экземпляров демона — будет конфликт bind на один порт, второй экземпляр просто не поднимется. Решение: разные порты для каждого экземпляра (12000, 12001, 12002...).

Веб-интерфейс на порту 16001 даёт простой HTTP-статус: сколько клиентов подключено, какие карты активны. Открывается по адресу http://ресивер:16001/. Закрыть извне через firewall — хорошая идея, если ресивер смотрит в интернет напрямую.

ALLOW TELNET, DEBUG, EMM-параметры

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

ALLOW TELNET : yes
DEBUG : 0
ALLOW VIRTUAL CARDS : no
CACHE PUSH AHEAD TIME : 300

DEBUG : 0 — логирование выключено. При значении 1-3 в лог пишется подробная информация о подключениях и запросах. Полезно при отладке, но на продакшн-сервере лучше держать на 0 — иначе лог разрастается быстро.

EMM-запросы (Entitlement Management Messages) нужны для обновления прав карты. Параметр ALLOW EMM : yes разрешает обработку EMM. На шаринговых серверах без физических карт это обычно бессмысленно.

SHARE LIMITS и контроль числа подключений

Ограничение на количество одновременных подключений задаётся глобально:

MAX CLIENTS ALLOWED : 10

Также можно ограничить конкретного клиента (F-line) по числу одновременных сессий — через параметр после блока скобок. Контроль числа подключений важен: если провайдер ограничивает вас одним подключением, а вы пытаетесь пустить двух клиентов — сервер отключит обоих.

Различия конфигурации в CCcam и OScam (протокол cccam)

OScam: эмуляция протокола CCcam через oscam.server

OScam не использует cccam cfg. Вообще. У него собственная структура конфигов: /etc/oscam/oscam.conf (глобальные настройки), /etc/oscam/oscam.server (ридеры — аналог C-line и L-line) и /etc/oscam/oscam.user (пользователи — аналог F-line).

Но OScam умеет работать с серверами по протоколу CCcam — и отдавать карты клиентам CCcam тоже умеет. Это делается через соответствующий протокол в настройках ридера и клиентского порта.

Маппинг C-line в [reader] OScam

Возьмём обычную C-line из CCcam:

C: myserver.example.com 12000 myuser mypass no

В OScam это превращается в блок в файле /etc/oscam/oscam.server:

[reader]
label = myserver
protocol = cccam
device = myserver.example.com,12000
user = myuser
password = mypass
group = 1
cccversion = 2.3.0
cccmaxhops = 2

Параметр cccversion указывает, под какую версию CCcam притворяется OScam. Большинство серверов нормально работают с 2.3.0, но иногда приходится подбирать под конкретный сервер.

F-line из CCcam превращается в запись пользователя в /etc/oscam/oscam.user:

[account]
user = client1
pwd = secretpass
group = 1

И в oscam.conf нужно активировать CCcam-порт для входящих клиентов:

[cccam]
port = 12000

Почему конфиги нельзя копировать напрямую

OScam — это не замена CCcam с теми же конфигами. Это другой демон с другой архитектурой. Просто взять CCcam.cfg и скопировать содержимое в OScam не получится — синтаксис полностью другой.

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

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

Стандартный порт для шаринга — 12000 (директива SERVER LISTEN PORT : 12000). Веб-интерфейс по умолчанию на 16001 (WEBINFO LISTEN PORT : 16001). Порт можно менять, но тогда и клиент, и сервер должны использовать одинаковое значение. И не забудьте пробросить нужный порт на роутере, если ресивер за NAT.

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

Первым делом — открыть конфиг в hex-редакторе или хотя бы в nano и проверить, нет ли табов вместо пробелов. Дальше по списку: регистр логина (сервер воспринимает "User" и "user" как разные аккаунты), закрытый порт на firewall сервера или вашего роутера, несовпадение версии протокола, превышение лимита подключений на стороне сервера. Ещё одна причина — файл сохранён с BOM или с CRLF-переносами строк из Windows-редактора.

Что означают цифры в фигурных скобках после C-line?

Ограничение шаринга по формату { caid:provider_id:downhop }. Например, { 0500:032830:2 } означает: принимать только карты Viaccess (0500) конкретного провайдера (032830), до 2 хопов глубиной. Если скобки пустые { } или отсутствуют — ограничений нет, принимается всё в рамках хопа. Несовпадение CAID здесь — одна из главных причин, когда сервер подключён, но каналы не открываются.

В чём разница между C-line и F-line?

C-line — это вы как клиент, исходящее подключение к чужому серверу. F-line — это вы как сервер, описание клиента, которого вы принимаете у себя. Перепутать их — очень распространённая ошибка: вставил F-line туда, где должна быть C-line, и шаринг не работает, но и ошибок в логе нет.

Можно ли использовать CCcam.cfg в OScam?

Напрямую — нет. OScam использует свои файлы: oscam.server для ридеров и oscam.user для клиентов. C-line из cccam cfg переносится в блок [reader] с параметром protocol = cccam в oscam.server. F-line становится записью [account] в oscam.user. Перенос нужно делать вручную, построчно — автоматических конверторов с надёжным результатом нет.

Как применить изменения в CCcam.cfg без перезагрузки ресивера?

Сохраните файл, затем выполните killall -9 CCcam — демон завершится, и если прописан автозапуск, поднимется заново через несколько секунд уже с новым конфигом. Либо через меню Enigma2: Plugins → управление плагинами → CCcam → Restart. CCcam не умеет перечитывать конфиг на лету по сигналу SIGHUP, как это делают некоторые другие демоны — только полный перезапуск.

Практические советы для стабильного просмотра

Даже самая стабильная линия 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 или внешние мониторы.