OScam lines: настройка CCcam/newcamd линий в 2026
Если вы получили от провайдера строку вида C: server.example.com 12000 user pass или N: server.example.com 15000 user pass 0102030405... — это и есть oscam lines. Вставить их напрямую куда-то не получится. OScam не читает CCcam.cfg и не понимает mgcamd-формат. Каждую строку нужно вручную конвертировать в секцию [reader] внутри файла oscam.server. Именно здесь большинство и спотыкается.
Дальше разберём всё по шагам: форматы, конвертацию, путь к файлу, типичные ошибки и диагностику. Без воды.
Что такое OScam lines и зачем они нужны
Определение line в контексте OScam
Термин «line» пришёл из эпохи CCcam. Там сервер раздавал доступ через простые текстовые строки — одна строка на один удалённый сервер. Пользователи привыкли называть это «линией». OScam работает принципиально иначе: у него нет единого текстового файла с C-lines и N-lines. Вместо этого каждое соединение с удалённым сервером описывается отдельной секцией [reader] в файле oscam.server.
Так что когда вам дают «линию» — это просто данные для подключения в компактном формате. Ваша задача — развернуть их в полноценную конфигурацию reader-а.
Разница между C-line (CCcam) и N-line (newcamd)
C-line использует протокол CCcam. Порты обычно в диапазоне 12000–20000. Протокол поддерживает «дерево» hop-ов: сервер может пробрасывать карты из своих upstream-источников. Это удобно, но добавляет задержку на каждом уровне цепочки.
N-line — это протокол newcamd. Порты чаще в диапазоне 10000–15000. Newcamd старше, работает по принципу «один порт — один CAID» (хотя современные реализации это обходят). Требует DES-ключ из 28 hex-символов. На медленных каналах или нестабильных сетях newcamd нередко ведёт себя стабильнее CCcam — меньше overhead на уровне протокола. Mgcamd-линии тоже сводятся к newcamd-формату при конвертации в OScam.
Как линия превращается в reader внутри oscam.server
Reader — это абстракция OScam для любого источника ключей: физической карты в ридере, удалённого сервера по CCcam, удалённого сервера по newcamd. Каждый reader имеет уникальный label, протокол, адрес и учётные данные. OScam при старте читает все секции [reader] из oscam.server и поднимает соединения последовательно.
Формат CCcam линии и её конвертация в oscam.server
Структура C-line: host port username password
Стандартная C-line выглядит так:
C: server.example.com 12000 myuser mypassword
Четыре элемента: хост, порт, логин, пароль. Всё. Остальное CCcam согласовывает при handshake автоматически. OScam так не умеет — ему нужно знать версию протокола, глубину hop-ов и ряд других параметров заранее.
Пример секции [reader] с protocol = cccam
Вот как та же C-line выглядит в oscam.server:
[reader]
label = my_cccam_reader
protocol = cccam
device = server.example.com,12000
user = myuser
password = mypassword
group = 1
cccversion = 2.3.2
cccmaxhops = 10
cccwantemu = 0
inactivitytimeout = 30
reconnecttimeout = 30
enable = 1
Это полная рабочая секция. Пробелы вокруг = — не обязательны, но читается удобнее. Порядок параметров внутри секции роли не играет.
Параметры cccversion, cccmaxhops, cccwantemu
cccversion — версия протокола CCcam, которую OScam анонсирует серверу при подключении. Если сервер ожидает конкретную версию (2.3.0 или 2.3.2 — наиболее распространены в 2026), а вы указали другую, соединение либо отклонится, либо работает нестабильно. Уточните у провайдера или начните с 2.3.2.
cccmaxhops — максимальная глубина дерева. Значение 10 — разумный потолок. Ставить выше 10 смысла нет: каждый дополнительный hop добавляет задержку, а доступ к «дальним» картам всё равно ограничен политикой сервера.
cccwantemu — запрос эмулируемых карт. Для большинства случаев ставьте 0. Если reader видит состояние CONNECTED, но не получает ECM — попробуйте убедиться, что на сервере вообще есть доступные CAID для вашего аккаунта.
Куда сохранять файл: /etc/tuxbox/config/oscam.server или /var/keys/
Зависит от прошивки. На Enigma2 (OpenATV, OpenPLi, OpenVIX) путь обычно /etc/tuxbox/config/oscam.server. На некоторых прошивках OpenATV — /etc/oscam/oscam.server. На коробочных Linux-боксах с ручной установкой OScam — путь задаётся флагом -c при запуске, например oscam -c /etc/oscam/.
Частая ошибка: пользователь правит /var/keys/oscam.server, а прошивка запускает OScam с ключом -c /etc/tuxbox/config/. Изменения просто не подхватываются. Проверьте командой ps aux | grep oscam — там будет видно фактический путь к конфигурационной директории.
Формат newcamd (N-line) и настройка reader-а
Структура N-line: host port user pass DESkey
Стандартная N-line:
N: server.example.com 15000 myuser mypassword 01 02 03 04 05 06 07 08 09 10 11 12 13 14
После пароля идёт DES-ключ из 14 байт (28 hex-символов с пробелами). В N-line их пишут с пробелами. В oscam.server — без.
DES key из 28 hex-символов — где берётся
DES-ключ генерируется на стороне сервера и выдаётся вместе с линией. Он не является паролем — это симметричный ключ для шифрования сессии на этапе handshake. Если ключ на клиенте не совпадает с серверным — соединение не установится. Именно поэтому newcamd-reader так часто показывает CONNECT ERROR: пользователь скопировал ключ с пробелами в неправильном месте или перепутал регистр (хотя hex регистронезависим, лучше перепроверить).
Секция [reader] с protocol = newcamd
[reader]
label = my_newcamd_reader
protocol = newcamd
device = server.example.com,15000
user = myuser
password = mypassword
key = 0102030405060708091011121314
group = 1
caid = 0500
inactivitytimeout = 30
reconnecttimeout = 30
enable = 1
Обратите внимание: key= — 28 hex-символов подряд, без пробелов и без разделителей. Именно в таком формате OScam их ожидает. Пробелы внутри значения key= ломают парсинг.
Параметры key, caid, ident
key — DES-ключ. Обязательный для newcamd. Без него reader не поднимется вообще.
caid — идентификатор системы условного доступа. Если оставить пустым, OScam попытается получить список поддерживаемых CAID от сервера при handshake. Это обычно работает. Но если сервер жёстко привязан к одному CAID (например, 0500 для Viaccess или 0B00 для Conax) — лучше прописать явно.
ident — ещё более узкий фильтр по провайдеру внутри CAID. Большинству пользователей не нужен — оставляйте пустым, пока не понадобится фильтрация.
Структура файла oscam.server и порядок настройки
Глобальные параметры внутри секции [reader]
Полный пример файла с двумя reader-ами — один CCcam, один newcamd:
[reader]
label = cccam_main
protocol = cccam
device = server.example.com,12000
user = ccuser
password = ccpass
group = 1
cccversion = 2.3.2
cccmaxhops = 10
cccwantemu = 0
inactivitytimeout = 30
reconnecttimeout = 30
lb_weight = 10
enable = 1
[reader]
label = newcamd_backup
protocol = newcamd
device = backup.example.com,15000
user = nmuser
password = nmpass
key = 0102030405060708091011121314
group = 1
caid = 0500
inactivitytimeout = 30
reconnecttimeout = 30
fallback = 1
lb_weight = 5
enable = 1
Связь oscam.server ↔ oscam.user через group
Это самое место, которое большинство гайдов замалчивает. Параметр group= в секции [reader] и параметр group= в секции [account] файла oscam.user должны совпадать. OScam выдаёт ECM клиенту только из тех reader-групп, к которым клиент привязан.
Если reader в group=1, а клиентский аккаунт в oscam.user имеет group=2 — клиент ничего не получит. Проверяйте это в первую очередь, если reader CONNECTED, но дешифровки нет.
Параметры fallback, lb_weight, audisabled
fallback=1 — reader используется только если все основные reader-ы группы недоступны. Идеально для запасного подключения с другим протоколом или другим провайдером.
lb_weight — вес при балансировке нагрузки. Чем выше значение, тем чаще OScam обращается к этому reader-у. Если основной в 2 раза быстрее резервного — ставьте 10 и 5 соответственно.
audisabled=1 — отключить автоматическое обновление entitlements. Для удалённых CCcam-reader-ов это обычно не нужно и иногда вызывает лишние запросы. Оставляйте 0 или не указывайте.
Несколько reader-ов на один CAID: приоритезация
OScam loadbalancer сам выбирает reader по скорости ECM response. Но если хотите детерминированное поведение — используйте комбинацию fallback и lb_weight. Помните: несколько reader-ов с одинаковым CAID в одной группе без явной настройки будут конкурировать. Это нормально и чаще всего улучшает скорость — OScam выбирает быстрейший.
Для отладки конфигурации запустите OScam с максимальным уровнем debug:
oscam -c /etc/tuxbox/config/ -d 255
В консоль пойдёт подробный лог всех действий reader-ов, включая попытки подключения и ошибки handshake.
Web-интерфейс OScam и проверка статуса линий
Включение httpd через oscam.conf
Добавьте в oscam.conf секцию:
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255
httpdyndns = 0
После рестарта OScam веб-интерфейс доступен по адресу http://<ip-бокса>:8888. На прошивках с файрволлом убедитесь что порт 8888 не заблокирован — или смените на нестандартный.
Статусы reader-а: OK, CONNECTED, CONNECT ERROR, OFF
CONNECTED — соединение установлено, reader авторизован. Если рядом есть цифра ECM time — reader активно используется и всё работает.
CONNECT ERROR — соединение не установлено. Причины: неверный пароль, неверный DES-ключ (newcamd), несовпадение cccversion (CCcam), порт недоступен.
OFF — reader отключён в конфиге. Проверьте enable=0 — иногда WebIF случайно сохраняет этот параметр при ручном редактировании через интерфейс.
CONNECTED без ECM time — reader подключён, но не декодирует. Чаще всего: на стороне сервера нет привязки нужных CAID к вашему аккаунту, или проблема в group= (см. выше).
Чтение раздела Readers в WebIF
В WebIF перейдите в раздел Readers. Там видно: статус, количество успешных/неудачных ECM, среднее время ECM, время последней активности. Это основная панель для мониторинга oscam lines в реальном времени.
ECM time как индикатор качества линии
ECM time — время от запроса дешифровки до получения control word. До 300–500 мс — отлично. До 800 мс — приемлемо, freeze маловероятен. 800–1000 мс — на грани, могут быть подвисания на некоторых каналах. Выше 1000 мс — источник перегружен или сеть плохая. Смотрите на пиковые значения, а не только на среднее.
Troubleshooting: почему линия не подключается
Проверка сетевой доступности: telnet host port
Первый шаг всегда — убедиться что порт вообще доступен:
telnet server.example.com 12000
Если Connection refused — порт закрыт на стороне сервера или IP заблокирован. Если timeout — ваш файрволл или NAT режет исходящие соединения на этот порт. Если соединение установилось и видна непонятная строка — сервер жив, проблема в учётных данных.
Расхождение cccversion между клиентом и сервером
Для CCcam-reader-ов: OScam анонсирует версию из параметра cccversion=. Если сервер настроен принимать только клиентов с версией 2.3.0, а вы указали 2.3.2 (или наоборот) — соединение может отклоняться или работать некорректно. В логах ищите строки вида version mismatch. Попробуйте 2.3.0, затем 2.3.2.
Ещё один момент — конфликт cccnodeid. Если два клиента используют одинаковый node ID (по умолчанию OScam генерирует из MAC-адреса), некоторые серверы блокируют второе подключение. Добавьте явно:
cccnodeid = A1B2C3D4E5F60001
16 hex-символов, уникальных для вашего устройства.
Неверный DES key в newcamd
Самая частая причина CONNECT ERROR в newcamd. Проверьте:
- Ключ в
key=— ровно 28 символов (14 байт) - Нет пробелов внутри значения
- Не перепутаны цифра 0 и буква O, цифра 1 и буква l
- Ключ скопирован целиком, без обрезки в конце строки
В логах OScam для newcamd ошибка ключа выглядит как wrong DES key или login failed сразу после установки TCP-соединения.
Firewall и NAT на стороне клиента
Если OScam работает за NAT (роутер, провайдерский CGNAT) — исходящие соединения обычно работают без проблем. Но если провайдер требует входящих соединений (режим passive или специфические серверы) — нужен белый статический IP или VPN с выделенным адресом. Проверьте также что iptables на самом боксе не блокирует исходящие на нужные порты:
iptables -L OUTPUT -n | grep REJECT
Логи OScam: где смотреть и что искать
Путь к логу задаётся в oscam.conf параметром logfile=. Обычно это /var/log/oscam.log или /tmp/oscam.log на Enigma2. Следить за конкретным reader-ом:
tail -f /var/log/oscam.log | grep my_cccam_reader
Ключевые строки для диагностики: login failed, wrong DES key, can't connect, connection refused, version mismatch, connected to. Последнее — признак успешного подключения.
Критерии выбора источника линий
На что смотреть кроме цены
Дешёвая линия с ECM time 1500 мс и freezing на HD-каналах — это деньги на ветер. Перед покупкой запросите тестовый доступ на 24–48 часов. Нормальный провайдер его даёт. Если тест не предусмотрен — это уже красный флаг.
Также смотрите на то, как оформлена линия при выдаче. Если вам дают один общий пароль для всех клиентов — это shared-аккаунт. Нагрузку от других пользователей вы будете ощущать как повышенный ECM time в пиковые часы. Выделенный порт и уникальные учётные данные — признак нормальной инфраструктуры.
Параметры стабильности: uptime, ECM time, freezing
Приемлемый uptime для основного источника — от 99% в месяц. Это не более ~7 часов суммарного даунтайма. ECM time на основные CAID (0500, 1810, 0B00, 0604) — до 500 мс в обычное время. Проверьте не только днём, но и вечером в прайм-тайм: 20:00–23:00 по местному времени — пиковая нагрузка на большинство серверов.
Поддерживаемые CAID и совпадение с вашими пакетами
CAID — это идентификатор системы шифрования: 0500 (Viaccess), 1810 (Nagravision), 0B00 (Conax), 0604 (Irdeto), 0D00 (CryptoWorks), 0100 (SECA/Mediaguard). Перед покупкой уточните какие именно CAID покрывает источник и совпадают ли они с вашими спутниковыми пакетами. Запросить список CAID — нормальная практика, серьёзные провайдеры указывают это в описании.
Технические признаки серьёзного источника
Хороший признак — возможность получить доступ и по CCcam, и по newcamd. Это означает что сервер поддерживает оба протокола и вы можете выбрать тот, который лучше работает в вашей сети. Наличие личного кабинета со статистикой подключений, ECM-счётчиком и историей — тоже плюс. Если ключи на каналах меняются (key update), нормальный провайдер обновляет их в течение часов, а не дней. Спросите как быстро они реагируют на подобные ситуации — это показатель того, насколько за инфраструктурой реально следят.
Чем C-line отличается от N-line на практике?
C-line — протокол CCcam. Поддерживает дерево hop-ов: один сервер может транслировать карты из нескольких upstream-источников. Больше CAID в одном подключении, но задержка растёт с каждым hop-ом. N-line — newcamd. Один порт обычно под один CAID, требует DES-ключ, зато handshake проще и стабильнее на медленных каналах. На практике для большинства ресиверов разница незаметна, если ECM time у обоих до 400 мс.
Куда вставлять полученную линию в OScam?
Не напрямую. Линию нужно конвертировать в секцию [reader] в файле oscam.server. Путь зависит от прошивки: /etc/tuxbox/config/oscam.server на большинстве Enigma2, /etc/oscam/oscam.server на некоторых OpenATV, или путь заданный флагом -c при запуске OScam. Проверьте через ps aux | grep oscam.
Сколько reader-ов можно подключить одновременно?
Технического лимита в OScam практически нет — десятки и сотни reader-ов поднимаются без проблем. Но каждый активный reader держит TCP-соединение и тратит немного памяти. На слабых Enigma2-боксах с 256 МБ RAM разумный максимум — 10–15 reader-ов. Группируйте их через group= и используйте lb_weight для балансировки, а fallback=1 для резервных.
Что значит ECM time и какое значение нормальное?
ECM time — время от запроса дешифровки до получения control word в миллисекундах. До 300–500 мс — отлично, freeze невозможен. До 800 мс — терпимо. 800–1000 мс — на грани, возможны редкие подвисания. Выше 1000 мс — заметные проблемы, нужно проверять сеть и качество источника. Смотрите в WebIF в разделе Readers.
Почему reader показывает CONNECT ERROR при правильном пароле?
Для newcamd — в 90% случаев причина в DES-ключе: пробелы внутри key=, обрезанный ключ, перепутанные символы. Для CCcam — несовпадение cccversion с серверной (попробуйте 2.3.0 вместо 2.3.2 или наоборот). Реже: порт закрыт файрволлом на стороне клиента, или аккаунт истёк. Проверьте через telnet host port — если TCP не устанавливается, проблема в сети.
Можно ли в одной секции reader смешать cccam и newcamd?
Нет. Параметр protocol= задаётся один на секцию [reader]. Для двух протоколов нужны две отдельные секции с разными label. Это нормальная практика: один reader по CCcam как основной, второй по newcamd с fallback=1 как резервный.
Что такое cccmaxhops и стоит ли его увеличивать?
cccmaxhops — максимальная глубина дерева серверов, через которую OScam принимает карты. Значение 5–10 разумно. Больше 10 почти никогда не нужно: каждый дополнительный hop увеличивает ECM time, а реальный доступ к картам через длинные цепочки нестабилен. Уменьшение до 3–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 или внешние мониторы.