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

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

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

При старте демон ищет конфиг по нескольким путям. Порядок приоритета фиксированный: сначала /usr/keys/CCcam.cfg, затем /var/etc/CCcam.cfg, потом /etc/CCcam.cfg. Это частая ловушка: вы правите /etc/CCcam.cfg, а у вас на ресивере лежит устаревший файл в /usr/keys/ — и все правки молча игнорируются. Проверьте все три пути перед тем, как что-то менять.

После каждой правки нужен рестарт демона. На Enigma2-системах это обычно /etc/init.d/CCcam restart или killall -HUP CCcam. Просто сохранить файл недостаточно — конфиг читается только при запуске.

Расположение файла на разных образах (Enigma2, OpenATV, Linux)

На OpenATV и большинстве Enigma2-образов рабочий путь — /etc/CCcam.cfg. На некоторых старых имиджах для Dreambox файл ждут в /var/etc/CCcam.cfg. На чистом Linux-сервере (Debian, Ubuntu) демон чаще всего смотрит в /etc/CCcam.cfg, но зависит от того, как собирали пакет. Проверьте строку запуска демона в /etc/init.d/CCcam или systemd-юните — там обычно явно указан путь к конфигу через ключ -c.

Права доступа и кодировка файла

Файл должен быть читаем демоном. Стандартные права — chmod 644 для самого файла и 755 для директории. Если CCcam запускается от root, это некритично, но на настроенных системах с отдельным пользователем несоответствие прав убьёт старт без каких-либо внятных ошибок.

Кодировка — строго UTF-8 без BOM. Переводы строк — только LF (Unix-стиль), не CRLF. Это одна из самых частых причин, почему конфиг «не применяется» после правки в Notepad или любом другом Windows-редакторе. Файл выглядит нормально глазами, но внутри CRLF — и CCcam не может разобрать строки. Используйте Notepad++ с явно выставленным «Unix (LF)», VS Code или dos2unix CCcam.cfg прямо на ресивере.

BOM (метка порядка байт в начале файла) — ещё один тихий убийца. UTF-8 с BOM выглядит как обычный текст, но первые три байта файла будут EF BB BF, и парсер конфига не распознает первую строку.

Чем CCcam.cfg отличается от CCcam.channelinfo и CCcam.providers

CCcam.channelinfo содержит маппинг SID→название канала — это чисто косметика для веб-интерфейса, на работу шары не влияет. CCcam.providers задаёт описания провайдеров по CAID. Оба файла опциональны. Без них CCcam работает нормально, просто в WebInfo каналы будут показаны без имён.

Синтаксис строк CCcam.cfg: C, N, F, L

Каждая строка в файле начинается с типа (буква и двоеточие), за которым следуют параметры через пробел. Пустые строки и строки с # в начале — комментарии, игнорируются. Лишний пробел в начале строки, табуляция вместо пробела или пробел перед двоеточием — и строка не распознаётся. Парсер CCcam не прощает отступлений от формата.

Клиентская строка C: host port username password

Это самая распространённая строка в cccam cfg — подключение к удалённому серверу карт.

C: server.example.com 12000 mylogin mypassword yes no { 0:0:2 }

Разберём каждое поле:

  • server.example.com — hostname или IP сервера
  • 12000 — порт (стандартный для CCcam, но может быть любым)
  • mylogin — имя пользователя
  • mypassword — пароль
  • yes (первый булев) — wantemus: запрашивать ли EMU-карты с сервера. Почти всегда no на клиентской стороне — если поставить yes, сервер может прислать эмулированные карты, что в большинстве случаев бесполезно
  • no (второй булев) — раздача карты обратно / reshare: разрешать ли пересылать карты этого сервера вашим пирам. yes открывает реэкспорт, no блокирует. Если не уверены — ставьте no
  • { 0:0:2 } — необязательный SID/CAID-фильтр в фигурных скобках. В данном примере ограничивает подключение только картами с hop-уровнем не выше 2

Два дублирующихся C-строки с одинаковым host:port — прямой путь к конфликту. CCcam попытается открыть два соединения на один сервер с одними учётными данными, сервер скорее всего дропнет одно из них, и вы будете видеть постоянные реконнекты.

Строка N (Newcamd) и параметры DES-ключа

Строка N используется для подключения по протоколу Newcamd — его применяют некоторые серверы OScam и старые Newcs-серверы.

N: server.example.com 15000 mylogin mypassword 01 02 03 04 05 06 07 08 09 10 11 12 13 14

После пароля идёт 14-байтовый DES-ключ в hex — по два символа на байт через пробел. Ключ должен точно совпадать с тем, что настроен на сервере. Стандартный тестовый ключ — все 01 или 00, но на production-серверах он всегда уникальный. Если ключ не совпадёт — авторизация провалится без внятного объяснения в логе.

Локальные строки F и раздача карты пирам

Строка F создаёт локальный аккаунт — то есть разрешает конкретному пользователю подключиться к вашему CCcam-серверу.

F: peerlogin peerpassword yes { 0:0:2 }

Первые два поля — логин и пароль пира. Булево значение — разрешить ли пиру пересдавать вашу карту дальше. В фигурных скобках — hop-лимит и CAID-фильтр. Строк F может быть несколько — по одной на каждого пира.

Строка L — локальная карта, вставленная физически или через эмулятор. Формат зависит от версии CCcam, в большинстве случаев она генерируется автоматически при обнаружении карты и не правится вручную.

Дополнительные флаги: no { } и wantemus

Фигурные скобки в конце строки C или F — не обязательный блок ограничений. Туда можно вписать CAID:providerid, hop-уровень, список SID. Пример с несколькими фильтрами:

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

Здесь запрашиваются только карты с CAID 0500 (Viacess), с максимальным hop 1. Если скобки пустые { } или вообще отсутствуют — ограничений нет, берётся всё, что отдаёт сервер.

Wantemus — специфический флаг для запроса EMU-карт (программных эмуляторов). В реальных клиентских конфигах его почти всегда ставят в no. Включение yes не сломает соединение, но создаёт лишний трафик запросов на серверной стороне.

Серверные параметры и порты

Если вы не просто клиент, но и раздаёте карту пирам, в конфиге нужны серверные директивы. Они пишутся в том же файле CCcam.cfg, каждая на отдельной строке.

SERVER LISTEN PORT и выбор порта 12000+

SERVER LISTEN PORT : 12000

Порт 12000 — стандарт де-факто для CCcam. Можно поставить любой в диапазоне 1024–65535, но именно 12000 ждут большинство клиентов по умолчанию. На сервере нужно открыть этот порт в файрволе:

iptables -A INPUT -p tcp --dport 12000 -j ACCEPT

Если вы за NAT или провайдер выдаёт серый IP (CGNAT), внешние пиры не смогут достучаться без проброса порта на роутере. CGNAT вообще отдельная боль — там проброс не поможет, нужен VPN или туннель.

ALLOW TO / DENY TO и контроль доступа по IP

ALLOW TO : 192.168.1.0/24
DENY TO : 10.0.0.5

Директива ALLOW TO задаёт белый список IP или подсетей, которым разрешено подключаться. DENY TO — явный бан. Если ALLOW TO не задан — принимаются все. Если задан хотя бы один ALLOW TO — все остальные IP автоматически блокируются. Порядок имеет значение: сначала DENY, потом ALLOW.

Это первое место, куда надо смотреть, если пир жалуется на CONNECTING при правильном логине и пароле — его IP может просто не попадать под ALLOW TO.

Параметры reshare, hop и SID-фильтры

RESHARE : 2
SHARE LIMIT : 1

Глобальный RESHARE задаёт, насколько глубоко ваши пиры могут пересдавать вашу карту дальше. Значение 1 означает, что пир может поделиться с ещё одним уровнем — и всё. При значении 0 реэкспорт запрещён полностью.

Риск зацикливания реален: если два сервера взаимно раздают друг другу карты с reshare > 0 без ограничения hop, карта начнёт ходить по кругу. Hop-счётчик каждый раз увеличивается, и в итоге CCcam будет тратить ресурсы на обработку бесполезных петель. Решение — ограничивать hop в фигурных скобках строк F и не ставить глобальный RESHARE выше 2.

WEBINFO LISTEN PORT и мониторинг через браузер

WEBINFO LISTEN PORT : 16001
WEBINFO USERNAME : admin
WEBINFO PASSWORD : securepassword

WebInfo — встроенный веб-интерфейс CCcam. После запуска демона открываете браузер на http://<IP_ресивера>:16001 и видите статус всех подключений, список карт, ECM-время, счётчики реконнектов. Это самый быстрый способ диагностировать проблему без копания в логах.

Порт 16001 тоже нужно открыть в файрволе, если хотите мониторить с другой машины. Оставлять WebInfo без пароля на публичном IP — плохая идея.

Проверка работы и типовые ошибки конфига

Первый инструмент диагностики — лог CCcam. На Enigma2-системах он обычно пишется в /tmp/cccam.log или /var/log/cccam.log. Смотреть в реальном времени:

tail -f /tmp/cccam.log

Второй инструмент — WebInfo на порту 16001. Там видно состояние каждой C-строки: CONNECTED (работает), CONNECTING (пытается подключиться), OFFLINE (недоступен).

Чтение лога CCcam и статуса соединения

В логе при нормальном старте вы увидите что-то вроде:

[CCcam] connected to server.example.com:12000 as mylogin
[CCcam] got card: CAID 0500, provider 000000, hop 1

Если подключение не проходит — строка будет повторяться с connecting to... через равные интервалы (обычно 30–60 секунд). Это сигнал разбираться дальше.

Ошибки connecting / no card / ECM timeout

Постоянный CONNECTING — закрытый порт на сервере, неверный IP/hostname, блокировка по ALLOW TO, или просто сервер лежит. Проверьте доступность порта с ресивера:

telnet server.example.com 12000

Если telnet не соединяется — это сетевая проблема, не проблема конфига CCcam.

no card в логе или пустой список карт в WebInfo при статусе CONNECTED означает, что авторизация прошла, но сервер не отдал ни одной карты. Либо ваш аккаунт не имеет доступа к картам, либо CAID-фильтр в вашей C-строке отрезает то, что сервер отдаёт.

ECM timeout — запрос на декодирование ушёл, но ответ не пришёл вовремя. Может означать высокую нагрузку на сервере, большой hop (карта проходит через 5+ серверов), или сетевую задержку. ECM-время выше 500 мс — уже плохо, выше 1000 мс — карта практически неюзабельна.

Лишний пробел в строке — классика. Строка C: server.example.com 12000 user pass с пробелом в начале не будет обработана. То же с табуляцией вместо пробела между параметрами.

Конфликт OScam и CCcam на одном порту

Запускать CCcam и OScam на одном устройстве — нормальная практика. Но каждый демон должен слушать свой порт. Типичная связка: CCcam на порту 12000, OScam на 12001 (или любом другом).

OScam может подключаться к CCcam через специальный тип ридера cccam в файле /etc/oscam/oscam.server:

[reader]
label = cccam_local
protocol = cccam
device = localhost,12000
user = mylogin
password = mypassword
cccversion = 2.3.0
cccmaxhops = 2

Если два процесса пытаются занять порт 12000 — второй просто не запустится. Проверить, кто занял порт:

ss -tlnp | grep 12000

Или через netstat -tlnp | grep 12000 на старых системах.

Как выбрать источник шары без рисков

Когда cccam cfg настроен правильно, качество соединения целиком зависит от источника карт. Рекламные обещания здесь ничего не значат — важны только измеримые метрики.

Критерии стабильного источника по логам

ECM-время — главная метрика. В WebInfo на порту 16001 видно среднее время ответа по каждой карте. Хороший сервер даёт стабильные 150–300 мс. Если видите 800+ мс с регулярными скачками — сервер либо перегружен, либо карта идёт через слишком длинную цепочку.

Счётчик реконнектов в WebInfo — второй показатель. Если за сутки соединение пересоздавалось десятки раз, это нестабильный источник. Хороший uptime — это когда реконнектов за неделю можно пересчитать по пальцам.

Hop-уровень карты виден в WebInfo и логе. Hop 1–2 — карта физически на соседнем сервере. Hop 5+ — карта прошла через несколько промежуточных узлов, каждый добавляет задержку и точку отказа.

Признаки перепроданного или зацикленного сервера

Зациклённый сервер — это когда в WebInfo вы видите одну и ту же карту с hop-уровнем, который меняется при каждом реконнекте. Или когда hop неожиданно высокий (7–10) для, казалось бы, прямого подключения. Это значит, что карта где-то в сети ходит по кругу.

Перепроданный сервер видно по периодическим провалам ECM-времени в часы пик. В 20:00–23:00 время ответа резко растёт, иногда в 3–5 раз относительно ночного показателя. Это прямой признак того, что мощностей не хватает на всех клиентов одновременно.

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

Юридические и технические ограничения

Кардшаринг предполагает передачу ключей условного доступа — это нарушает условия подписки большинства платных вещателей и в ряде стран прямо запрещено законом. Технически ресивер и сервер могут работать нормально, но правовые риски несёт пользователь. Это не пустая формальность — провайдеры активно борются с шарингом, меняя ключи и применяя anti-sharing алгоритмы.

С технической стороны: не забывайте, что при использовании чужого сервера вы передаёте логин, пароль и трафик ECM через чужую инфраструктуру. Минимальный ответственный подход — не использовать одинаковые пароли в разных местах и держать CCcam-трафик изолированным от основной сети.

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

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

На большинстве Enigma2-образов (OpenATV, OpenPLi, DreamElite) рабочий путь — /etc/CCcam.cfg. На некоторых сборках для Dreambox файл ищется в /var/etc/CCcam.cfg. Самый приоритетный путь — /usr/keys/CCcam.cfg: если там есть файл, демон возьмёт именно его и проигнорирует остальные. После любой правки нужен рестарт: /etc/init.d/CCcam restart.

Что означают yes/no в конце клиентской строки C:?

Первое значение — wantemus: разрешить ли запрашивать EMU-карты с сервера. Почти всегда no. Второе — разрешение на реэкспорт: может ли CCcam отдавать эту карту вашим пирам обратно. no — карта используется только локально, yes — пиры её тоже получат. Если поставить второе поле в yes на обоих концах соединения, возникает риск зацикливания.

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

Порт 12000 — стандартный для шаринга CCcam-протокола. WebInfo (веб-интерфейс) по умолчанию работает на порту 16001. Оба порта нужно открывать в iptables и пробрасывать на роутере, если ресивер за NAT: iptables -A INPUT -p tcp --dport 12000 -j ACCEPT. При использовании CGNAT от провайдера внешний доступ без VPN-туннеля невозможен.

Почему соединение зависает в статусе CONNECTING?

Причин несколько, и они проверяются по очереди: закрытый порт на стороне сервера (проверьте telnet), неверный логин или пароль, блокировка вашего IP директивой ALLOW TO на сервере, несовпадение протокола (сервер ждёт Newcamd, а вы шлёте CCcam), и наконец — CRLF в файле конфига после редактирования в Windows. Последнее встречается чаще, чем кажется.

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

Да, это нормальная конфигурация. Главное — разные порты: CCcam на 12000, OScam на 12001 (или другом). OScam подключается к CCcam через ридер типа cccam в файле /etc/oscam/oscam.server. Два демона на одном порту — невозможно: второй просто не запустится, а карты не будут отдаваться.

Что такое reshare и hop в фигурных скобках?

Reshare — количество раз, которое ваши пиры могут пересдать карту дальше по цепочке. Hop — текущая «глубина» карты в сети: карта на физическом ридере имеет hop 1, каждый следующий сервер в цепочке прибавляет 1. Высокий hop увеличивает задержку. Если два сервера взаимно раздают друг другу карты с неограниченным reshare — возникает петля, и hop растёт бесконечно до тех пор, пока 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 или внешние мониторы.