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

Получили строку вида C: myserver.ddns.net 12000 user123 pass456 и теперь смотрите на неё, не зная что делать — это нормально. Формат ccccam line выглядит просто, но дьявол в деталях: один лишний пробел, не тот регистр или CRLF вместо LF — и демон молча игнорирует строку без единого сообщения об ошибке. Ниже — всё что нужно знать для настройки с нуля.

Что такое CCcam line и зачем она нужна

Определение CCcam line простыми словами

CCcam line — это одна строка текста, которая говорит CCcam-клиенту на вашем ресивере или сервере: вот куда подключаться, вот логин и пароль. Всё. Никакого XML, никаких UI-форм — просто строка в текстовом конфиге.

Протокол CCcam работает по TCP, клиент подключается к серверу (чаще всего на портах 12000–19000), получает от него control words — это короткие ключи, которые расшифровывают DVB-поток в реальном времени. Без свежего control word картинка рассыпается в помехи каждые 10 секунд.

Сама по себе строка — просто адрес входа. Реальная работа происходит уже после соединения, когда сервер начинает отдавать CW для запрошенного CAID.

Роль клиента и сервера в протоколе CCcam

Сервер держит у себя физическую смарт-карту (или несколько) в картридере. Клиент — это ваш ресивер или софт на Linux-машине — подключается к серверу и запрашивает CW для конкретного канала. Сервер тянет CW с карты и отдаёт клиенту.

Строка C: в конфиге — это описание одного такого соединения "клиент → сервер". Можно добавить несколько строк C: для разных серверов или разных пакетов.

Чем CCcam line отличается от NewCamd и OScam строк

NewCamd (строка N:) — более старый протокол. Он тоже клиент-серверный, но требует указания DES-ключа (14 байт в hex) и конкретного CAID. CCcam проще в настройке: никакого ключа, никакого CAID заранее указывать не нужно — сервер сам сообщает что умеет.

OScam использует другой подход: там нет единой строки, вместо этого создаётся секция [reader] в файле /etc/oscam/oscam.server. Но OScam умеет подключаться к CCcam-серверу через тип cccam — то есть вашу C: line можно конвертировать в OScam reader без смены сервера.

Hop-система — ещё одно отличие CCcam. Сервер может "расшарить" карту другу, тот — следующему, и так образуется цепочка. Каждое звено добавляет единицу к hop-счётчику. Hop 1 = прямая карта на сервере. Hop 3+ = карта прошла через двух посредников.

Формат строки C: line — разбор по полям

Базовый синтаксис: C: host port username password

Точный синтаксис такой:

C: <hostname или IP> <port> <username> <password> [no/yes] [no/yes]

Два необязательных параметра в конце — это no-emm и no-crypt, появились в разных версиях CCcam. В большинстве случаев их не указывают вообще.

Критически важно: строка начинается с заглавной C, потом двоеточие, потом один пробел. Не два пробела, не таб, не строчная c. Поля между собой тоже разделяются одним пробелом. В конце строки — перевод строки Unix (LF, \n), а не Windows-стиль (CRLF, \r\n). Если редактировали файл в Notepad — скорее всего уже испортили.

Дополнительные параметры: no-emm, no-crypt, hop, share

Шестой параметр (no-emm): no = принимать EMM с сервера (по умолчанию), yes = игнорировать. EMM — это сервисные сообщения оператора, нужны для обновления прав. Если сервер отдаёт их — лучше принимать.

Седьмой параметр (no-crypt): no = шифровать трафик CCcam, yes = гнать в открытую. Этот параметр присутствовал только в очень старых версиях до 2.1.1, сейчас его смысл потерян.

Параметры MAXIMUMHOPS и RESHARE задаются отдельно в CCcam.cfg, не в самой строке C:. Часто путают — это разные вещи.

Примеры реальных корректных строк

С DDNS-хостом (самый частый вариант):

C: myserver.no-ip.org 12000 clientuser secretpass123

С прямым IPv4-адресом:

C: 185.24.100.55 17000 john doe2026

С IPv6-адресом — адрес берётся в квадратные скобки:

C: [2001:db8::1] 13000 user6 pass6

С явным no-emm (не принимать EMM):

C: server.example.com 19000 testuser testpass yes

Типичные ошибки в формате (лишние пробелы, кавычки, табы)

Вот что убивает строку чаще всего:

  • Пароль в кавычках: C: host 12000 user "my password" — CCcam не обрабатывает кавычки, они уйдут в пароль как есть и login failed гарантирован
  • Двойной пробел где-то между полями — демон разбирает строку по пробелам и сдвинет все поля
  • Таб вместо пробела — визуально не отличить, но CCcam его не примет
  • Пробел в конце строки после пароля — иногда вызывает проблемы в старых версиях
  • Строчная c: вместо заглавной C: — просто не распознаётся
  • BOM в начале файла (UTF-8 with BOM из Notepad) — первая строка файла будет содержать невидимые байты EF BB BF

Самый быстрый способ проверить файл: cat -A /etc/CCcam.cfg | head -5. Знаки ^I — это табы, ^M в конце строки — это CRLF.

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

Enigma2 ресиверы (Vu+, Dreambox, Octagon): /etc/CCcam.cfg

На всех Enigma2-боксах — Vu+ Duo2, Vu+ Zero 4K, Dreambox DM900, Octagon SF8008 — путь один: /etc/CCcam.cfg. Строки C: вписываются туда напрямую.

Редактировать можно через SSH (nano /etc/CCcam.cfg) или через файловый менеджер в веб-интерфейсе OpenWebif. После изменения:

init.d/softcam restart

Или через меню Enigma2: Setup → System → Softcam Setup → Restart Softcam. На некоторых прошивках работает только второй вариант.

Linux-сервер (Debian/Ubuntu): /var/etc/CCcam.cfg и /usr/bin/CCcam

На чистом Linux путь зависит от того, как установлен CCcam. Обычно конфиг лежит рядом с бинарником или в /var/etc/CCcam.cfg. Проверить где конкретно демон ищет файл:

ps aux | grep -i cccam

Некоторые сборки запускаются с явным путём: /usr/bin/CCcam -c /etc/CCcam.cfg. Другие просто ищут файл в текущей директории или /etc/.

После изменения конфига на Linux перезапускаем так:

killall -9 CCcam && sleep 1 && /usr/bin/CCcam -d

Флаг -d запускает демон в фоне. Без него процесс займёт терминал.

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

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

Android TV боксы и эмуляторы

На Android ситуация хуже. Нативного CCcam под Android нет. Обычно используют два варианта: запускают CCcam внутри Linux в chroot-окружении (Termux + proot-distro) или используют приложения типа IPTV Smarters / TiviMate с внешним OScam на том же Raspberry Pi в локалке.

Запускать CCcam напрямую в Termux без root не выйдет — биндинг на порты ниже 1024 заблокирован, да и архитектура arm64 требует подходящего бинарника. Если очень надо — проще поднять OScam на отдельном Linux-хосте и подключаться к нему по NEWCAMD или CAMD35.

Перезапуск демона после изменения конфига

CCcam не умеет перечитывать конфиг на лету — нужен полный рестарт процесса. Горячий reload как в nginx отсутствует. Добавили новую C: line — перезапускаете демон, ждёте 5-10 секунд пока он поднимет соединения, потом проверяете веб-интерфейс.

Проверка работоспособности CCcam line

Веб-интерфейс CCcam на порту 16001 (или кастомном)

CCcam поднимает встроенный HTTP-сервер на порту 16001 (по умолчанию, можно изменить параметром WEBINFO PORT в конфиге). Открываете в браузере http://<ip_ресивера>:16001.

Там два раздела которые нужны сразу:

  • Servers — список ваших C: линий и их статус: Connected, Disconnected, Login Failed
  • Entitlements — что конкретно отдаёт каждая линия: список CAID, provider ID, hop-уровень

Если в Servers видите "Connected" с hop=1 и в Entitlements есть нужный CAID — линия живая. Если "Login Failed" — проблема в креденшалах или whitelist на стороне сервера.

Чтение CCcam.log: ключевые сообщения connected/login failed/no card

Лог по умолчанию пишется в /tmp/CCcam.log на Enigma2 или в /var/log/CCcam.log на Linux-сборках. Смотрим в реальном времени:

tail -f /tmp/CCcam.log

Что искать в логе:

2026/01/15 19:42:11  connected to server myserver.no-ip.org:12000
2026/01/15 19:42:12  login OK on server myserver.no-ip.org:12000
2026/01/15 19:42:12  server myserver.no-ip.org:12000 shares 847 cards

Это идеальная картина. Вот что значат проблемные строки:

login failed on server myserver.no-ip.org:12000     → неверный user/pass или ваш IP не добавлен
can not connect to server myserver.no-ip.org:12000  → порт закрыт или хост недоступен
no card found for SID 1234 on CAID 0500            → карты с этим CAID у сервера нет

Команда telnet host port для проверки доступности

Прежде чем копаться в логах — проверьте что порт вообще открыт:

telnet myserver.no-ip.org 12000

Если видите пустой экран или мусорные символы — соединение установлено, порт открыт. Если "Connection refused" — сервер не слушает этот порт или файрвол блокирует. Если таймаут — маршрутизация не доходит.

На Enigma2 telnet может быть не установлен. Альтернатива: nc -zv myserver.no-ip.org 12000 — netcat есть в базовой установке большинства прошивок.

Тест расшифровки на конкретном канале

Линия подключилась, Entitlements показывают нужный CAID — переключитесь на канал этого провайдера и засеките время открытия. Норма для hop 1: 0.3–1.0 секунды. Hop 2: до 1.5–2 секунд. Hop 3+: 2–4 секунды, иногда фризы при переключении.

На Enigma2 можно смотреть статистику в реальном времени через плагин CCcamInfo или прямо в веб-интерфейсе во вкладке "ECM" — там виден CAID, SID и время отклика последнего запроса в миллисекундах.

Почему CCcam line не работает: диагностика по симптомам

Симптом Причина Что проверить
login failed Неверный user/pass или ваш IP не в F-line сервера Скопировать строку заново, запросить у провайдера добавление IP
connection refused Порт закрыт, сервер down, файрвол telnet host port, ping, проверить у провайдера статус
connected, но no card Линия активна, но нужного CAID нет Сверить CAID канала с Entitlements в веб-интерфейсе
Открывается и фризит Hop 3+, перегруженный сервер или MTU-проблема Проверить hop в Entitlements, сменить линию
Работает 5 минут, потом обрыв Keepalive не доходит, NAT таймаут или CGNAT Установить KEEPALIVE: YES в CCcam.cfg, попробовать через VPN
Одни каналы работают, другие нет Линия покрывает только часть CAID/провайдеров Entitlements — смотреть список provider ID

Сообщение 'login failed' — неверный user/pass или IP не в whitelist

F-line — это строка на стороне сервера, описывающая разрешённого клиента. Формат: F: username password плюс опционально список разрешённых IP. Если провайдер добавил вашу линию под один IP, а вы подключаетесь с другого (сменился динамический IP, VPN, мобильный интернет) — сервер ответит login failed, даже если логин и пароль абсолютно верны.

В таком случае пишете провайдеру, просите обновить IP или открыть доступ без привязки. Некоторые серверы позволяют это через личный кабинет.

Сообщение 'connection refused' — закрыт порт или сервер down

Здесь два варианта. Первый — сервер физически недоступен (упал, перезагружается, DDoS). Второй — порт заблокирован у вас на стороне: файрволом роутера, провайдером интернета или iptables на самом ресивере.

Отдельная история — CGNAT. Многие мобильные и дешёвые домашние провайдеры в 2026 году сидят за carrier-grade NAT, у вас нет реального внешнего IP. Это не мешает исходящим соединениям CCcam-клиента к серверу, но если вы сами хотите поднять сервер — он не будет доступен снаружи без туннеля или порт-форвардинга.

Подключение есть, но 'no card' — нет подписки на нужный CAID

CAID — это четырёхзначный hex-идентификатор системы условного доступа. Sky DE — 09C4, Canal+ — 0500, Viasat — 0604, HD+ — 1830. Если на сервере нет карты с нужным CAID — вы получите ECM запрос без ответа.

Узнать CAID канала: на Enigma2 зайти в информацию о сервисе (кнопка Info дважды), там будет строка CAID. Потом сверить с тем, что отдаёт линия в Entitlements.

Каналы открываются и фризят — высокий hop или перегруз сервера

Hop 2 — приемлемо, но заметно. Hop 3 — уже проблемно на быстром зеппинге. Hop 4+ — это скорее всего пиратский реселл реселла, где каждый узел добавляет задержку и нестабильность.

Если несколько линий отдают одинаковый CAID, CCcam автоматически выбирает линию с наименьшим hop. Это полезно: добавьте резервную линию hop 1 к основной hop 2 — при переключении каналов система сама возьмёт быструю.

Работает на одних каналах, не работает на других

Одна спутниковая карта покрывает один пакет. Карта Sky IT не расшифрует Canal+ France. Если у вас линия от сервера с одной картой — она покроет только каналы этого пакета.

Решение: несколько C: строк под разные пакеты. CCcam параллельно держит все соединения и для каждого ECM-запроса ищет нужный CAID среди всех доступных линий.

Безопасность и приватность при использовании CCcam line

Почему нельзя выкладывать свою линию на форумы

CCcam-сервер отслеживает количество одновременных соединений на каждую F-line. Ваша линия рассчитана на 1–2 соединения (обычно). Как только к ней подключится третий — сервер заблокирует всех или отключит именно вашего клиента.

Реакция провайдеров на "слитые" линии быстрая. Автоматический мониторинг замечает аномальный спрос через 2–5 минут и банит учётку. Деньги за оставшийся период не возвращают.

Использование DDNS вместо статического IP

Большинство домашних подключений имеют динамический IP. Для сервера это проблема: если IP сменился — клиенты не найдут сервер. DDNS (DynDNS, No-IP, DuckDNS) решает это: у вас есть постоянное имя хоста, которое автоматически указывает на текущий IP.

На клиентской стороне DDNS важен по другой причине: если провайдер добавил в F-line ваше DDNS-имя вместо IP — при смене IP он подтянется автоматически. Не все провайдеры поддерживают это, но спросить стоит.

Ограничение количества подключений (cccam reshare 0)

В CCcam.cfg клиента добавьте:

RESHARE: 0
RESHARE DISTANCE: 0

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

Логирование подключений и блокировка чужих IP

Если вы поднимаете собственный CCcam-сервер (а не только клиент), то регулярно смотрите лог на предмет неизвестных IP в login-попытках:

grep "login failed" /var/log/CCcam.log | awk '{print $NF}' | sort | uniq -c | sort -rn

IP с множеством попыток — кандидаты в iptables -A INPUT -s IP -j DROP. На Enigma2 можно добавить правила через OpenWebif → Network → Firewall.

Критерии выбора провайдера CCcam line

Локальные карты vs реселл (hop 1 vs hop 2+)

Hop в Entitlements — это первое на что смотреть. Hop 1 означает, что карта физически на сервере. Hop 2 — сервер сам является клиентом кого-то ещё. Чем больше hop, тем длиннее цепочка, тем выше задержки и ниже надёжность.

Тестовую линию дают почти все серьёзные провайдеры. Подключитесь, откройте Entitlements, посмотрите hop. Если hop 1 для нужных CAID — хороший знак. Если hop 3 уже на тесте — платная будет не лучше.

Uptime и SLA — как проверить до оплаты

Тест лучше проводить в прайм-тайм: 19:00–23:00 по локальному времени для пакета который вас интересует. В это время нагрузка на сервер максимальная. Если линия стабильна в пиковые часы — она будет стабильна и ночью.

За 12–24 часа теста можно написать простой скрипт мониторинга: раз в 5 минут делать netcat-проверку порта и логировать результат. Посмотрите сколько раз порт был недоступен.

Количество одновременных подключений в тарифе

Для одного ресивера достаточно 1 подключения. Если у вас несколько телевизоров или ресиверов на одной точке — нужен тариф с 2–3 одновременными соединениями. Лучше брать по числу реальных ресиверов, с небольшим запасом.

Не берите тариф "безлимитные подключения" если не знаете зачем он нужен — это обычно либо реселл-тариф, либо попытка продать подороже.

Поддержка протокола OScam-cccam (для перехода)

Если планируете в будущем перейти с CCcam на OScam (это разумно — OScam активнее разрабатывается и гибче настраивается), убедитесь что провайдер не привязывает вас к конкретной версии CCcam. Сервер, поддерживающий стандартный CCcam-протокол версии 2.1.4 и выше, будет работать с OScam reader type=cccam без проблем.

Конвертация C: line в OScam reader:

[reader]
label = myprovider
protocol = cccam
device = myserver.no-ip.org,12000
user = clientuser
password = secretpass123
group = 1
cccversion = 2.3.0
cccmaxhops = 2

Файл: /etc/oscam/oscam.server. Перезапуск: systemctl restart oscam или через веб-интерфейс OScam на порту 8888.

Edge cases которые обычно не описывают

Если за вашим интернет-провайдером CGNAT — у вас нет реального внешнего IP, но исходящие соединения работают нормально. CCcam-клиент соединяется наружу и это работает. Проблема только если провайдер требует F-line с вашим IP: реальный IP будет у CGNAT-шлюза провайдера, а не у вас. Выход — попросить у интернет-провайдера статический IP (обычно небольшая доплата) или использовать VPN.

VPN-туннель решает и другую проблему: некоторые CCcam-серверы фильтруют подключения по гео-локации IP. Российские или украинские IP блокируются на ряде западноевропейских серверов. VPN с выходным узлом в нужной стране обходит это.

Конфликт версий — реальная боль. Dreambox DM800 с прошивкой 2015 года может нести CCcam 2.1.4, тогда как сервер работает на 2.3.2. Соединение может устанавливаться, но negotiation завершится ошибкой или соединение будет нестабильным. Решение: обновить CCcam на ресивере до актуальной версии или найти провайдера, сервер которого поддерживает старый клиент.

Линия отваливается через 5 минут — скорее всего проблема с keepalive. NAT-таблицы роутера обнуляют TCP-соединения без трафика примерно через 5 минут (зависит от роутера). Добавьте в CCcam.cfg:

KEEPALIVE: YES

Если не помогает — проверьте MTU. CCcam иногда страдает на соединениях с нестандартным MTU (PPPoE, VPN). Установить: ip link set eth0 mtu 1400 для теста.

Несколько линий отдают одинаковый CAID — CCcam выберет с наименьшим hop автоматически. Но если hop одинаковый — выбор не всегда предсказуем. Для явного управления приоритетами лучше использовать OScam с его group-механизмом.

Частые вопросы

Что означает буква C в начале CCcam line?

C: — маркер клиентской строки в CCcam.cfg. Говорит демону, что это исходящее подключение к удалённому серверу. Заглавная C, двоеточие, пробел — всё обязательно. Строка F: — это противоположное: описание разрешённого клиента на стороне сервера.

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

Стандарта нет. Чаще всего 12000, 13000, 16000, 17000, 19000. Порт всегда указан в полученной строке вторым числом после хоста. Веб-интерфейс CCcam — это отдельно, порт 16001 (настраивается параметром WEBINFO PORT).

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

Да. В CCcam.cfg добавляете столько строк C:, сколько нужно — ограничений по количеству нет. Клиент держит все соединения параллельно и для каждого ECM-запроса ищет нужный CAID среди всех активных линий. Это полезно и для резерва, и для покрытия разных спутниковых пакетов одновременно.

Почему CCcam line работает на компьютере, но не на ресивере?

Три основных причины. Первая — версия CCcam на ресивере старее чем ожидает сервер (2.1.4 vs 2.3.0). Вторая — проблема с DNS: ресивер не резолвит хост, проверьте пинг и nslookup прямо на боксе. Третья — неверный путь к конфигу для конкретной прошивки: на OpenATV и OpenPLi пути могут отличаться.

Чем отличается CCcam line от N: (NewCamd) строки?

CCcam — проприетарный протокол с peer-to-peer обменом картами и hop-системой, строка короче и проще. NewCamd старше, работает только клиент-сервер (без reshare), требует указания 14-байтного DES-ключа в hex и конкретного CAID заранее. Сейчас NewCamd встречается реже — большинство серверов перешли на CCcam или OScam.

Как преобразовать CCcam line в reader для OScam?

В /etc/oscam/oscam.server создайте секцию: [reader], label = имя, protocol = cccam, device = host,port, user = username, password = password, group = 1, cccversion = 2.3.0, cccmaxhops = 2. Перезапустите OScam. В веб-интерфейсе на порту 8888 во вкладке Readers должен появиться ваш reader со статусом "connected".

Сколько CCcam line нужно для нормального просмотра пакета?

Для одного спутникового пакета на одном ресивере — одна стабильная линия hop 1 достаточно. Для зеппинга по нескольким пакетам (например Sky DE + Viasat + Canal+) нужны отдельные линии для каждого пакета, потому что карты разные. Плюс одна резервная линия на основной пакет — итого 2-4 строки C: для комфортного просмотра.

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

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