CCcam lines: настройка, формат строки и устранение ошибок
CCcam lines — это основа любого кардшаринга на базе протокола CCcam. Казалось бы, одна строка из пяти полей, но именно её неправильный синтаксис или неверные параметры убивают половину подключений ещё до первого ECM-запроса. Здесь разбираю всё по порядку: формат, конфиг, диагностику и перенос в OScam.
Что такое CCcam line и из чего она состоит
C-строка в протоколе CCcam выглядит так:
C: hostname port username password no { 0:0:2 }
Каждое поле здесь несёт конкретную нагрузку. Пропустить пробел, поставить лишний символ или перепутать порядок — и сервер просто не распознает строку.
Анатомия C-строки: hostname, port, username, password
hostname — доменное имя или IP-адрес сервера. Домен предпочтительнее: при смене IP у провайдера строка останется рабочей. Пример: share.example.net или 91.230.11.45.
port — TCP-порт, на котором слушает CCcam-демон. Стандарт — 12000, но сервер может принимать и на любом другом. Важно: порт в C-строке клиента должен точно совпадать с тем, что задано директивой SERVER LISTEN PORT на сервере.
username и password — учётные данные, которые сервер сверяет с F-строкой или базой пользователей. Регистр имеет значение: User1 и user1 — разные логины.
Поле no после пароля — это флаг аудио/видео-ограничений (обычно no или цифра). Блок { 0:0:2 } — параметры решары, о них в FAQ.
Чем C-line отличается от N-line и F-line
C-line — клиентская строка протокола CCcam. Прописывается на ресивере или клиентском сервере и указывает, куда подключаться.
N-line — строка протокола newcamd. Формат другой: N: host port user pass deskey { caid }. Порты — диапазон 10000–15000 по умолчанию. Newcamd и CCcam несовместимы напрямую, но OScam умеет оба.
F-line — серверная строка для раздачи доступа другим CCcam-клиентам. Прописывается на сервере в CCcam.cfg и определяет, кого пускать: F: username password 1 0 0 { 0:0:2 }.
Где прописывается строка: CCcam.cfg и его расположение
На большинстве образов Enigma2 (OpenATV, OpenPLi, VTi) конфиг лежит по пути /etc/CCcam.cfg. На некоторых сборках под старые боксы Dreambox встречается /var/etc/CCcam.cfg. Есть образы, где бинарник при старте сначала ищет конфиг в /etc/, и если не находит — падает с ошибкой без каких-либо подсказок в логе.
После обновления образа Enigma2 путь иногда меняется, и старый конфиг просто игнорируется — бокс стартует без ошибок, но и без шаринга. Первое, что проверяю в такой ситуации: find / -name CCcam.cfg 2>/dev/null.
Настройка CCcam.cfg: порты, протоколы и параметры
Рабочий минимум конфига на стороне сервера выглядит примерно так:
SERVER LISTEN PORT : 12000
WEBINFO LISTEN PORT : 16001
CWS NODEID : AABBCCDDEEFF0011
DISABLE EMM : yes
F: client1 secretpass 1 0 0 { 0:0:2 }
B: /etc/CCcam.cfg
Конфиг читается построчно, комментарии начинаются с #. Директивы регистронезависимы, но пробелы вокруг двоеточия обязательны именно в таком формате.
Стандартный порт 12000 и привязка SERVER LISTEN PORT
12000 — де-факто стандарт для CCcam, но ничто не мешает использовать любой незанятый порт выше 1024. Если несколько экземпляров CCcam крутятся на одной машине (например, для разных пакетов), каждый должен слушать на своём порту.
На стороне клиента порт в C-строке и порт SERVER LISTEN PORT на сервере — одно и то же число. Звучит очевидно, но именно это расхождение вижу чаще всего при диагностике чужих конфигов.
Параметры CCcam: CWS NODEID, FRIEND, DISABLE EMM
CWS NODEID — уникальный идентификатор ноды в формате 8 hex-байт. Два клиента с одинаковым NODEID на одном сервере создают конфликт: второй коннект сбрасывает первый. Если линия работает на одном ресивере, но не поднимается на втором — вот одна из причин.
DISABLE EMM : yes — отключает запись EMM на смарткарту. Для чистых решар это норма: EMM всё равно не пройдёт через несколько хопов корректно, зато нагрузка на карту меньше.
FRIEND — задаёт доверенные ноды для обмена без дополнительной авторизации. Используется при построении дерева шаринга между несколькими серверами.
Параметр MAXLECMS ограничивает количество одновременных ECM-запросов. Если он выставлен жёстко, а у клиента много активных тюнеров — часть запросов просто дропается.
Разница протоколов CCcam, newcamd (порты 10000–15000) и MGcamd
CCcam и newcamd — разные протоколы с разным handshake и форматом пакетов. CCcam по умолчанию на порту 12000, newcamd — обычно 10000–15000 (каждый порт для отдельного CAID или провайдера).
MGcamd — клиент, который умеет работать с newcamd-сервером через N-строки. Напрямую подключить MGcamd к CCcam-серверу не получится без прослойки в виде OScam или аналогичного прокси.
Конфликт версий протокола CCcam между сервером и клиентом — отдельная боль. Клиент на версии 2.2.x пытается подключиться к серверу 2.3.x, handshake не проходит, и соединение рвётся мгновенно без внятной ошибки в логе. OScam решает это через параметр cccam version.
Перезапуск демона и проверка логов
На Enigma2 самый надёжный способ перезапустить CCcam:
killall -9 CCcam
sleep 2
/usr/bin/CCcam &
Альтернатива через init: init 4 && sleep 3 && init 3 — перезапускает все сервисы, включая CCcam, если он прописан в автозагрузке.
Лог смотреть через telnet на порт 16001 (веб-морда) или напрямую в файл. На некоторых сборках CCcam пишет в /tmp/CCcam.log, на других — только в stdout. Запуск с дебагом: CCcam -d 3 даёт подробный вывод по каждому ECM-запросу.
Диагностика: почему CCcam line не подключается
Если cccam lines не поднимаются — не паникуй и не меняй сразу всё подряд. Есть чёткая последовательность проверок, которая закрывает 95% случаев.
Статусы в веб-интерфейсе (порт 16001): ON, OFF, CONNECTED
Веб-интерфейс CCcam доступен по адресу http://ip-бокса:16001/. Логин и пароль задаются в конфиге директивой WEBINFO LISTEN PORT : 16001 username password.
Статус CONNECTED означает только то, что TCP-соединение установлено. Карта при этом может не отдавать нужный CAID — и каналы не откроются. OFF — нет соединения вообще, проверяй сеть и порт. ON — сервис запущен, но ещё не подключён.
В веб-интерфейсе также видно количество активных ECM-запросов, список подключённых клиентов и текущий uphops по каждому источнику.
Проверка доступности через telnet и ping
telnet hostname 12000
Если порт закрыт — увидишь Connection refused или таймаут. Это значит, что либо CCcam на сервере не запущен, либо порт заблокирован файрволом, либо провайдер сервера использует CGNAT и входящие TCP-соединения просто не доходят.
CGNAT — особая проблема. Сервер за NAT провайдера физически не может принимать входящие соединения без явного проброса на уровне провайдера. Никакой проброс портов на роутере тут не поможет. Единственный выход — VPS с белым IP или смена провайдера.
Ping проверяет только IP-доступность, но не порт. Пинг может идти, а порт при этом закрыт — это нормально и не означает, что сервер недоступен.
Ошибки авторизации и неверный username/password
Если порт открыт, но соединение сразу рвётся — скорее всего проблема в авторизации. Проверь: регистр логина и пароля, лишние пробелы в конфиге, совпадение username в C-строке клиента с F-строкой на сервере.
Ещё один сценарий: пользователь создан на сервере, F-строка прописана, но лимит соединений исчерпан. Параметр MAXDISTANCE или ограничение по количеству клиентов на аккаунт — и новый коннект просто не принимается.
ECM time высокий или freeze: причины и проверка hops/uphops
Нормальный ECM time для hop1 (локальная карта) — 100–400 мс. Значения выше 800 мс дают заметные фризы. Выше 1500 мс — картинка будет постоянно заикаться.
Высокий ECM time при низком hop (1–2) — признак перегруженной карты на стороне источника. Кстати, карта может быть формально hop1, но фризить из-за того, что решара на стороне источника переполнена: 50+ клиентов на одну карту дают очередь ECM-запросов, и время ответа растёт.
Каналы с BISS-шифрованием или нестандартным CAID (например, некоторые региональные пакеты) не откроются, даже если основная подписка работает. Это не ошибка подключения — просто эти CAID не включены в подписку источника.
Переход на OScam: эквивалент CCcam line
OScam давно стал предпочтительным выбором для тех, кто хочет стабильный аптайм и нормальное логирование. Перенести cccam lines в формат OScam несложно, но нужно знать структуру конфигов.
Строка reader в oscam.server для протокола cccam
C-строка C: share.example.net 12000 user1 pass123 no { 0:0:2 } в OScam выглядит так:
[reader]
label = myshare
protocol = cccam
device = share.example.net,12000
user = user1
password = pass123
group = 1
cccversion = 2.3.2
cccmaxhops = 2
Файл конфига: /etc/oscam/oscam.server. Каждый reader — отдельный блок. Можно добавить сколько угодно блоков для разных линий.
Настройка oscam.user и группы readers
В /etc/oscam/oscam.user прописываются пользователи, которые подключаются к OScam-серверу:
[account]
user = localclient
pwd = clientpass
group = 1
au = myshare
Параметр group связывает пользователя с reader-блоком: клиент из группы 1 будет использовать reader с group = 1. Это удобно при нескольких источниках с разными пакетами.
Параметры cccam.reshare и cccam.version
cccversion в блоке reader — это версия протокола CCcam, которую OScam будет представлять серверу. Если сервер требует конкретную версию (например, 2.3.0), а ты подключаешься с 2.2.1 — соединение рвётся при handshake. Спроси у провайдера или попробуй 2.3.0 и 2.3.2 — это наиболее распространённые значения в 2026.
cccreshare в /etc/oscam/oscam.conf управляет тем, будет ли OScam пересдавать полученные CW другим клиентам. По умолчанию отключено, что правильно для чистого клиента.
Почему OScam стабильнее для EMM и долгого аптайма
CCcam демон при длительной работе (2–4 недели) иногда начинает течь по памяти или терять соединения без самовосстановления. OScam переподключается автоматически, умеет failover между несколькими reader-ами и пишет детальный лог с временными метками.
Веб-морда OScam по умолчанию на порту 8888: там видно статус каждого reader, ECM time по каждому CAID и историю запросов. Это несравнимо информативнее, чем веб-интерфейс CCcam на 16001.
EMM в OScam работает корректно даже через несколько хопов при правильной настройке — это важно для карт с периодическим обновлением ключей.
Как выбрать поставщика линий: критерии без рекламы
Рынок cccam lines полон предложений с одинаковыми обещаниями "99.9% uptime" и "HD качество". Реальность проверяется тремя параметрами.
Стабильность аптайма и количество hops
Hop1 — локальная карта на сервере провайдера. Hop2 — провайдер сам берёт у кого-то другого. Hop3 и выше — перепродажа перепродажи. Каждый лишний hop добавляет задержку и точку отказа.
Нормальный ECM time для hop1 — до 400 мс, для hop2 — до 700 мс. Если провайдер не может назвать hop-уровень своих карт — скорее всего это hop3+, и стабильности ждать не стоит.
Аптайм проверяй не по словам, а по логам OScam через неделю после подключения. Реальные обрывы и их частота скажут больше любой рекламы.
Локальные карты против решары
Локальная карта (физическая смарткарта в ридере на сервере провайдера) даёт предсказуемый ECM time и независимость от чужих проблем. Решара зависит от апстрима: если апстрим лежит — лежат и все, кто ниже.
Признаки решары: высокий uphops (3+), нестабильный ECM time с пиками, одновременные обрывы у всех клиентов провайдера. С локальной картой такого не бывает — каждый клиент получает независимый ответ.
Тестовый период и адекватность ECM time
Адекватный провайдер даёт тестовую линию на 24–48 часов. За это время проверяй не только факт открытия каналов, но и ECM time в OScam под нагрузкой (несколько одновременных запросов), наличие нужных CAID и поведение при переключении каналов.
Если тест не дают — это красный флаг. Либо провайдер знает, что качество не выдержит проверки, либо это автоматизированная перепродажа без реальной поддержки.
Какой порт по умолчанию использует CCcam line?
Стандартный порт — 12000, задаётся директивой SERVER LISTEN PORT в CCcam.cfg и может быть любым. Протокол newcamd использует диапазон 10000–15000, каждый порт обычно соответствует отдельному CAID.
Где находится файл CCcam.cfg?
На большинстве образов Enigma2 — /etc/CCcam.cfg. На некоторых сборках под старые Dreambox — /var/etc/CCcam.cfg. Точный путь зависит от образа и версии бинарника. После обновления образа путь может измениться — проверяй через find / -name CCcam.cfg.
Что означают цифры в конце строки, например { 0:0:2 }?
Это параметры решары: первое число — разрешить/запретить пересдачу (0 = разрешить), второе — минимальный hop для пересдачи, третье — максимальная глубина дерева шаринга. Значение { 0:0:2 } означает: пересдавать разрешено, без ограничений по минимальному hop, но не глубже 2 уровней.
Почему CCcam показывает CONNECTED, но каналы не открываются?
Соединение установлено, но это не гарантирует открытие каналов. Возможные причины: нужный CAID не входит в подписку источника, высокий ECM time из-за перегрузки, канал использует BISS или нестандартный CAID, который не включён в пакет. Смотри ECM-лог и список доступных CAID в веб-интерфейсе на порту 16001.
Можно ли использовать CCcam line в OScam?
Да. В /etc/oscam/oscam.server создаёшь блок [reader] с protocol = cccam, указываешь device = hostname,port, user и password. Версию протокола задаёшь через cccversion — желательно согласовать с сервером (обычно 2.3.0 или 2.3.2).
Что такое hop и uphops в контексте линий?
Hop — расстояние от физической карты до конечного пользователя в дереве шаринга. Hop1 — локальная карта на сервере, минимальная задержка. Hop3+ — перепродажа перепродажи, высокий ECM time и нестабильность. Uphops в CCcam.cfg ограничивает приём CW с верхних уровней дерева — защита от бесконтрольного роста задержки.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.