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

Если вам прислали строку вида C: server.example.com 12000 myuser mypass и вы не понимаете что с ней делать — вы попали по адресу. CCcam line, она же C-line, это не просто текст. Это клиентская строка подключения со своим синтаксисом, обязательными и опциональными полями, и если хоть одно поле неверное — ничего не заработает. Разберём всё: формат, куда вставлять, как проверять, и почему не работает.

Что такое CCcam line (C-line) и зачем она нужна

Определение C-line в протоколе CCcam

CCcam — это демон для Linux и Enigma2-ресиверов, реализующий протокол обмена ключами условного доступа через TCP. C-line (Client line) — это строка конфигурации, которая указывает CCcam-клиенту куда подключаться и с какими credentials. Протокол работает поверх TCP, использует модифицированный handshake на основе Diffie-Hellman, и исторически называют его «newcamd-подобным», хотя это не совсем точно — у CCcam свой формат обмена.

Буква C: в начале строки — не случайная. Это директива. CCcam.cfg парсит файл построчно и реагирует на директивы: C:, N:, F:, B: и другие. Каждая директива говорит демону что делать с этой строкой.

Разница между C-line, N-line и F-line

C: — Client line. Описывает удалённый CCcam-сервер, к которому ваш клиент подключается. Ваш ресивер — потребитель.

N: — Newcamd line. Тот же смысл, но для протокола newcamd (другой хендшейк, другой формат, другой порт). OScam, mgcamd и другие клиенты часто работают именно с N-line.

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

Где C-line используется: клиент vs сервер

На клиентском ресивере (Dreambox, VU+, Zgemma и т.д.) C-line добавляется в CCcam.cfg — это инструкция «подключись к вот этому серверу». На сервере CCcam.cfg тоже может содержать C-line, если сервер сам является клиентом вышестоящего сервера. CCcam спокойно работает одновременно как сервер для своих клиентов и как клиент к апстриму.

Порты CCcam традиционно в диапазоне 10000–20000, наиболее частые — 12000 и 19000. Это не стандарт, а просто исторически сложившаяся практика.

Синтаксис CCcam line: разбор каждого параметра

Базовый формат: C: hostname port username password

Минимальная валидная cccam line выглядит так:

C: server.example.com 12000 myusername mypassword

Четыре обязательных поля после директивы C::

  • hostname — IP-адрес или доменное имя (DDNS тоже работает: myhome.ddns.net)
  • port — TCP-порт, число от 1 до 65535
  • username — логин, регистр важен
  • password — пароль, регистр важен

Пробел — единственный допустимый разделитель. Табы не работают в некоторых версиях CCcam. Лишние пробелы в конце строки иногда вызывают проблемы — на это часто не обращают внимания.

Опциональные параметры: no/yes для shared, reshare level

Полный формат строки — шесть полей:

C: server.example.com 12000 myusername mypassword no 0

Пятый параметр — no или yes. Он означает: разрешать ли этому пиру reshare карт которые он вам передаёт. no — карты от этого сервера не будут переданы вашим клиентам (если вы сами являетесь сервером). yes — передаются.

Шестой параметр — уровень reshare, число от 0 до 10. Указывает на сколько хопов вниз карты могут распространяться. 0 — только для вас. 1 — вы плюс ваши непосредственные клиенты. Большинство провайдеров требуют no 0 — запрет любого reshare.

Эти два параметра конкуренты почти никогда не разбирают подробно. Большинство статей показывает только базовые 4 поля — и люди потом удивляются почему их клиенты не получают карты когда они прописали yes 5 не думая.

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

Валидные:

C: 192.168.1.100 12000 testuser testpass
C: home.ddns.net 19000 client1 P@ss123 no 0
C: srv.example.com 41234 user_x abc123 yes 1

Невалидные:

C:server.example.com 12000 user pass        ← нет пробела после C:
C: server.example.com user pass             ← пропущен порт
C: server.example.com 12000 user my pass    ← пробел в пароле без кавычек

Как читать длинную C-line с дополнительными флагами

Иногда встречаются строки с седьмым полем — это обычно legacy-параметр из старых версий CCcam (2.0.x), связанный с deskey или индикатором шифрования. В CCcam 2.3.x он игнорируется, но если сервер работает на старой версии и требует его — должен совпадать. Если не знаете что это — просто уберите, скорее всего ничего не сломается.

Куда вставлять C-line: CCcam.cfg на разных платформах

Путь к CCcam.cfg на Enigma2 (Dreambox, VU+, Zgemma)

На Enigma2-устройствах файл живёт в /etc/CCcam.cfg. Это стандартный путь для большинства прошивок: OpenATV, OpenPLi, OpenViX. Подключайтесь по SSH (порт 22, логин root, пароль по умолчанию обычно dreambox или root) и редактируйте:

ssh [email protected]
nano /etc/CCcam.cfg

Если nano нет — есть vi. На некоторых ресиверах проще передать файл по FTP через FileZilla или WinSCP.

Путь к CCcam.cfg на Linux-сервере (Ubuntu/Debian)

На полноценном Linux-сервере путь зависит от того как установлен CCcam. Стандартные варианты: /etc/CCcam.cfg или /usr/local/etc/CCcam.cfg. Посмотреть что фактически используется:

ps aux | grep -i cccam

В выводе будет видно с каким конфигом запущен демон. Если CCcam запущен как systemd-сервис — смотрите unit-файл в /etc/systemd/system/.

Путь на DVB-ресиверах с OpenATV/OpenPLi

OpenATV и OpenPLi используют /etc/CCcam.cfg. Некоторые плагины-менеджеры (типа Softcam Manager) показывают этот файл через GUI прямо на ресивере — удобно если нет SSH-клиента под рукой. Но для серьёзной работы SSH надёжнее.

Права доступа к файлу (chmod 600) и владелец

CCcam.cfg содержит логины и пароли. Оставлять его с правами 644 (читаемым всеми) — плохая идея если к устройству есть другие пользователи.

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

После изменения конфига — рестарт CCcam обязателен. Демон читает конфиг при старте, не на лету:

# Через init.d:
/etc/init.d/CCcam restart

# Через systemctl (если настроен):
systemctl restart CCcam

# На Enigma2 ресивере:
init 4 && sleep 3 && init 3

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

Проверка через telnet/nc на порт сервера

Первое что нужно проверить — доступен ли вообще порт сервера. Telnet для этого подходит, хотя в 2026 его часто нет в минимальных образах. Альтернатива — nc:

nc -zv server.example.com 12000
# Или:
telnet server.example.com 12000

Если получили Connection refused или таймаут — проблема на сетевом уровне, CCcam тут ни при чём. Если соединение установилось и вы видите мусор (бинарный handshake) — порт открыт, идём дальше.

Диагностика с локального сервера: убедитесь что CCcam вообще слушает нужный порт:

netstat -tlnp | grep -i cccam
# Или если netstat нет:
ss -tlnp | grep LISTEN

Web-интерфейс CCcam (порт 16001 по умолчанию)

CCcam умеет поднимать веб-морду. По умолчанию порт 16001. Зайдите в браузере на http://ресивер-ip:16001. Логин и пароль берутся из секции WEBINFO в CCcam.cfg:

WEBINFO LISTEN PORT : 16001
WEBINFO USERNAME : admin
WEBINFO PASSWORD : adminpass

Через веб-интерфейс видно статус серверов, список подключённых клиентов, доступные CAID/провайдеры. Раздел Servers → кликнуть на нужный сервер → развернётся список карт. Это самый быстрый способ понять почему cccam line не отдаёт нужный канал.

Чтение логов: /var/log/CCcam или stdout

Путь к логу зависит от конфигурации. В CCcam.cfg ищите строку LOG FILE : /var/log/CCcam. Если не задано — CCcam пишет в stdout. Смотреть вживую:

tail -f /var/log/CCcam

Что искать в логах при проблемах с подключением:

  • connected to server server.example.com:12000 — подключились успешно
  • login failed — неверный логин или пароль
  • connection refused — сервер недоступен или порт закрыт
  • no card available — подключились, но карт нет
  • timeout — сервер не отвечает в разумное время

Команды status и server в CCcam-CLI

CCcam слушает управляющий порт (обычно тот же что и основной, но через telnet). На некоторых версиях работает:

telnet localhost 12000
# После подключения набрать:
servers
status

Не все версии поддерживают это. Веб-интерфейс надёжнее для диагностики.

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

Connection refused: порт закрыт или сервер недоступен

Самая частая проблема. Причин несколько: сервер выключен, порт заблокирован файрволом, CCcam-демон не запущен. Проверяем по порядку.

На стороне сервера проверяем файрвол:

iptables -L INPUT -n | grep 12000

Если правило есть и DROP — добавляем ACCEPT:

iptables -I INPUT -p tcp --dport 12000 -j ACCEPT

На ресивере за NAT — убедитесь что роутер проброшен (port forwarding). Connection refused с внешней сети при нормальной работе в локальной сети — 99% это проброс.

Login failed: неверный username/password

Регистр в CCcam — критичен. MyUser и myuser — разные логины. Самые частые причины login failed:

  • Опечатка при копировании (особенно похожие символы: l/1, O/0, I/1)
  • Лишний пробел в конце строки в CCcam.cfg
  • Неверный регистр
  • Пароль сброшен или изменён на стороне сервера

Скопируйте строку в текстовый редактор с отображением непечатаемых символов и проверьте нет ли невидимых символов.

No cards from server: подключение есть, но нет карт

Это значит CCcam-сессия установлена, логин прошёл, но сервер либо не отдаёт CAID, либо отдаёт карты которых нет в вашей зоне приёма. В логах будет connected без последующего got card. Проблема почти всегда на стороне сервера — провайдер либо ограничил пакет, либо карты временно недоступны. С вашей стороны тут ничего не сделать кроме как уточнить у провайдера.

Кириллица и спецсимволы в пароле — почему ломаются

CCcam.cfg читается как plain text. Символы #, ; и в некоторых версиях $ и пробел в пароле — ломают парсинг. # воспринимается как начало комментария. Если пароль содержит такие символы — попросите провайдера его поменять. Экранирование в CCcam не предусмотрено, кавычки не помогают.

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

Конфликт нескольких C-line на одном сервере

Если в CCcam.cfg несколько строк с одинаковым hostname:port — поведение непредсказуемо. Некоторые версии CCcam пытаются установить оба соединения и одно из них падает с ошибкой. Держите уникальные пары hostname:port в конфиге. Если вам дали два аккаунта на одном сервере — один из них оставьте в резерв.

Безопасность и приватность C-line

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

C-line — это доступ к аккаунту на сервере. Опубликовали в форуме, телеграм-чате, скриншоте — считайте что аккаунт угнан. Кто-то подключится раньше вас, сервер заблокирует второе соединение с того же логина, и вы получите connection refused на ровном месте.

Кроме того, провайдеры мониторят с каких IP подключаются их клиенты. Необычная активность (подключение из 5 разных стран за день) может привести к бану аккаунта.

Изменение порта CCcam-сервера для защиты от сканов

Если вы поднимаете собственный CCcam-сервер — смените порт с дефолтного 12000 или 19000 на что-то нестандартное, например 41234 или 38571. Автоматические сканеры прощупывают именно типовые CCcam-порты. Это не серьёзная защита, но убирает 90% шума от ботов.

В CCcam.cfg на сервере:

SERVER LISTEN PORT : 41234

Использование VPN или SSH-туннеля для CCcam-трафика

CCcam-трафик не зашифрован нормально — handshake DH есть, но против активного мониторинга это слабо. Если нужна реальная приватность — пробросьте CCcam через SSH-туннель:

ssh -N -L 12000:localhost:12000 [email protected]

После этого в C-line пишите 127.0.0.1 12000 — трафик пойдёт через SSH. Минус: туннель нужно поддерживать живым, добавьте ServerAliveInterval 30 в ssh_config.

WireGuard — более современный вариант, меньше overhead, проще держать постоянное соединение.

Логирование подключений на стороне сервера

В CCcam.cfg сервера включите подробное логирование:

LOG FILE : /var/log/CCcam
LOG WARNINGS : yes
ALLOW TELNET : no

Так вы увидите кто и когда подключался, с каких IP. При подозрительной активности — видно сразу.

C-line vs N-line: когда какую использовать

C-line — для CCcam-клиентов

C-line понимает только CCcam. Если на вашем ресивере установлен CCcam (а не OScam, не mgcamd) — вам нужна cccam line. Всё просто.

N-line — для OScam, mgcamd, других newcamd-клиентов

N-line использует протокол newcamd. OScam, mgcamd, Wicard — всё это newcamd-клиенты. N-line выглядит иначе:

N: server.example.com 15000 myuser mypass 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Длинная хвостовая часть — это des-ключ (14 байт в hex). Сервер, выдающий N-line, должен иметь соответствующий клиентский аккаунт с протоколом newcamd.

Конвертация C-line → N-line вручную

Прямой конвертации не существует — это разные протоколы с разными механизмами авторизации. Но если у вас OScam и сервер поддерживает CCcam-протокол — можно подключиться через ридер в oscam.server:

[reader]
label                         = my_cccam_server
protocol                      = cccam
device                        = server.example.com,12000
user                          = myuser
password                      = mypass
cccversion                    = 2.3.0
cccmaxhops                    = 5

OScam умеет говорить CCcam-протокол как клиент. Это не конвертация C-line в N-line — это другой путь к тому же серверу.

Когда сервер отдаёт обе строки

Хороший провайдер выдаёт клиенту обе строки — и C-line для CCcam, и N-line для OScam/mgcamd. Внутри сервера это один аккаунт с двумя протоколами. Вы выбираете ту строку которая соответствует вашему клиенту. Использовать обе одновременно — не нужно и обычно не разрешается.

Дополнительные случаи которые стоит знать

C-line за двойным NAT (carrier-grade NAT у провайдера + домашний роутер) — прямой проброс портов не работает. Нужен либо VPS как ретранслятор, либо STUN-сервер, либо VPN с выделенным IP. Просто настроить forwarding на домашнем роутере тут недостаточно.

Ресивер с IPv6-only подключением и CCcam-сервер на IPv4 — нужен 6to4 или NAT64 прокси. В 2026 это редкость, но бывает у некоторых европейских операторов.

Если сервер привязан к домену через SNI — IP-адрес в C-line работать не будет. Только hostname. Это нетипично для CCcam, но встречается когда сервер за reverse-proxy.

Конфликт CCcam и OScam на одном устройстве: оба по умолчанию хотят занять порт 12000. Один из них упадёт при старте. Решение — изменить порт одного из демонов.

C-line через Tor — технически работает, практически бесполезна. ECM-запросы должны получать ответ за 500 мс, иначе декодирование не успевает. Tor стабильно даёт 3–5 секунд latency. Картинки будут фризить.

Старые прошивки ресиверов обрезают пароли длиннее 32 символов без предупреждения. Если пароль длинный и ресивер не принимает C-line — попробуйте заменить пароль на более короткий у провайдера.

DDNS в hostname кешируется CCcam до рестарта. Если IP сервера сменился, а DDNS уже обновился — ресивер будет долбиться в старый IP пока CCcam не перезапустить.

Сколько C-line можно добавить в один CCcam.cfg?

Технически — без ограничений. Каждая C-line открывает отдельный TCP-сокет и держит его живым. На практике 8–16 строк — это комфортно даже для слабого ресивера. Больше 20 — начинается заметная нагрузка на RAM и CPU, особенно на старых Dreambox с 256 MB. Держите только те серверы которые реально используете.

Чем отличается C-line с reshare 0 от reshare 1?

Reshare level — это глубина распространения карт. no 0 означает что карты которые вы получаете от этого сервера не будут переданы вашим клиентам (если вы сами раздаёте). yes 1 — можно отдать клиентам первого уровня. Чем выше цифра, тем шире распространение — и тем сильнее нагрузка на всю цепочку серверов. Большинство провайдеров запрещают reshare и выдают строку с no 0.

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

Первое что проверить — DNS на ресивере. Многие ресиверы плохо резолвят имена, особенно если DNS прописан неверно или роутер блокирует DNS-запросы. Попробуйте вписать IP-адрес вместо hostname в C-line. Второе — время: ресивер с неверными часами (NTP не настроен) может не пройти handshake. Третье — несовместимость версий CCcam: клиент 2.0.x несовместим с сервером 2.3.x.

Как узнать какие карты доступны через мою C-line?

Зайдите в веб-интерфейс CCcam по адресу http://ресивер-ip:16001. Раздел Servers — разверните нужный сервер — увидите список CAID и провайдеров с их статусом. Альтернатива: подключиться через telnet на порт управления CCcam и выполнить команду servers. Это работает не во всех версиях, но веб-интерфейс есть почти везде.

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

Почти всегда нет. Серверы отслеживают активные сессии и блокируют одновременное подключение с одного аккаунта — либо по IP, либо по fingerprint клиента. Второй ресивер получит connection refused или login failed. Решение: запросить отдельную C-line для каждого устройства, либо поднять локальный CCcam-сервер который сам подключится к провайдеру по одной C-line и раздаст карты обоим ресиверам внутри сети.

Что значит цифра после порта, например 12000 0?

В некоторых старых форматах CCcam.cfg после порта шёл параметр связанный с deskey или режимом шифрования. В современных версиях (2.2.x и новее) этот параметр не используется и игнорируется. Если видите такую строку — это старый конфиг. Можете оставить как есть или убрать — скорее всего ничего не изменится. Если сервер явно требует определённое значение — оно должно совпадать с настройкой сервера.

Почему после рестарта CCcam C-line подключается с задержкой 30–60 секунд?

CCcam выполняет несколько шагов при подключении: DNS-резолв hostname, TCP-соединение, Diffie-Hellman handshake, обмен списком карт. На медленных каналах или загруженных серверах всё это занимает до 60 секунд — это нормально. Если дольше — проблема в DNS (попробуйте IP вместо имени) или MTU (попробуйте ping -M do -s 1400 server.example.com чтобы проверить фрагментацию пакетов).

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

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