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 выключен, случайный выбор reader1— fastest reader: выбирается тот у которого лучший ECM time2— 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 или внешние мониторы.