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