CCcam C-line: формат, настройка и подключение

Если вы получили строку подключения от сервера и не знаете, что с ней делать — этот материал для вас. CCcam cline — это одна строка конфигурации, которая говорит вашему ресиверу, куда подключаться, под каким логином и с каким паролем. Звучит просто, но дьявол в деталях: неверный пробел, неправильная кодировка файла или закрытый порт — и соединение не поднимется. Разберём всё по порядку.

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

C-line как клиентская строка подключения

C-line — это директива клиентской конфигурации CCcam. Она говорит демону: «подключись к этому хосту, на этот порт, с этим логином и паролем, и получай оттуда ECM-ответы для расшифровки каналов». Без неё ресивер не знает, куда обращаться за ключами.

Протокол CCcam работает по TCP. Сервер слушает порт (обычно в диапазоне 10000–20000, конкретное число задаёт администратор сервера), клиент подключается и через установленный канал запрашивает расшифровку ECM-пакетов в реальном времени. Вся эта логика запускается одной строкой в конфиге.

Отличие C-line от N-line, F-line и P-line

Люди часто путают эти форматы, потому что все они «строки кардшеринга». На самом деле это разные протоколы с несовместимым синтаксисом.

  • C-line — протокол CCcam. Клиент подключается к CCcam-серверу.
  • N-line — протокол newcamd (используется mgcamd, OScam). Другой синтаксис, обязательный DES-ключ, другой порт. N-line нельзя вставить в CCcam.cfg вместо C-line — демон её проигнорирует или упадёт.
  • F-line — это не клиентское подключение вовсе. F-line в CCcam.cfg описывает пользователей, которым сервер разрешает к себе подключаться (forward/reshare).
  • P-line — приоритет карт, встречается редко, к подключению не относится.

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

C-line прописывается на стороне клиента. Если у вас ресивер на Enigma2 — вы клиент. Если вы поднимаете собственный CCcam-сервер и хотите дать доступ другим — вы создаёте F-line, а не C-line.

Один файл CCcam.cfg может содержать несколько C-line одновременно. Демон будет пробовать подключиться ко всем, а расшифровку запрашивать у того, кто ответил первым и у кого есть нужная карта. Это базовая балансировка — не round-robin, а первый доступный.

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

Базовый формат строки

Формат выглядит так:

C: <host> <port> <username> <password>

Буква C, двоеточие, пробел, затем параметры через пробел. Это минимально необходимый набор. Всё остальное — опционально.

Пример вымышленной строки:

C: srv.example-host.net 12500 testuser s3cur3pass

Хост, порт, username и password

Host — доменное имя или IP-адрес сервера. Доменное имя предпочтительнее, если у сервера динамический IP: при смене адреса DNS обновится, а строку менять не придётся. Но у ресиверов на старых прошивках бывает проблема с DNS-кэшем — об этом ниже.

Port — TCP-порт, на котором CCcam-демон слушает входящие соединения. Жёсткого стандарта нет. Часто встречаются 12000, 12001, 15000, 16000. Точный порт всегда указан в выданной вам cccam cline — не угадывайте его.

Username и password — выдаются администратором сервера. Чувствительны к регистру. MyUser и myuser — разные логины. Пароль с пробелами не поддерживается — пробел воспринимается как разделитель параметров.

Дополнительные параметры: DES-ключ, версия, флаги

После обязательных параметров можно добавить необязательные:

C: srv.example-host.net 12500 testuser s3cur3pass 01 02 03 04 05 06 07 08 09 10 11 12 13 14

DES-ключ — 14 байт в hex, разделённых пробелами. Используется для шифрования соединения между клиентом и сервером. Большинство публичных и частных серверов его не требуют — если администратор не выдал ключ, строку без него.

Версия CCcam — некоторые сборки позволяют указать версию протокола для совместимости. Обычно это не нужно.

Флаг wantemus — управляет поведением при reshare. Значения yes/no. По умолчанию выключен.

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

Строка Статус Проблема
C: host.example.com 12000 user pass Корректно
c: host.example.com 12000 user pass Некорректно Буква c строчная — CCcam чувствителен к регистру директивы
C:host.example.com 12000 user pass Некорректно Нет пробела после двоеточия
C: host.example.com 12000 user  pass Некорректно Два пробела между username и password
[tab]C: host.example.com 12000 user pass Некорректно Строка начинается с табуляции

Куда вписывать C-line: файл CCcam.cfg

Расположение CCcam.cfg в Enigma2 и Linux

На большинстве Enigma2-ресиверов конфигурация лежит по адресу /etc/CCcam.cfg. Иногда — /var/etc/CCcam.cfg или /usr/keys/CCcam.cfg. Зависит от прошивки: OpenATV, OpenPLi, OpenSPA — у всех свои соглашения.

Если не знаете точного пути, найдите файл командой:

find / -name CCcam.cfg 2>/dev/null

На чистых Linux-серверах без Enigma2 путь задаётся при запуске демона через параметр командной строки или совпадает с рабочей директорией бинарника.

Редактирование через FTP/Telnet/SSH

Через FTP — подключитесь к ресиверу (порт 21, логин/пароль из настроек), скачайте CCcam.cfg, откройте в текстовом редакторе. Только не в Word и не в Блокноте Windows — они могут сохранить файл с BOM или CRLF-переносами, и CCcam молча проигнорирует строки.

Используйте Notepad++ с кодировкой UTF-8 без BOM или любой нормальный Linux-редактор. Через SSH это проще:

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

После редактирования в nano — Ctrl+O для сохранения, Ctrl+X для выхода.

Права доступа на файл должны быть читаемы для демона:

chmod 644 /etc/CCcam.cfg

Или 600, если хотите ограничить чтение только для root.

Перезапуск службы CCcam после изменений

Просто сохранить файл недостаточно. CCcam читает конфигурацию только при старте — нужен рестарт демона.

Через Telnet или SSH:

killall -9 CCcam
sleep 2
/usr/bin/CCcam &

Или через init-скрипт, если он есть:

/etc/init.d/softcam restart

На некоторых прошивках (например, OpenATV) есть раздел в меню ресивера — «Рестарт кардшеринга» или «Перезапуск softcam». Это удобнее, если не хочется лезть в консоль.

Проверка подключения и чтение статуса

Веб-интерфейс CCcam (порт мониторинга)

CCcam имеет встроенный веб-интерфейс. Он включается параметром в CCcam.cfg:

WEBINFO LISTEN PORT: 16001

После этого откройте в браузере http://192.168.1.100:16001 (замените IP на адрес ресивера). Увидите таблицу с подключёнными серверами — это и есть ваши C-line.

Чтение строки статуса: ON/OFF, hops, ECM time

Каждая cccam cline в веб-интерфейсе показывает несколько параметров:

  • ON/OFF — установлено ли соединение с сервером. OFF — сервер недоступен или отверг подключение.
  • Hops — сколько промежуточных узлов между вами и реальной картой. Hop 1 — сервер держит карту напрямую. Hop 2 и выше — карта пересылается через ещё один CCcam-сервер. Чем выше hop, тем больше задержка.
  • ECM time — время ответа на запрос расшифровки в миллисекундах. До 300–400 мс — хорошо, до 600 мс — приемлемо. Выше 800 мс — будут фризы.
  • Uptime — как долго соединение держится без разрыва.

Hop 2 и выше — это реальная проблема на динамичных каналах с частой сменой ключей. ECM-запрос проходит лишнее звено, время растёт, декодер не успевает — картинка замерзает.

Логи и команда tail для отладки

Лог CCcam обычно пишется в /tmp/CCcam.log или /var/log/CCcam.log. Смотреть в реальном времени:

tail -f /tmp/CCcam.log

В логе видно: попытки подключения, успешный handshake, ECM-запросы и ответы, ошибки аутентификации. Это самый информативный инструмент диагностики — веб-интерфейс показывает текущее состояние, лог — историю и причины проблем.

Типичные ошибки и почему C-line не работает

Статус OFF: сеть, порт, фаервол

Первое, что проверить — базовая сетевая связность. Пинг до хоста сервера:

ping srv.example-host.net

Если пинг идёт, но соединение не устанавливается — проверьте, открыт ли порт:

telnet srv.example-host.net 12500

Если Connection refused — порт закрыт на сервере или неверный порт в вашей cccam cline. Если timeout — между вами и сервером что-то блокирует соединение. Часто виновник — провайдер, который фильтрует нестандартные TCP-порты, или домашний роутер с файерволом.

При двойном NAT (провайдерский NAT + домашний роутер) исходящие соединения обычно проходят, но если провайдер блокирует диапазон портов — придётся просить сервер переехать на 80 или 443, либо использовать VPN-туннель.

Connected, но нет расшифровки (no card / ECM timeout)

Статус ON в веб-интерфейсе означает только то, что TCP-соединение установлено. Расшифровки может не быть по другим причинам:

  • На сервере нет карты для нужного пакета или частоты. Уточните у источника строки, какие пакеты он предоставляет.
  • Неверный DES-ключ — если сервер его требует, а у вас указан чужой или нулевой, ECM-ответов не будет.
  • ECM timeout — сервер отвечает слишком медленно, декодер отказывается от ответа. Смотрите лог: там будет ECM timeout.

Фризы и нестабильные hops

Картинка замерзает каждые несколько секунд — классика hop 2+. Сервер получает карту от другого сервера, тот тоже под нагрузкой, задержка накапливается.

Также проверьте стабильность соединения: tail -f /tmp/CCcam.log покажет, нет ли регулярных разрывов и переподключений. Если соединение рвётся раз в минуту — проблема или в канале, или в том, что сервер принудительно сбрасывает соединения (лимит сессий, нестабильность на стороне сервера).

Ошибки в синтаксисе и кодировке файла

CCcam молча игнорирует строки с ошибками — без предупреждений в логе. Самые частые проблемы:

  • BOM в начале файла. Возникает при сохранении через Windows-редакторы. Первая строка файла читается как мусор, демон может не запустить весь конфиг.
  • Перенос строк CRLF вместо LF. Аналогично — Windows-артефакт. Исправляется командой dos2unix /etc/CCcam.cfg.
  • Табуляция вместо пробела как разделитель. CCcam ожидает обычные пробелы.
  • Пробелы в конце строки. Не критично в большинстве версий, но бывает источником проблем.

Если несколько C-line в файле и хотите временно отключить одну — закомментируйте символом # в начале строки. Это стандартный способ.

Ещё кейс: несколько C-line с одинаковым username на разных серверах. Если оба сервера между собой общаются (reshare), возникает конфликт идентификации — ресивер может получить дублирующиеся карты или зациклиться. Лучше иметь уникальные username для каждого подключения.

И про динамический IP сервера: если в строке прописан IP напрямую (C: 203.0.113.42 12000 ...), а сервер сменил адрес — подключение упадёт и не восстановится. Если указан домен — DNS-запрос повторяется при каждом переподключении. Но ресиверы на старых прошивках иногда кэшируют DNS-ответ в памяти до перезагрузки. Это надо учитывать.

Как выбрать надёжный источник C-line: критерии

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

Стабильность и uptime сервера

Хороший сервер держит uptime 99%+ в месяц. Проверить это самостоятельно за короткий тестовый период сложно — смотрите на поведение соединения в логах за 24–48 часов. Если tail -f /tmp/CCcam.log показывает регулярные reconnect каждые час-два — это сигнал. Нормальное соединение может висеть неделями без разрывов.

Тест-период — стандартная практика. Если источник cccam cline не даёт возможности протестировать перед оплатой хотя бы 24 часа — это плохой знак.

Низкий hop и быстрое ECM time

Hop 1 — карта на том же сервере. Hop 2 — карта пересылается. Всё, что выше hop 2, скорее всего даст нестабильную расшифровку на динамичных каналах с частой сменой ключей (например, спортивные пакеты с высокой частотой обновления).

ECM time до 400 мс — комфортно. 400–700 мс — на грани. Выше 800 мс — почти гарантированы периодические фризы. Это хорошо видно в веб-интерфейсе CCcam при просмотре реального канала.

Поддержка нужных частот и пакетов

Убедитесь, что сервер предоставляет именно те спутниковые пакеты и частоты, которые принимает ваша антенна. Сервер может быть абсолютно стабильным, но бесполезным, если у него нет нужной вам карты. Уточняйте список пакетов до тестового подключения, а не после.

Часто задаваемые вопросы

Чем C-line отличается от N-line?

C-line — это строка для протокола CCcam, формат: C: host port user pass. N-line — для протокола newcamd, используемого в mgcamd и OScam, с другим синтаксисом и обязательным 14-байтовым DES-ключом. Эти протоколы несовместимы: вставить N-line в CCcam.cfg вместо C-line не получится — демон её проигнорирует.

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

Жёсткого стандарта нет. Порт задаёт администратор сервера при его настройке. Часто встречаются 12000, 12001, 15000, 16000 — но это не правило, а совпадение. Точный порт всегда указан в выданной вам cccam cline. Не угадывайте — берите только из строки.

Где находится файл CCcam.cfg?

На большинстве Enigma2-ресиверов — /etc/CCcam.cfg или /var/etc/CCcam.cfg, реже /usr/keys/CCcam.cfg. Точный путь зависит от прошивки. Если неизвестен — найдите через SSH командой find / -name CCcam.cfg 2>/dev/null.

Почему C-line показывает статус ON, но каналы не открываются?

ON означает только установленное TCP-соединение. Расшифровки нет по другим причинам: на сервере отсутствует нужная карта или пакет, неверный DES-ключ, ECM timeout или канал просто не входит в предоставляемый набор. Смотрите лог через tail -f /tmp/CCcam.log — там будут конкретные ECM-ошибки.

Нужно ли указывать DES-ключ в C-line?

Для большинства подключений — нет. DES-ключ нужен только если сервер специально настроен на шифрование соединения и явно выдал вам 14-байтовый hex-ключ вместе со строкой. Если ключ не выдавался — строка работает без него.

Как перезапустить CCcam после изменения C-line?

Через SSH: killall -9 CCcam, подождать 2 секунды, затем запустить бинарник снова. Или через init-скрипт: /etc/init.d/softcam restart. На некоторых прошивках есть пункт в меню ресивера — «Рестарт кардшеринга» или «Перезапуск softcam». Без рестарта изменения в файле не применятся.

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.