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». Без рестарта изменения в файле не применятся.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.