CCcam lines: настройка C-line и F-line в 2026

Если вы впервые держите в руках строку вида C: server.example.com 12000 myuser mypass и не понимаете, что с ней делать — эта статья для вас. CCcam lines — это не просто «строки для вставки в конфиг». Каждое поле несёт смысл, и ошибка в любом из них даст либо «connected, 0 cards», либо вообще таймаут подключения. Разберём всё по порядку: формат, синтаксис, куда вставлять, что делать когда не работает.

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

Line в контексте CCcam — это строка конфигурационного файла, описывающая параметры одного подключения. Не магическая ссылка, не токен авторизации — просто текстовая запись с хостом, портом, логином и паролем. Весь протокол CCcam построен на таком обмене: клиент подключается к серверу по TCP, аутентифицируется, получает список доступных карт и запрашивает расшифровку ECM-пакетов.

По умолчанию протокол работает на порту TCP 12000, но это не жёсткое требование — порт задаётся явно в самой строке и в конфиге сервера. Если ваш провайдер говорит «порт 17000» — так и пишите.

Определение C-line, F-line, N-line

C-line (Client line) — клиентская строка. Вы вставляете её в свой конфиг, и CCcam идёт подключаться к чужому серверу. Это строка входящего трафика с вашей стороны.

F-line (Friend line) — серверная строка. Она описывает клиента, которому вы разрешаете подключаться к вашему серверу. Логика обратная: не «куда идти», а «кого пускать».

N-line — строка для протокола Newcamd. Формат другой: N: host port user pass key. Используется реже, но встречается в смешанных конфигурациях, где CCcam клиент подключается к Newcamd серверу или локальному кардридеру.

Чем отличается клиент от сервера в CCcam

В CCcam одна инсталляция может быть одновременно клиентом и сервером. Ваш ресивер с C-line подключается вверх к провайдеру, а если у вас прописаны F-line — вы сами раздаёте вниз своим клиентам. Это каскадная модель (reshare), и именно её контролируют параметры uphops/downhops.

Как line связана с протоколом CCcam

После TCP-соединения CCcam делает handshake: обменивается хешами SHA1 для аутентификации, затем сервер отправляет список доступных CAID и провайдеров. Дальше клиент шлёт ECM-запросы, сервер возвращает CW (Control Word) для расшифровки. Всё это происходит в рамках одного TCP-соединения, описанного в C-line. Нет C-line — нет соединения.

Формат C-line: разбор каждого поля

Базовый синтаксис выглядит так:

C: hostname port username password

Пример:

C: example.host 12000 testuser testpass

Никаких кавычек, никаких точек с запятой. Просто пробелы между полями. Если где-то закралась лишняя пробел или символ — CCcam проигнорирует строку или выдаст ошибку парсинга в логе.

Синтаксис: C: hostname port username password

hostname — доменное имя или IP-адрес сервера. Лучше использовать домен, а не IP: если у сервера динамический адрес с DDNS (например, через DuckDNS или No-IP), IP будет меняться, а домен останется. Вписывать 0.0.0.0 в реальную строку не надо — это плейсхолдер.

port — TCP порт, на котором слушает CCcam сервер. Стандарт — 12000, но серверы часто используют 11000, 15000, 17000 и другие. Провайдер всегда указывает конкретный порт — не угадывайте.

username / password — учётные данные, выданные провайдером под ваш аккаунт. Регистрозависимые. TestUser и testuser — разные логины.

Дополнительные параметры (no/yes, флаги шифрования)

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

C: example.host 12000 testuser testpass no { 0:0:0 }
C: example.host 12000 testuser testpass yes

no / yes — флаг активации шифрования трафика (AES). Большинство провайдеров используют no, то есть шифрование отключено. Если сервер требует yes — укажите явно, иначе handshake упадёт.

Блок { 0:0:0 } — фильтр CAID. Можно ограничить, какие карты запрашивать от этого сервера. Для большинства случаев не нужен, но полезен при конфликте нескольких C-line с одинаковым CAID.

Куда вставлять C-line в CCcam.cfg

На Enigma2 (Dreambox, VU+, Zgemma и подобные) конфиг лежит по адресу:

/var/etc/CCcam.cfg

На некоторых сборках и дистрибутивах Linux:

/etc/CCcam.cfg

Открываете файл в любом текстовом редакторе (nano, vi, WinSCP + Notepad++), добавляете C-line отдельной строкой. Несколько C-line можно прописать подряд — CCcam подключится ко всем и будет использовать первую доступную карту для каждого CAID.

После редактирования нужен перезапуск демона:

init 4 && init 3   # Enigma2
# или
/etc/init.d/cccam restart  # стандартный init.d

Пример рабочей строки с пояснением полей

C: myserver.dyndns.org 12000 client01 xK9pL2mN no
  • myserver.dyndns.org — DDNS-имя сервера (не статический IP)
  • 12000 — стандартный порт CCcam
  • client01 — уникальный логин для этого подключения
  • xK9pL2mN — пароль, минимум 8 символов, лучше случайный
  • no — шифрование отключено

Формат F-line и настройка собственного сервера

F-line нужна, когда вы сами становитесь сервером и хотите дать кому-то доступ к своим картам. Каждая F-line — это один разрешённый клиент.

Синтаксис F-line: F: username password uphops downhops

F: frienduser friendpass 1 1

Поля:

  • username — логин клиента
  • password — пароль клиента
  • uphops — насколько далеко клиент может пересдавать карты дальше (reshare depth). 0 = пересдача запрещена, 1 = клиент может раздать одному уровню ниже
  • downhops — сколько уровней карт снизу клиент видит. 1 — видит только прямые карты сервера

Параметры reshare и uphops/downhops

Это самое часто недопонимаемое место. Uphops = 0 означает: клиент получает карты, но не имеет права их пересдавать своим клиентам. Uphops = 1 — может раздать один уровень вниз. Чем выше значение, тем дальше расходится карта по сети, тем больше нагрузка и задержка ECM.

Downhops контролирует видимость. При downhops = 1 клиент видит только карты, которые висят непосредственно на вашем сервере. При downhops = 2 — видит и карты ваших апстримов. Для большинства конфигураций достаточно 1 1.

Связка F-line с подключённой картой или ридером

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

F: frienduser friendpass 1 1
ALLOW: frienduser { 0500:000000 }

Также в CCcam.cfg нужно указать порт для входящих подключений:

SERVER LISTEN PORT: 12000

Безопасность: уникальные логины и пароли

Никогда не давайте двум клиентам один логин. Если один клиент начнёт злоупотреблять или его конфиг утечёт — вы не сможете заблокировать его, не задев второго. Уникальные учётные данные = полный контроль: один клиент ведёт себя плохо — удаляете его F-line и перезапускаете демон.

Пароли стоит генерировать случайными: openssl rand -hex 8 даст 16-символьную строку, которую не подберут перебором.

Эквивалент в OScam: перевод line в конфиг OScam

Многие используют OScam вместо CCcam — он гибче, активно поддерживается и лучше работает с несколькими протоколами одновременно. Но cccam lines как таковых в OScam нет — вместо строк там секции в INI-файлах. Вот как перевести.

C-line как [reader] с protocol = cccam

C-line вида C: example.host 12000 user pass превращается в секцию в файле oscam.server:

[reader]
label         = my_cccam_server
protocol      = cccam
device        = example.host,12000
user          = user
password      = pass
cccversion    = 2.3.0
cccmaxhops    = 10
reconnecttimeout = 15

Файл лежит по пути /etc/oscam/oscam.server или /var/keys/oscam.server в зависимости от сборки. На Enigma2 с плагином OScam — обычно /etc/tuxbox/config/oscam/.

F-line как [account] в oscam.user

F-line для раздачи клиентам прописывается в oscam.user:

[account]
user          = frienduser
password      = friendpass
group         = 1
cccmaxhops    = 1
au            = 0
uniq          = 1

Параметр cccmaxhops здесь эквивалентен uphops в CCcam F-line. uniq = 1 запрещает одновременный вход под одним логином с разных адресов — полезная защита.

Файлы oscam.server и oscam.conf

Основной конфиг OScam — oscam.conf. Там настраивается, в том числе, на каком порту слушать CCcam-клиентов:

[cccam]
port          = 12000
version       = 2.3.0
reshare       = 1
stealth       = 0

Без секции [cccam] в oscam.conf OScam не будет принимать входящие подключения от CCcam клиентов, даже если в oscam.user есть правильные аккаунты.

Сравнение поведения CCcam и OScam

ПараметрCCcamOScam
Клиентская строкаC-line в CCcam.cfg[reader] в oscam.server
Серверная строкаF-line в CCcam.cfg[account] в oscam.user
Порт сервераSERVER LISTEN PORT в .cfg[cccam] port в oscam.conf
Управление reshareuphops/downhops в F-linecccmaxhops в oscam.user
Веб-интерфейсПорт 16001Порт 8888 (настраивается)

OScam лучше справляется со смешанными конфигурациями, где одновременно работают CCcam, Newcamd и локальные кардридеры. CCcam проще в первоначальной настройке — одна строка, и всё работает.

Диагностика: почему line не работает

«Подключено, но ничего не показывает» — самая частая жалоба. Разберём по шагам.

Проверка статуса подключения (CCcam Info, веб-интерфейс)

Первым делом открываем веб-интерфейс CCcam. По умолчанию он доступен на порту 16001:

http://<IP_ресивера>:16001

Там видно: список подключённых серверов (C-lines), статус каждого (connected / disconnected), количество карт, hops, последнее время активности. Если сервер показывает «connected, 0 cards» — соединение есть, но карт нет. Это проблема на стороне сервера (карта не вставлена, CAID не совпадает, аккаунт ограничен).

В Enigma2 также есть плагин CCcam Info, который показывает те же данные в GUI ресивера.

Чтение логов и значения hops/cards

Лог CCcam пишется в /tmp/cccam.log или /var/log/cccam.log. Там искать:

  • connected to server — соединение установлено
  • got X cards — получено карт
  • ECM timeout — сервер не ответил на запрос расшифровки вовремя
  • wrong password / authentication failed — неверные учётные данные

Большое значение hops (4–6 и выше) означает, что карта далеко в цепочке reshare. Каждый дополнительный hop добавляет задержку к ECM-ответу. Если ECM занимает больше 1500–2000 мс, канал будет фризить или не открываться вовсе.

Сетевые проверки: ping, telnet на порт, firewall

Если в логе вообще нет строки «connected» — проблема сетевая. Пошагово:

1. Проверить DNS:

nslookup example.host

Если домен не резолвится — проблема с DNS. Попробуйте заменить на IP временно.

2. Проверить доступность порта через telnet:

telnet example.host 12000

Если подключение не устанавливается и через несколько секунд «connection refused» или таймаут — порт закрыт. Либо сервер не слушает, либо firewall блокирует. Некоторые интернет-провайдеры блокируют порт 12000 целенаправленно — в этом случае просите сервер переехать на нестандартный порт (например, 443 или 8080).

3. NAT и проброс портов. Если вы поднимаете сервер (F-line) и клиенты не могут подключиться — скорее всего, порт не проброшен на роутере. В настройках роутера нужно создать правило Port Forwarding: TCP, внешний порт 12000 → внутренний IP ресивера, порт 12000. Без этого подключение снаружи невозможно физически.

Типичные ошибки: неверный порт, DNS, блокировка ECM

Динамический IP без DDNS. Если хост в C-line прописан как IP, а у сервера динамический адрес — при смене IP всё перестаёт работать. Решение: DDNS-клиент на сервере (ddclient, inadyn) + доменное имя в C-line вместо IP.

Конфликт нескольких C-line с одинаковым CAID. Когда у вас две C-line, обе дают доступ к одному и тому же CAID — CCcam выбирает первую доступную. Если хотите явно задать приоритет или ограничить каждую строку своим набором CAID, используйте блок { CAID:provider } после пароля.

ECM timeout и фриз при высоком hops. Типичный сценарий: сервер подключён, карты видны (например, 5 карт, hops 4), но каналы фризят. CCcam Info показывает время ECM 1800–2500 мс. Это пограничное значение — при хорошем канале проходит, при любой нагрузке или задержке сети валится. Ищите более «близкий» источник карт с hops 1–2.

И последнее: если вы переносите конфигурацию между CCcam и OScam в смешанной сети — не забудьте, что OScam требует явной секции [cccam] в oscam.conf для поддержки CCcam-клиентов. Без неё клиенты с cccam lines просто не смогут подключиться, хотя аккаунты в oscam.user будут существовать.

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

C-line — клиентская строка: вы вписываете её в свой конфиг, и CCcam идёт подключаться к чужому серверу. F-line — серверная: она описывает клиента, которому вы сами разрешаете подключаться к вашему серверу. Направление противоположное. C-line = «куда идти», F-line = «кого пускать».

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

TCP 12000 — стандартный порт для обмена по протоколу CCcam. Порт 16001 — веб-интерфейс для мониторинга. Оба можно изменить: порт сервера задаётся через SERVER LISTEN PORT в CCcam.cfg и явно указывается в C-line клиента. Если провайдер выдал другой порт — используйте его.

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

На Enigma2 (Dreambox, VU+, Zgemma) — /var/etc/CCcam.cfg. На обычных Linux-системах — /etc/CCcam.cfg. После любого редактирования файла нужно перезапустить демон CCcam — иначе изменения не применятся.

Подключение есть, но каналы не открываются — почему?

Самые частые причины: сервер показывает 0 карт (карта не вставлена или аккаунт ограничен), CAID или провайдер не совпадает с тем, что транслирует канал, слишком большой hops с высоким ECM-временем, ECM timeout. Открываете веб-интерфейс на порту 16001, смотрите число карт и время ECM — это даст ответ в 90% случаев.

Можно ли использовать CCcam line в OScam?

Да. C-line переносится в секцию [reader] с параметром protocol = cccam в файле oscam.server. F-line становится секцией [account] в oscam.user. Протокол совместим — OScam корректно подключается к CCcam серверам и принимает CCcam клиентов при наличии секции [cccam] в oscam.conf.

Что означают uphops и downhops в F-line?

Uphops — на сколько уровней клиент имеет право пересдавать полученные карты своим клиентам. 0 — пересдача запрещена полностью, 1 — может раздать одному уровню ниже. Downhops — сколько уровней карт снизу клиент видит на вашем сервере. Значение 1 1 подходит для большинства конфигураций и не создаёт лишней нагрузки.

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

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