CCcam line: формат, настройка и проверка в 2026

Если вы впервые получили данные для подключения к серверу и видите строку вида C: somehost.net 12000 user123 pass456 — это и есть cccam line. Строка описывает всё необходимое для подключения клиента к серверу: где сервер, на каком порту, кто вы. Без правильно прописанной строки ресивер просто не знает, куда стучаться. В этой статье разберём формат по полям, покажем куда это вставлять на разных системах, как проверить что всё работает, и что делать когда не работает.

Что такое CCcam line и из чего она состоит

Определение C: строки в протоколе CCcam

CCcam — это протокол для совместного использования карт условного доступа (smartcard sharing). Сервер держит физическую карту, клиент подключается и получает ECM-ответы для расшифровки каналов. Вся конфигурация клиента сводится к одной строке в файле CCcam.cfg.

C: строка — это директива «Клиент», говорящая CCcam: подключись к этому серверу с этими данными. Без неё CCcam работает только как сервер (F: и N: строки — другое). Именно cccam line определяет, куда ваш ресивер будет ходить за ключами.

Разбор каждого поля: host, port, username, password, deskey

Стандартная строка выглядит так:

C: host port username password [no/yes] [deskey]

По полям:

  • host — доменное имя или IP-адрес сервера. Домен предпочтительнее IP: при переезде сервера IP меняется, домен — нет.
  • port — TCP-порт сервера. Диапазон 12000–25000 — самый распространённый, но встречается что угодно от 1025 до 65535.
  • username — логин, который выдаёт владелец сервера. Регистрозависимый.
  • password — пароль. Тоже регистрозависимый. Один неправильный символ — Login failed.
  • no/yes — опционально. no означает без шифрования (быстрее, но незащищено), yes — с шифрованием через DES-ключ.
  • deskey — 28 шестнадцатеричных символов для шифрования канала. Выглядит так: 0102030405060708091011121314. Нужен только если используется шифрование.

Чем отличается C-line от N-line и F-line

В CCcam.cfg три типа директив подключения. C: — это CCcam-клиент, подключается к CCcam-серверу по проприетарному протоколу CCcam. N: — newcamd-клиент, открытый протокол, требует обязательного DES-ключа из 14 байт, не поддерживает hops и reshare. F: — friend exchange, добавляет другой CCcam-сервер как «друга» для обмена картами (используется на серверной стороне).

Если вам дали строку начинающуюся с N: — это не cccam line, это newcamd. Разные протоколы, разный синтаксис.

Стандартный синтаксис строки в CCcam.cfg

Конкретный пример с разбором:

C: myserver.example.net 15000 johndoe secretpass123 no
  • C: — тип директивы (двоеточие обязательно, пробел после него обязателен)
  • myserver.example.net — хост
  • 15000 — порт
  • johndoe — логин
  • secretpass123 — пароль
  • no — без шифрования

Вся строка — одна линия. Никаких переносов, никаких табуляций между полями — только пробелы.

Куда прописывать CCcam line: путь к конфигу на разных системах

Enigma2 (OpenATV, OpenPLi, VTI): /etc/CCcam.cfg

На большинстве Enigma2-образов конфиг лежит по пути /etc/CCcam.cfg. Подключаетесь по SSH (порт 22), открываете файл через nano:

nano /etc/CCcam.cfg

На некоторых старых образах (особенно VTI) конфиг может быть в /usr/keys/CCcam.cfg. Если /etc/CCcam.cfg пустой или его нет — проверьте второй путь. После правки нажимаете Ctrl+O (сохранить), Ctrl+X (выйти).

Dreambox и Vu+: расположение файла и права доступа

На Dreambox (DM800, DM900 и далее) файл тот же — /etc/CCcam.cfg. На Vu+ (Solo, Duo, Ultimo) аналогично. После правки обязательно выставляем права:

chmod 600 /etc/CCcam.cfg

Файл содержит пароли. Права 600 означают: только root читает и пишет. Остальные пользователи не имеют доступа. Это не паранойя — на некоторых образах работает веб-сервер от другого пользователя.

OScam как клиент CCcam: секция [reader] в oscam.server

OScam умеет подключаться к CCcam-серверу, но синтаксис другой. В файле /etc/oscam/oscam.server создаётся секция:

[reader]
label = my_cccam_server
protocol = cccam
device = myserver.example.net,15000
user = johndoe
password = secretpass123
cccversion = 2.3.0
cccmaxhops = 2

Параметр cccversion важен — старые серверы могут не принять клиента с версией выше 2.2.1. Если сервер не подключается — попробуйте cccversion = 2.2.1.

Android ресиверы и IPTV-боксы с CCcam-эмулятором

На Android-ресиверах (MAG, Formuler, различные Android TV боксы) CCcam обычно реализован через приложение-эмулятор. Путь к конфигу зависит от приложения, но обычно это /sdcard/CCcam.cfg или внутренний путь приложения. Некоторые приложения позволяют вставить C-line прямо в GUI — это предпочтительнее, меньше шансов ошибиться с форматом.

Windows/Linux PC с CCcam binary

На Linux PC бинарник CCcam запускается из той же директории где лежит CCcam.cfg. На Windows через Wine или WSL — аналогично. Путь к конфигу указывается аргументом или берётся из текущей директории. Для теста линии на PC это удобно — не нужен физический ресивер.

Пошаговая настройка C-line в CCcam.cfg

Шаг 1: подключение к ресиверу по SSH/FTP

Открываем PuTTY (Windows) или терминал (Linux/Mac). Адрес ресивера — смотрим в его меню (обычно Menu → Network → IP Info). Порт SSH — 22. Логин по умолчанию на большинстве образов: root, пароль: dreambox (Dreambox), vuplus (Vu+) или пустой (некоторые OpenATV-образы).

Через WinSCP можно работать графически — тот же SFTP протокол, те же SSH-данные. Удобно для просмотра и правки файлов без ручного ввода команд.

Шаг 2: бэкап текущего CCcam.cfg

Перед любой правкой:

cp /etc/CCcam.cfg /etc/CCcam.cfg.bak

Если что-то пойдёт не так — восстановление за секунду: cp /etc/CCcam.cfg.bak /etc/CCcam.cfg. Это занимает 2 секунды и спасает от получасового разбирательства.

Шаг 3: добавление C: строки в конец файла

nano /etc/CCcam.cfg

Переходим в конец файла (Ctrl+End в nano), добавляем строку. Строка должна начинаться с C: (заглавная С, двоеточие, пробел). Вставляем данные точно как получили от сервера — без изменений регистра, без лишних пробелов.

Шаг 4: проверка синтаксиса (одна строка, без переносов)

CCcam не терпит ошибок форматирования. Проверьте:

  • Вся строка в одну линию — никаких Enter внутри
  • Поля разделены одним пробелом (не Tab, не двойным пробелом)
  • После пароля нет лишних символов (пробелов, кавычек)
  • Нет непечатаемых символов — копипаст из некоторых мессенджеров вставляет невидимые символы

Если копируете из мессенджера — лучше сначала вставить в Notepad, проверить, потом уже в конфиг.

Шаг 5: рестарт CCcam-сервиса

На Enigma2:

/etc/init.d/softcam restart

Или через меню ресивера: синяя кнопка → Softcam → Restart. На некоторых образах работает init 4 && init 3 — это перезапуск всего стека softcam. Занимает 15-30 секунд, после чего CCcam начинает подключение к серверу.

Шаг 6: проверка статуса через веб-интерфейс :16001

В браузере открываем http://IP_ресивера:16001. Если страница не открывается — в CCcam.cfg должны быть строки:

WEBINFO LISTEN PORT : 16001
ALLOW WEBINFO : yes

Если их нет — добавляем, перезапускаем. После этого по порту 16001 будет доступна веб-панель CCcam со статусом всех подключений, списком карт и статистикой.

Проверка работы CCcam line и чтение лога

Веб-интерфейс CCcam на порту 16001: что смотреть

Вкладка Servers — главная. Для каждой C-line показывает статус: CONNECTED (всё хорошо) или DISCONNECTED (нет связи). Рядом — количество карт (cards) и hops.

Вкладка Shares — список доступных карт. Видно CAID (идентификатор системы шифрования: 0x0500 — Viaccess, 0x1702 — Nagravision, 0x0B00 — Conax и т.д.), provider ID, hop. Если канал не открывается — смотрите есть ли нужный CAID в Shares.

Вкладка Providers — показывает пакеты по provider ID. Помогает понять, какие именно каналы доступны через сервер.

Анализ /var/log/CCcam.log через tail -f

В SSH запускаем:

tail -f /var/log/CCcam.log

Переключаем канал на ресивере и смотрим что происходит. Здоровый лог выглядит примерно так:

ecm for caid 0x0500 prov 0x032830 by server myserver:15000 (hop 1) took 347 ms

Это нормально. ECM пришёл за 347 мс с hop 1, канал должен открыться.

Плохие записи: no card found for caid 0x1702, ecm timeout, login failed, connection rejected. Каждая из них — конкретная причина для разбора.

Команды CCcam: --debug, статистика econs/ecms

CCcam binary поддерживает запуск с флагом --debug — выводит расширенный лог прямо в консоль. Полезно при первичной настройке. В веб-интерфейсе в разделе Statistics можно смотреть econs (успешные ECM-запросы) и ecms (всего запросов) — соотношение показывает процент успеха раскрытия каналов.

Hops, reshare и почему важен hop 1

Hop — это количество «прыжков» от физической карты до вас. Hop 1: карта воткнута напрямую в сервер, к которому вы подключены. Hop 2: карта на другом сервере, а ваш сервер получает её через reshare.

Hop 2 — это не катастрофа, но это +50-200 мс к времени ECM и дополнительная точка отказа. Если тот промежуточный сервер ляжет — вы потеряете карту даже если ваш сервер работает. Для нормального просмотра HD-каналов hop 1 обязателен. Reshare 0 в веб-интерфейсе означает что вам запрещено передавать полученные карты дальше — это стандартная политика серверов.

Время ECM (Entitlement Control Message): норма 200-800 мс

ECM — это запрос Control Word (ключа расшифровки). Канал обновляет CW каждые 7-10 секунд. Если CCcam не успевает получить новый CW до следующего обновления — видеопоток замерзает на 1-2 секунды, потом восстанавливается. Это классический freeze.

Нормальное время ECM: 200-800 мс. Если стабильно выше 1000 мс — сервер перегружен или пинг до него слишком высокий. Больше 2000 мс — фризы неизбежны.

Типичные ошибки в CCcam line и как их исправить

Ошибка 'login failed': неверный username/password

Самая частая ошибка. Причина в 99% случаев — опечатка при вводе или потеря регистра при копировании. Проверяйте посимвольно. Особенно коварны: маленькая l и цифра 1, буква O и ноль 0, точки и запятые в пароле.

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

Ошибка 'connection refused': закрытый порт или firewall

Сервер физически не принимает соединение на этот порт. Проверяем из SSH ресивера:

nc -zv myserver.example.net 15000

Или с любого Linux: telnet myserver.example.net 15000. Если Connection refused — либо неверный порт, либо сервер не слушает, либо firewall блокирует. Если Connected — порт открыт, значит дело в логине/пароле.

Отдельная история — двойной NAT у некоторых провайдеров. Если ваш роутер получает серый IP (10.x.x.x или 192.168.x.x) — исходящие соединения на нестандартные порты выше 10000 иногда блокируются. В этом случае попросите сервер переключить вас на порт 80 или 443 — они обычно проходят даже через жёсткие NAT.

Ошибка 'no card found': карты есть но не работают на ваших каналах

Сервер подключён (статус CONNECTED, видны карты в Shares), но конкретный канал не открывается. Причина: CAID канала не совпадает с CAID карты на сервере. Открываем в браузере :16001 → Shares, смотрим список CAID. Потом смотрим CAID нужного канала — обычно видно в EPG или через команду cat /proc/bus/pci/devices на ресивере.

Также важен provider ID. Один и тот же CAID (например 0x0500 Viaccess) используется десятками разных операторов — у каждого свой provider ID. Если сервер держит карту одного пакета, а вы смотрите другой — ничего не откроется даже при совпадении CAID.

Ошибка 'ecm timeout': медленный сервер или сетевая задержка

Пинг до сервера больше 150 мс — уже риск фризов. Проверяем: ping myserver.example.net. Если больше 200 мс стабильно — сервер географически далеко или перегружен. Другой вариант: сервер принимает слишком много клиентов на одну карту и не успевает обрабатывать очередь ECM-запросов.

Freeze картинки каждые 10 секунд: проблема с EMM/ECM ключами

Freeze с интервалом ровно 7-10 секунд — это классика. Control Word меняется каждые ~10 секунд. Если сервер не успевает прислать новый CW до обновления — картинка замерзает ровно на момент смены. Это не проблема линии как таковой — это проблема времени отклика. Смотрите ECM timing в логе: если там >1500 мс стабильно — нужен другой сервер.

Конфликт с другими C-линиями в файле

Мало кто об этом говорит, но порядок C-линий в CCcam.cfg определяет приоритет. Первая строка — главная. Если первая строка ведёт на недоступный сервер (timeout при подключении) — CCcam будет долго ждать, прежде чем попробует вторую. Это замедляет переключение каналов на несколько секунд.

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

Безопасность и оптимизация работы с C-линиями

Права на CCcam.cfg: 600, владелец root

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

chmod 600 /etc/CCcam.cfg
chown root:root /etc/CCcam.cfg

Права 600: только root читает и записывает. Проверить: ls -la /etc/CCcam.cfg должно показать -rw-------.

Использование deskey для шифрования трафика CCcam

Deskey — это 28 шестнадцатеричных символов (14 байт), которые используются для шифрования CCcam-трафика между клиентом и сервером. Без него всё идёт в открытом виде. На домашнем роутере за NAT — некритично. Если CCcam-трафик идёт через публичный интернет — deskey стоит использовать.

Синтаксис с deskey:

C: myserver.example.net 15000 user pass yes 01020304050607080910111213

Значение deskey должно совпадать на клиенте и сервере — иначе handshake не пройдёт.

Сколько C-линий держать одновременно: реальный лимит

Технически CCcam поддерживает десятки C-линий в одном файле. Практически — больше 4-5 создают проблемы. Каждая линия — это отдельное TCP-соединение, которое CCcam держит постоянно. При переключении канала ресивер опрашивает все доступные серверы параллельно, что создаёт конкуренцию за ECM-ответ. Это замедляет zapping (переключение каналов) и увеличивает среднее время ECM.

Оптимум: 2-3 надёжных линии. Одна основная, одна резервная с теми же пакетами. Третья — опционально, для других пакетов.

Параметр SERVER LISTEN PORT и почему его лучше менять

Стандартный порт CCcam — 12000. Его знают все автоматические сканеры. Если вы поднимаете свой CCcam-сервер (не клиент) — смените порт на нестандартный, например 23456 или что-то в диапазоне 30000-50000. В CCcam.cfg сервера:

SERVER LISTEN PORT : 23456

Это не защита от целенаправленной атаки, но отсекает 90% автоматического сканирования.

Логирование: что отключить чтобы не забивать flash-память

На ресиверах с flash-памятью 32-64 МБ (а это большинство Enigma2-боксов) CCcam.log может забить всю свободную память за 24-48 часов при включённом debug-логировании. В CCcam.cfg:

DEBUG : no
SHOW TIMING : no
LOG WARNINGS : yes

Оставьте только LOG WARNINGS : yes для критических сообщений. Debug включайте только при активной отладке и сразу отключайте после. Проверить размер лога: du -sh /var/log/CCcam.log.

Как выглядит правильная CCcam line?

Формат: C: host port username password, всё в одну строку через пробел. Пример структуры: C: server.example.net 12000 myuser mypass. Опциональные параметры в конце: no (без шифрования) или yes 0102030405060708091011121314 (с DES-шифрованием). Двоеточие и пробел после C — обязательны. Никаких кавычек, никаких переносов строки.

Куда вставлять C-line на Enigma2 ресивере?

В файл /etc/CCcam.cfg (или /usr/keys/CCcam.cfg на некоторых образах). Подключитесь по SSH, откройте файл через nano /etc/CCcam.cfg, добавьте строку в конец, сохраните (Ctrl+O, Ctrl+X). После добавления — рестарт CCcam командой /etc/init.d/softcam restart или через меню Blue → Softcam.

Что означает hop 1 и hop 2 в CCcam line?

Hop 1 означает что карта подключена напрямую к серверу, к которому вы подключились. Hop 2 — карта пересдаётся через reshare от другого клиента. Hop 1 быстрее (меньше задержка ECM) и стабильнее (нет дополнительной точки отказа). Для платных HD-каналов нужен только hop 1 — иначе фризы при любой нестабильности промежуточного соединения.

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

Статус CONNECTED в веб-интерфейсе (:16001) означает только что соединение установлено — не что карты подходят под ваши каналы. Проверьте совпадение CAID: откройте :16001 → Shares, посмотрите список CAID (например 0x0500 — Viaccess, 0x1802 — Nagra). Если CAID вашего канала нет в списке — карта просто не подходит под этот канал. Также проверьте provider ID — он должен совпадать с провайдером пакета.

Сколько CCcam линий можно прописать в один CCcam.cfg?

Технически — десятки. Практически оптимум 3-5. Больше создаёт конфликт приоритетов: при переключении канала ресивер опрашивает все серверы параллельно, что замедляет zapping и увеличивает время ECM. Порядок линий в файле задаёт приоритет — верхняя строка главная, она проверяется первой.

Как проверить что C-line рабочая без подключения к ресиверу?

Минимальная проверка: telnet host port или nc -zv host port — должно быть соединение, не Connection refused. Это проверяет только что порт открыт. Для полной проверки — запустите CCcam-клиент на Linux или Windows PC с той же C-line и посмотрите лог. Если видите CONNECTED и карты в Shares — линия рабочая.

Чем CCcam line отличается от newcamd (N-line)?

CCcam (C:) — проприетарный протокол с поддержкой hops и reshare. Позволяет строить распределённые сети карт. Newcamd (N:) — открытый протокол, требует обязательного DES-ключа из 14 байт, hops не поддерживает. Newcamd обычно немного быстрее на ECM и проще в реализации. CCcam удобнее для серверных конфигураций с множеством карт. Если вам дали N-строку — это отдельный синтаксис, CCcam её обработает, но нужен DES-ключ.

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

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