Переход с CCcam на OScam: полная настройка 2026

Миграция cccam to oscam — задача, которую откладывают годами, а потом делают за выходные. CCcam работал, не трогали. Потом апстрим обновился, добавил новые CAID, а твой демон не умеет с ними работать. Или просто надоели заморозки без внятного лога. Эта статья — пошаговый переход с минимальным простоем: берём рабочий CCcam.cfg, переписываем в формат OScam, проверяем одну линию, потом переносим остальные.

Никакой магии тут нет, но подводных камней достаточно. Главный — OScam разносит конфиг по нескольким файлам там, где CCcam держал всё в одном. Из-за этого люди путают oscam.server и oscam.user и застревают.

Почему переходят с CCcam на OScam

Если коротко: CCcam закрытый, давно заброшенный бинарник. Последний официальный релиз — 2.3.x, и с тех пор репозитория нет. Багфиксы? Только если найдёт неофициальный патч. OScam — открытый исходник, активный svn на streamboard.eu, коммиты идут регулярно.

Активная разработка и поддержка против заброшенного CCcam

OScam компилируется под конкретное железо и прошивку. Enigma2, OpenATV, VTi, Gemini — всё собирается с нужными флагами. CCcam распространяется как готовый бинарник под ARM, который не всегда корректно работает на новых SoC. На некоторых боксах типа Vu+ Solo 4K CCcam 2.3.28 просто падает без объяснений, а OScam там живёт нормально.

Гибкость: несколько протоколов в одном демоне

Это реально убойная фича. OScam умеет одновременно принимать клиентов по CCcam-протоколу, newcamd, camd35, mgcamd, cs357x, cs378x — и при этом сам подключаться к апстримам по любому из них. CCcam такого не умел от слова совсем: только свой протокол на выходе.

Практически это значит: если у тебя часть клиентов ходит по CCcam, а часть по newcamd — OScam закроет всё из одного демона. Не нужно держать два разных сервера.

Веб-интерфейс мониторинга и детальные логи

CCcam-логи — это боль. Там нет ни ECM time, ни внятного статуса ридеров. OScam на порту 8888 (настраивается через httpport в oscam.conf) отдаёт полноценный веб-интерфейс: видишь каждый ридер, его статус CONNECTED/CONNECTERROR, текущий ECM time, какие SID дешифруются прямо сейчас. При разборе проблем это экономит часы.

Поддержка современных CAS и эмуляции

OScam поддерживает Nagravision 3, Irdeto 2/3, BISS, PowerVu — и через softcam-эмуляцию умеет то, что CCcam вообще не мог. Если у тебя локальная карта и нужна эмуляция для дополнительных пакетов — в CCcam это был тупик, в OScam решается через cccwantemu = 1 в ридере.

Соответствие конфигов: CCcam.cfg против файлов OScam

Вот здесь большинство спотыкается при переходе cccam to oscam. CCcam хранит всё в одном файле /etc/CCcam.cfg: и апстримы, и локальные карты, и клиентов. OScam разбивает это на несколько файлов, у каждого своя роль.

Структура OScam: oscam.conf, oscam.server, oscam.user, oscam.services

oscam.conf — главный конфиг демона. Здесь глобальные настройки: пути логов, параметры веб-интерфейса, протокольные секции [cccam], [newcamd] с портами.

oscam.server — все источники, к которым ты подключаешься. Апстримные линии CCcam, newcamd, локальные карты через ридер-устройство. Это твои входящие CW.

oscam.user — клиенты, которые подключаются к тебе. Каждый аккаунт — блок [account] с логином, паролем, правами.

oscam.services — опционально, фильтрация по SID/CAID. Если нужно ограничить ридер или клиента конкретными каналами.

Где CCcam держит всё в одном файле

В CCcam.cfg строка C: — это подключение к апстриму (клиентская линия). Строка N: — то же самое, но по протоколу newcamd. F: — локальная карта, вставленная в ресивер. B: — блокировка CAID. Всё вперемешку в одном файле.

В OScam каждая из этих сущностей живёт в своём месте. Понял логику — дальше просто.

Таблица соответствия директив

CCcam.cfg директива Файл OScam Блок Ключевые параметры
C: host port user pass oscam.server [reader] protocol = cccam, device = host,port
N: host port deskey user pass oscam.server [reader] protocol = newcamd, key = DES
F: /dev/sci0 slot oscam.server [reader] protocol = internal, device = /dev/sci0
ACCOUNT user pass oscam.user [account] user =, pwd =, group =
B: caid ident oscam.server / oscam.user ident = caid =, ident = (с исключениями)

Расположение файлов: /etc/tuxbox/config/oscam/ или /var/etc/oscam/

Зависит от прошивки и способа установки. На классическом Enigma2 с DreamOS — /etc/tuxbox/config/oscam/. На OpenATV, OpenPLi, VTi — чаще /var/etc/oscam/. На некоторых прошивках конфиг лежит в /usr/keys/ — это старый вариант для плагина EMU.

Проверить просто: ps | grep oscam — в строке запуска будет ключ -c с путём к конфиг-директории. Или oscam --help покажет дефолтный путь компиляции.

Конвертация клиентской линии CCcam в reader OScam

Принцип миграции cccam to oscam такой: сначала переносим одну линию, проверяем что она живая через веб-интерфейс, и только потом переносим остальные. Не нужно конвертировать весь конфиг сразу, ловить непонятные ошибки и не знать, от какой строки они идут.

Пример: C: line → [reader] с protocol = cccam

Исходная строка в CCcam.cfg:

C: myserver.example.com 12000 myuser mypassword

Становится блоком в oscam.server:

[reader]
label         = upstream_cccam_01
protocol      = cccam
device        = myserver.example.com,12000
user          = myuser
password      = mypassword
cccversion    = 2.3.0
cccmaxhops    = 5
cccwantemu    = 0
inactivitytimeout = 30
reconnecttimeout  = 30
group         = 1
caid          = 0500,1810,0604

Поле label произвольное, только латиница без пробелов. group — ключевой параметр для связки с клиентами, об этом ниже.

Параметры cccversion, cccmaxhops, cccwantemu

cccversion — версия протокола CCcam, которую OScam объявляет апстриму при рукопожатии. По умолчанию ставят 2.3.0, но если апстрим ругается на CONNECTERROR — попробуй 2.2.1 или 2.1.4. Некоторые старые серверы не понимают версию выше 2.2.x.

cccmaxhops — максимальное число хопов (перепродаж) от карты до тебя. Чем больше хопов, тем выше ECM time. Ставь 5 как стартовое значение. Если апстрим честный — у тебя будет 1-2 хопа реально. Выше 8 — уже мусор, EC time будет 800ms+ и заморозки гарантированы.

cccwantemu = 1 — запрашивать у апстрима эмулированные CW. Для большинства реальных линий оставь 0. Нужно только если апстрим специально предоставляет эмуляцию для конкретных CAID.

group, caid, ident, services — управление тем, что отдаёт ридер

Параметр group — это связующее звено между ридерами и клиентами. Ридер с group = 1 будет доступен клиентам, у которых тоже есть group = 1 в oscam.user. Клиент с group = 2 не видит ридер с group = 1. Это главный механизм изоляции.

caid фильтрует по системе шифрования. Например, caid = 0500 — только Viaccess, 1810 — Nagravision 3. Если не указывать — ридер пробует все CAID, что неэффективно и замедляет работу.

inactivitytimeout = 30 и reconnecttimeout = 30 — OScam переподключится через 30 секунд если апстрим завис. В CCcam такого контроля не было вообще.

Проверка через веб-интерфейс: статус ENTITLEMENT и CONNECTED

После запуска OScam открой http://[ip-бокса]:8888. Вкладка Readers — там твой новый ридер. Статус должен быть CONNECTED. Если CONNECTERROR — проверяй cccversion, порт, логин/пароль, доступность хоста.

Кликни на имя ридера — увидишь вкладку ENTITLEMENT. Там список CAID и SID, которые отдаёт апстрим. Если список пустой при статусе CONNECTED — возможно, CAID не совпадают или апстрим ограничил права. Сравни с тем, что давал CCcam на том же апстриме.

Запусти канал, который точно дешифровался в CCcam. В oscam.log должна появиться строка вроде:

ECM upstream_cccam_01 found (120 ms) CW:...

120ms — нормально. 800ms — апстрим перегружен или много хопов. Буква E вместо found — ридер не смог дешифровать этот SID.

Настройка OScam как сервера для своих клиентов

Если к тебе подключаются клиенты — это настраивается в двух местах: oscam.conf задаёт протокол и порт, oscam.user описывает каждого клиента.

Блок [account] в oscam.user для каждого клиента

[account]
user          = client01
pwd           = secretpass
group         = 1
cccmaxhops    = 3
cccreshare    = 1
monlevel      = 0
au            = 1

group = 1 — клиент получает доступ к ридерам с group = 1. Если хочешь изолировать клиентов — давай разные группы и создавай ридеры под них. cccreshare — разрешить ли клиенту ре-шарить твои шары своим клиентам. Ставь 0 если не хочешь, чтобы линия расходилась дальше.

Протокол отдачи: cccam port в oscam.conf

В oscam.conf добавь секцию:

[cccam]
port          = 12000
version       = 2.3.0
reshare       = 1
minimizecards = 0
updateinterval = 240

Порт 12000 — распространённый выбор, но ничего магического в нём нет. Можешь поставить любой свободный выше 1024. Главное — открыть его в firewall и пробросить на роутере если клиенты внешние. ufw allow 12000/tcp или аналог для твоей системы.

Важный момент: если при тестировании OScam ты ещё не остановил CCcam, они будут конфликтовать на одном порту. Либо измени порт OScam на что-то другое (например, 12001) на время теста, либо останови CCcam. Порт не может слушаться двумя демонами одновременно.

newcamd: ключ DES, порт и caid в [newcamd]

[newcamd]
port          = 15000@0500:000000
key           = 0102030405060708091011121314

Формат порта: номер@CAID:ident. Можно задать несколько портов для разных CAID. Ключ DES — 28 hex-символов, должен совпадать у клиента и сервера. Клиент с N: строкой в своём CCcam.cfg подключается к этому порту.

Так работает смешанная конфигурация: одни клиенты ходят на порт 12000 по CCcam-протоколу, другие — на 15000 по newcamd. OScam обслуживает оба потока одновременно без каких-либо проблем.

Ограничение через group, caid, sid

Хочешь дать клиенту только Viaccess, но не Nagravision? В блок [account] добавь caid = 0500. Хочешь ограничить конкретными каналами — создай файл oscam.services с блоком сервисов и укажи его через services =. Это гораздо гибче, чем система блокировок в CCcam.

Запуск, логи и проверка работоспособности

Минимальный oscam.conf для старта — секция [global] с путём к логу и секция [webif] для веб-интерфейса:

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

[webif]
httpport      = 8888
httpuser      = admin
httppwd       = adminpass
httpallowed   = 127.0.0.1,192.168.1.0-192.168.1.255

Запуск демона и автозагрузка на Enigma2

Вручную: /usr/bin/oscam -c /var/etc/oscam -b (флаг -b — фон). На Enigma2 с установленным через плагин OScam: Settings → Plugins → OScam → Start. Автозапуск добавляется через init.d скрипт, который обычно создаётся при установке плагина автоматически.

Проверить что запустился: ps | grep oscam должен вернуть строку с процессом. Если нет — смотри oscam.log на ошибки запуска, обычно это неверный путь к конфигу или синтаксическая ошибка в файле.

Чтение oscam.log: ecm time, decode, CW

Успешное декодирование выглядит так:

2026/05/30 14:23:45 c (client01) ECM upstream_cccam_01 found (85 ms)

Неудача:

2026/05/30 14:23:45 c (client01) ECM not found (all readers)

85ms ECM time — хорошо, канал будет без заморозок. 300ms — пограничное значение, иногда будут фризы. 600ms+ — линия не тянет, ищи другой ридер или снижай cccmaxhops. ECM time выше 1500ms почти гарантированно даёт постоянные черные экраны.

Веб-интерфейс: вкладки Readers, Users, Status

Readers — статус каждого ридера, текущий ECM time, число успешных/неуспешных дешифровок за сессию. Users — кто подключён, что смотрит, ECM time для каждого клиента. Status — общая картина: сколько всего ECM запросов, процент успешных, активные потоки.

Если ридер постоянно переходит между CONNECTED и CONNECTERROR — апстрим нестабилен или неверно настроен inactivitytimeout. Попробуй увеличить до 60.

Контроль ECM time и процента дешифровки

Для включения подробного лога в oscam.conf: debug = 64 (только ECM) или debug = 255 (всё). Но debug = 255 на постоянной основе — плохая идея: лог разрастётся до сотен мегабайт за час. Включай для диагностики, потом возвращай debug = 0.

Как выбрать качественный источник шар

Технически OScam настроен, но качество работы напрямую зависит от того, что подключено через oscam.server. Плохой источник никакая настройка не спасёт.

Критерии: стабильный uptime, низкий ECM time, малое число хопов

Реальный uptime смотри не по заявлению провайдера, а по своему oscam.log: считай сколько раз ридер переходил в CONNECTERROR за сутки. Нормальный источник — 1-2 переподключения в сутки максимум, обычно вообще ноль. Если счётчик reconnects в веб-интерфейсе за день двузначный — источник нестабилен.

ECM time должен быть стабильно низким, не скачущим. Средний 80-150ms при стабильном пике до 250ms — хорошо. Если средний 400ms — либо апстрим перегружен, либо слишком много хопов до реальной карты.

Поддержка нужных CAID и пакетов

Перед подключением уточни, какие именно CAID предоставляет источник. Canal Digitaal — CAID 0500, Sky — 0963/09C4, Tivusat — 0500 с определёнными ident. Если тебе нужен конкретный пакет, а источник работает только по другому CAID — он тебе не подойдёт, даже если стабильный.

Смотри в ENTITLEMENT через веб-интерфейс OScam — там видно, что реально отдаёт подключённый ридер, без гадания.

Прозрачность по протоколам и лимитам reshare

Хороший источник чётко указывает: какой протокол (CCcam/newcamd), порт, ограничения по reshare и числу одновременных подключений. Если тебе дают линию без явного запрета reshare, это не значит что reshare разрешён — за него могут забанить без предупреждения.

Про cccreshare и cccmaxhops: если ты ресейлишь шары дальше с большим числом хопов — апстрим это видит. Линия с cccmaxhops = 1 у апстрима не пустит тебя дальше одного хопа физически. Не пытайся обходить — бан по IP быстрый и часто постоянный.

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

Частые freeze на конкретных каналах при нормальном ECM time у остальных — признак перепродажи линий с разными CAID от разных карт. Часть карт работает, часть нет.

Высокое число хопов (8+) в ENTITLEMENT — линия прошла через много перепродавцов. ECM time будет плохой, и вся цепочка рассыпается при малейшей нестабильности в середине. Такие линии дешевле, но в реальной работе создают больше проблем, чем экономят денег.

Если ECM time нормальный, но канал всё равно замерзает — проблема может быть не в линии, а в cccmaxhops на стороне OScam. Увеличь до 8-10, перезапусти и проверь.

Итог по переходу

Полный переход cccam to oscam занимает час-два при наличии рабочего конфига. Главное — не конвертировать всё сразу, а делать по одной линии с проверкой через веб-интерфейс. После того как убедился что OScam стабильно держит все ридеры — CCcam можно отключать насовсем. Возврата обычно не хочется: логи, веб-мониторинг и гибкость по протоколам делают своё дело.

Можно ли использовать существующий CCcam.cfg напрямую в OScam?

Нет, форматы несовместимы. OScam не читает CCcam.cfg — он использует свой набор файлов: oscam.conf, oscam.server, oscam.user. Строки C:, N:, F: из CCcam нужно вручную переписать в блоки [reader] с параметром protocol =. Логика та же, синтаксис другой. Прямого импорта или автоконвертера нет.

Чем oscam.server отличается от oscam.user?

oscam.server — это апстримы и карты, к которым подключаешься ты (исходящие соединения). oscam.user — это клиенты, которые подключаются к тебе (входящие аккаунты). Это главная точка путаницы при миграции cccam to oscam: CCcam держал всё в одном файле, OScam разделяет по роли. Если ты сделал блок в неправильном файле — или апстрим не подключится, или клиент не авторизуется.

Какой порт использовать для протокола CCcam в OScam?

Порт задаётся в секции [cccam] файла oscam.conf параметром port. Стандартно используют 12000, но это не фиксированное значение — подойдёт любой свободный порт выше 1024. Порт нужно открыть в firewall (ufw allow 12000/tcp) и пробросить на роутере, если клиенты подключаются извне.

Что делать, если ридер показывает CONNECTERROR?

Последовательность проверки: 1) телнет на порт апстрима (telnet host 12000) — доступен ли хост вообще; 2) проверить логин/пароль; 3) попробовать другую cccversion (2.2.1 вместо 2.3.0); 4) проверить firewall на своей стороне. Смотри oscam.log с debug = 64 — там будет конкретная причина: timeout, auth failed, wrong protocol.

Высокий ECM time после перехода — в чём причина?

Первое что проверяем: cccmaxhops в ридере. Поставь 3-4 и посмотри изменится ли. Если нет — апстрим сам по себе медленный: проверь ECM time через ENTITLEMENT в веб-интерфейсе, там видно среднее по ридеру. Также влияет порядок ридеров: OScam пробует их последовательно, если приоритетный ридер медленный — все ECM будут идти через него. Настрой caid и ident в ридерах чтобы запросы шли сразу к нужному.

Можно ли одновременно отдавать шары по CCcam и newcamd?

Да, и это одно из ключевых преимуществ OScam перед CCcam. Активируй обе секции в oscam.conf: [cccam] с одним портом и [newcamd] с другим. Клиенты в oscam.user подключаются к нужному порту по своему протоколу — OScam разруливает всё внутри. Никаких дополнительных демонов не нужно.

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

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