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: для комфортного просмотра.
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.