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+.
Practical checklist for smooth viewing
Even the best CCCam or OSCam line needs two or three simple preparations. Update your receiver firmware, reset the ECM cache once a week and keep 15–20% free space on the USB stick or internal flash so that the reader can store keys without delays.
When tuning a dish, aim for MER/BER reserve: a two‑degree offset or a loose F‑connector often causes the “freezing” that users blame on cardsharing. Keep a short patch cord to test alternative routers, and save two profiles in OSCam — one for TCP, one for UDP — so you can switch instantly if your ISP starts filtering a protocol.
Utgard.tv monitors each hub 24/7, but you can speed up diagnostics by keeping a short log of your receiver actions. Note the time when you changed the channel, which CAID was active and whether you used Wi‑Fi or Ethernet. This tiny “journal” helps engineers reproduce your environment in the lab and return with a solution in minutes instead of hours.
- Keep two line slots enabled: if the first server hits a maintenance window, the second one instantly takes over without re-entering credentials.
- Run a monthly speed and latency test. Stable 1–2 Mbps with ping <80 ms is enough for SD/HD, but if jitter exceeds 20 ms, switch the router to wired mode.
- Save the Utgard.tv status page and Telegram bot @utgard_tv_bot to bookmarks — they publish maintenance notices before SEMrush or uptime monitors raise alerts.