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 или внешние мониторы.