OScam и CCcam lines: настройка C-lines и N-lines 2026

Если вы уже установили CCcam или OScam на ресивер и держите в руках строку от провайдера — добро пожаловать в самую мутную часть настройки. Oscam cccam lines на первый взгляд выглядят как набор цифр и слов, но каждый параметр там критичен. Одна опечатка — и вместо картинки получаете "no card" или "connection refused". Разберём всё по порядку: синтаксис, конфиги, конвертацию форматов и диагностику.

Что такое lines в CCcam и OScam: базовые понятия

Line — это строка подключения к серверу, который раздаёт ключи для декодирования каналов. Это не какой-то хитрый протокол — просто текстовая строка в конфиге, которая говорит клиенту куда подключаться и с какими учётными данными.

C-line в CCcam: формат и назначение

C-line — строка подключения по протоколу CCcam. Выглядит так:

C: hostname port username password

Например:

C: server.example.com 12000 myuser mypassword

Порты для CCcam обычно в диапазоне 12000–13000, реже 16000. Аутентификация через SHA1-хеш от логина и пароля — не DES, это важно. C-line прописывается в файл /etc/CCcam.cfg или /var/etc/CCcam.cfg (зависит от прошивки).

N-line в OScam: формат и отличия от C-line

N-line — строка протокола newcamd. Использовалась в старых клиентах типа Newcs и Mgcamd, OScam тоже её поддерживает. Синтаксис другой:

N: hostname port username password DES-key

DES-ключ — 14 байт в шестнадцатеричном виде, обычно выглядит как 01 02 03 04 05 06 07 08 09 10 11 12 13 14. Без него соединение не установится — это обязательный параметр аутентификации в newcamd-протоколе. Порты: 15000–16000.

Протокол CCcam vs newcamd: ключевые различия

CCcam-протокол — проприетарный, разработан специально для card sharing. Простая аутентификация, широкая поддержка на ресиверах. Newcamd — старше, изначально создавался для эмуляции условного доступа, требует DES-ключ, зато более устойчив к помехам и в большинстве случаев даёт лучший ECM time.

Выбор протокола чаще всего диктует сам источник — что даёт провайдер, то и используешь. Если дают выбор — newcamd через OScam обычно стабильнее.

F-line, L-line, M-line: вспомогательные типы строк

В CCcam.cfg встречаются и другие типы строк. F-line задаёт пользователя, которому разрешено подключаться к вашему серверу CCcam:

F: username password

L-line — путь к лог-файлу:

L: /var/log/CCcam.log

M-line — маппинг CAID, позволяет перемаппировать один идентификатор условного доступа на другой. Используется редко, в основном когда сервер раздаёт карту под нестандартным CAID.

Настройка CCcam C-line: пошаговая инструкция

Расположение файла CCcam.cfg на разных прошивках

Пути разные в зависимости от прошивки ресивера:

  • Enigma2 (OpenATV, OpenPLi, DreamOS): /var/etc/CCcam.cfg
  • Стандартная установка на Linux: /etc/CCcam.cfg
  • Некоторые старые ресиверы Dreambox: /usr/keys/CCcam.cfg
  • Enigma1: /var/tuxbox/config/CCcam.cfg — и учтите, что newcamd там часто не поддерживается вообще

Перед редактированием убедитесь через find / -name "CCcam.cfg" 2>/dev/null, что нашли правильный файл, а не копию.

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

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

C: hostname port username password { caid:provid } no { caid } reshare hops

Разбор по полям:

  • hostname — IP или домен сервера (домен требует DNS, IP надёжнее)
  • port — TCP-порт, уточняйте у источника
  • username — логин (чувствителен к регистру)
  • password — пароль (пробелы и спецсимволы могут ломать парсинг, берите в кавычки если есть)
  • { caid:provid } — ограничение по CAID и Provider ID (необязательно)
  • no { caid } — исключить конкретный CAID из этого источника
  • reshare — количество хопов для перешаривания (0 = не шарить дальше)

Добавление нескольких C-lines и приоритеты

CCcam читает C-lines сверху вниз. При поступлении запроса на декодирование он опрашивает серверы параллельно и берёт первый успешный ответ. Порядок строк влияет на то, к какому серверу обращаться первым.

C: primary.server.com 12000 user1 pass1
C: backup.server.com 12000 user2 pass2
C: third.server.com 16000 user3 pass3

Не прописывайте больше 5–7 C-lines. Каждая держит постоянное TCP-соединение, и при старте CCcam пытается подключиться ко всем сразу — это нагружает CPU ресивера и увеличивает ECM time.

Параметры no, hop, reshare и их влияние

Параметр reshare определяет, будете ли вы раздавать карты этого сервера своим клиентам. reshare=0 — только для себя. reshare=1 — ваши клиенты получат карту напрямую. reshare=2 — ваши клиенты смогут перешарить ещё раз. Большинство провайдеров блокируют reshare на своей стороне.

Параметр no полезен когда источник раздаёт несколько CAID, но один из них конфликтует с локальной картой:

C: server.com 12000 user pass no { 0B00 }

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

Просто отредактировать cfg недостаточно — CCcam не перечитывает файл на лету. Правильная команда:

killall -9 CCcam && sleep 2 && CCcam -d -s

Флаг -d запускает в режиме демона, -s выводит статус в syslog. На Enigma2 вместо этого используют:

/etc/init.d/CCcam restart

Или через плагин управления softcam в интерфейсе ресивера. После перезапуска подождите 30–60 секунд — CCcam устанавливает соединения не мгновенно.

Настройка OScam N-line и интеграция с CCcam

Структура oscam.server: секция [reader]

OScam не использует формат C-line или N-line напрямую — у него собственный конфиг-файл /etc/oscam/oscam.server с секциями [reader]. Каждый reader — это одно подключение к источнику карт.

Базовая структура секции:

[reader]
label         = my_reader
protocol      = cccam
device        = server.example.com,12000
user          = myuser
password      = mypassword
group         = 1
cccversion    = 2.3.2
cccmaxhops    = 10
reconnecttimeout = 30

Перевод C-line в формат OScam reader

Это то, что большинство гайдов объясняют криво или не объясняют вообще. Берём C-line:

C: myserver.com 12000 johndoe secret123

Конвертируем построчно в oscam.server:

[reader]
label         = cccam_main          ; произвольное имя
protocol      = cccam               ; протокол CCcam
device        = myserver.com,12000  ; host,port через запятую без пробела
user          = johndoe             ; username из C-line
password      = secret123           ; password из C-line
group         = 1                   ; группа для балансировки
cccversion    = 2.3.2               ; версия протокола CCcam
cccmaxhops    = 10                  ; максимум хопов для поиска карт
reconnecttimeout = 30

Параметр cccversion критичен. Если сервер работает на CCcam 2.1.4, а вы указали 2.3.2 — рукопожатие может провалиться. Попробуйте 2.1.4, 2.2.1 и 2.3.2 по очереди если соединение не устанавливается.

Для N-line (newcamd) конвертация другая. Берём N-line:

N: myserver.com 15000 johndoe secret123 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Конвертируем:

[reader]
label         = newcamd_reader
protocol      = newcamd
device        = myserver.com,15000
user          = johndoe
password      = secret123
key           = 0102030405060708091011121314
group         = 1

DES-ключ пишется слитно, без пробелов.

Подключение CCcam-сервера к OScam как клиента

OScam может выступать клиентом CCcam-сервера — описано выше через protocol=cccam в reader. Дополнительно в /etc/oscam/oscam.conf убедитесь что разрешён нужный протокол:

[global]
logfile       = /var/log/oscam.log
maxlogsize    = 1000
debug         = 64

[monitor]
port          = 988

[webif]
httpport      = 8888
httpuser      = admin
httppwd       = adminpass

Webif на порту 8888 — удобный способ мониторить статус reader без лезания в логи.

Подключение OScam-сервера к CCcam-клиенту

Тут обратная ситуация: OScam раздаёт карты, CCcam-клиент подключается к OScam. В /etc/oscam/oscam.conf добавляем:

[cccam]
port          = 12001

В /etc/oscam/oscam.user создаём пользователя:

[account]
user          = ccclient
pwd           = clientpass
group         = 1
au            = 1

Теперь в CCcam.cfg клиента прописываем:

C: oscam-server-ip 12001 ccclient clientpass

Порт 12001 выбран чтобы не конфликтовать с CCcam если оба запущены на одной машине — об этом ниже.

Файлы oscam.user и oscam.conf для двусторонней работы

Если OScam одновременно клиент (через reader) и сервер (раздаёт своим клиентам), то oscam.user определяет права раздачи. Параметр group в reader и в user должен совпадать — иначе пользователь не увидит карты из этого reader.

Типичные ошибки lines и их решение

Ошибка 'connection refused' и проверка портов

Самая частая причина — неверный порт или сервер недоступен. Диагностика:

telnet server.example.com 12000

Если увидели "Connection refused" — либо порт закрыт файрволом, либо CCcam не запущен на сервере, либо вы опечатались в порту. Если "Connected" — сервер живой.

Проверка что OScam слушает нужный порт локально:

netstat -an | grep 12001

Для захвата трафика и отладки рукопожатия:

tcpdump -i any port 12000 -XX

Особая ситуация — NAT. Если строки работают в локальной сети, но не через интернет, проверьте проброс портов на роутере. CCcam и OScam сами по себе NAT не пробивают.

'No card available' при корректной строке

Соединение установлено, аутентификация прошла, но канал не декодируется. Это не ошибка подключения — это ошибка прав или CAID. Включаем подробный лог в OScam, меняя в oscam.conf:

debug         = 4

В oscam.log ищем строки с "ECM" для нужного канала — там будет виден реальный CAID который передаёт канал. Если CAID не совпадает с тем что раздаёт источник — "no card" неизбежен. Также проверьте: не стоит ли reshare=0 на стороне сервера, и не заблокирован ли ваш CAID параметром no.

Karte timeout и параметры inactivitytimeout

Freeze на канале иногда вызван не отсутствием карты, а таймаутом соединения. OScam разрывает reader если долго нет запросов. Настройка в oscam.server:

inactivitytimeout = 30
reconnecttimeout  = 15

inactivitytimeout в секундах — через сколько OScam считает reader мёртвым. 30 секунд — рабочий компромисс. Слишком маленькое значение вызывает постоянные переподключения.

Несовпадение CAID/Provider ID между сервером и клиентом

Сервер может раздавать карту с CAID 0x0B00 провайдер 0x000000, а канал запрашивает CAID 0x0B00 провайдер 0x000010. Это разные провайдеры — ECM не совпадёт. Смотреть в логах:

grep "ECM" /var/log/oscam.log | tail -50

Там будет видно что запрашивается и что реально отвечает reader. Провайдер ID нужно уточнять у источника или смотреть в базах CAID (они публичные, типа dreambox-tools.info/caid/).

Проблемы с reshare: hop count и циклы

Когда несколько серверов шарят друг другу карты — возможны петли. OScam справляется с этим через ограничение cccmaxhops. Если видите в логах бесконечные запросы от одного reader — установите:

cccmaxhops    = 3

И никогда не ставьте reshare взаимно между двумя серверами без контроля хопов — получите шторм запросов.

Критерии выбора источника lines: на что смотреть

Технические параметры: uptime, ECM time, hop level

ECM time — время ответа на запрос ключа. Хороший источник: стабильно ниже 500ms, идеально 100–200ms. Если ECM time скачет от 200ms до 2000ms — сервер перегружен или hop слишком высокий.

Uptime должен быть выше 99% за любой 30-дневный период. Посчитать просто: 99% — это 7 часов даунтайма в месяц. Меньше — норма, больше — проблема.

Hop level: hop 1 — прямое подключение к физической карте. Hop 2 — один ресейлер. Hop 3 — два. Начиная с hop 4 ECM time растёт нелинейно и freeze в прайм-тайм становятся нормой.

Поддерживаемые CAID и регионы вещания

Перед тестом выясните точные CAID нужных вам каналов. Информацию об этом можно получить через сам ресивер или специализированные базы. Источник должен явно указывать какие CAID поддерживает — без этой информации тестировать вслепую.

Регион вещания тоже важен: карта немецкого провайдера не декодирует польские региональные каналы даже при одинаковом CAID.

Стабильность пика (prime time) vs дневное время

Ключевой тест — прайм-тайм с 18:00 до 23:00 по местному времени целевого рынка. Именно тогда нагрузка на серверы максимальна. 24-часовой мониторинг через oscam-stat покажет реальную картину:

grep "ECM" /var/log/oscam.log | awk '{print $1, $5}' | sort -k1

Сравните ECM time в 10:00 и в 20:00. Если разрыв двукратный — сервер перепродан.

Совместимость протоколов и версий клиента

При использовании протокола CCcam уточняйте версию: 2.1.4, 2.2.1 или 2.3.2. Хеши рукопожатия не совпадают между мажорными версиями — соединение молча падает без очевидной ошибки. Это то, что большинство гайдов по oscam cccam lines обходят стороной.

Если источник требует конкретную версию — указывайте её точно в параметре cccversion в OScam или проверяйте версию бинарника CCcam через CCcam -v.

Признаки нестабильного или перепроданного источника

Красные флаги, которые видно сразу:

  • ECM time >1000ms в обычное время суток
  • Hop 4+ в статистике OScam
  • Частые разрывы (reconnect каждые несколько минут в логах)
  • Freeze именно в пиковые часы — классика перепродажи
  • Разные каналы одного CAID с разным ECM time — карты из разных источников, кластер

Расширенная конфигурация: failover и load balancing

Несколько reader для одного CAID: fallback логика

Реальная конфигурация для продакшна выглядит так: основной reader плюс один-два запасных. OScam по умолчанию опрашивает все reader параллельно и берёт первый ответ — это называется load balancing. Но можно настроить чтобы запасной включался только при недоступности основного.

Параметр fallback и lb_mode в OScam

В oscam.conf:

[lb]
lb_mode       = 1
lb_save       = 300

Значения lb_mode:

  • 0 — load balancing выключен, случайный выбор reader
  • 1 — fastest reader: выбирается тот у которого лучший ECM time
  • 2 — oldest reader first: самый давно не использовавшийся
  • 3 — lowest usage: наименее нагруженный

Для большинства применений lb_mode=1 — оптимальный выбор. Он автоматически переключится на запасной reader если основной начнёт тормозить.

Параметр fallback=1 в секции reader помечает его как резервный — OScam обратится к нему только если все основные reader (без fallback) недоступны:

[reader]
label         = backup_reader
protocol      = cccam
device        = backup.server.com,12000
user          = user2
password      = pass2
group         = 1
fallback      = 1

Группы reader (group) и пользователей

Группы позволяют изолировать карты между пользователями. Reader с group=1 видят только пользователи с group=1 в oscam.user. Это полезно когда вы раздаёте карты нескольким клиентам с разными правами.

Пример: у вас два источника oscam cccam lines — один для спорта (CAID 0x0500), другой для кино (CAID 0x1810). Разным клиентам — разные группы:

[reader]
label  = sport_reader
group  = 1,3

[reader]
label  = cinema_reader
group  = 2,3
[account]
user   = sportclient
group  = 1

[account]
user   = cinemaclient
group  = 2

[account]
user   = allaccess
group  = 3

Cache exchange (CSP) между OScam-серверами

CSP (Cache Sharing Protocol) — это обмен уже расшифрованными ключами между OScam-серверами в реальном времени. Если один сервер уже решил ECM для канала, он может отдать ключ соседнему серверу без обращения к карте. Итог: ECM time близкий к нулю.

Настройка в oscam.conf:

[csp]
port          = 10000
cacheex       = 2

cacheex=2 — двусторонний обмен (принимаем и отдаём). cacheex=1 — только принимаем. В oscam.server для peer-сервера:

[reader]
label         = csp_peer
protocol      = csp
device        = peer.server.com,10000
group         = 1
cacheex       = 2

CSP особенно полезен в кластере из нескольких OScam-серверов — первый сервер решает ECM, остальные получают ответ из кеша за миллисекунды. Это та часть конфигурации, которая редко встречается в обычных гайдах по oscam cccam lines.

Важный момент: CSP не работает через NAT без дополнительной настройки. Если серверы за разными роутерами — нужен проброс порта 10000.

В чём разница между C-line и N-line?

C-line — это строка подключения по протоколу CCcam. Порты обычно 12000–13000, аутентификация через SHA1-хеш. N-line — протокол newcamd, порты 15000–16000, требует DES-ключ из 14 байт. C-line проще в настройке, N-line в большинстве случаев даёт лучший ECM time и более надёжное соединение. OScam поддерживает оба формата через параметр protocol=cccam или protocol=newcamd в секции reader.

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

Да, полностью. В /etc/oscam/oscam.server создаёте секцию [reader] с protocol=cccam, переносите host и port в параметр device=host,port, логин в user, пароль в password. Обязательно укажите cccversion=2.3.2 (или другую версию если сервер старый). OScam полностью поддерживает CCcam как в роли клиента, так и в роли сервера.

Почему C-line подключается, но показывает 'no card'?

Соединение установлено, но источник не отдаёт нужный CAID. Включите debug=4 в oscam.conf и посмотрите в логах какие CAID реально приходят от этого reader. Возможные причины: на сервере стоит reshare=0 и он не перешаривает карты, либо ваш CAID заблокирован параметром no:{caid} в конфиге сервера, либо просто этот источник не поддерживает нужный вам CAID.

Какой порт стандартный для CCcam и OScam?

Жёсткого стандарта нет — каждый сервер настраивается отдельно. Типичные диапазоны: CCcam — 12000 и 16000; OScam newcamd — 15000–16000; OScam camd35 — 16001; OScam webif — 8888 или 8081; OScam CSP — 10000. Конкретный порт всегда нужно уточнять у источника строк.

Что значит hop в C-line и почему это важно?

Hop — количество промежуточных серверов между вашим клиентом и физической картой. Hop 1 означает что вы подключены напрямую к серверу с реальной картой — это лучший вариант: минимальный ECM time, максимальная надёжность. Hop 2–3 — через одного-двух посредников, ECM time растёт. Hop 4+ — нестабильно, freeze в прайм-тайм практически гарантированы. Значение hop видно в статистике OScam webif для каждого reader.

Как проверить что lines рабочие до полной настройки?

Четыре шага: 1) telnet host port — соединение должно установиться, не "Connection refused". 2) Добавьте reader в OScam и откройте webif на порту 8888 — статус reader должен показать "connected" и ненулевое количество cards. 3) Запустите OScam в режиме отладки: oscam -d -b и проверьте лог на "login OK". 4) Через 5 минут работы посмотрите ECM count в статистике — если он ненулевой, строка рабочая.

Сколько C-lines можно прописать в CCcam.cfg одновременно?

Жёсткого лимита нет, но на практике больше 7–10 — плохая идея. Каждая активная C-line держит постоянное TCP-соединение, при старте CCcam пытается подключиться ко всем сразу — это нагружает и CPU, и сеть. Слишком много строк увеличивает время до первого декодирования и создаёт конфликты при одинаковых CAID на разных серверах. Оптимально: 3–5 качественных источников с hop 1–2, а не 20 с hop 5+.

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

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