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-ключ.

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.