Переход с 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 или внешние мониторы.