Настройка CCcam и OScam: полный гайд 2026
Если ты уже определился с тем, что хочешь поднять softcam и смотреть зашифрованные спутниковые каналы, то настройка CCcam сервера на OScam конфиг — это именно та задача, которую нужно решить правильно с первого раза. Не общие слова, а конкретные пути к файлам, рабочие блоки конфигов и команды для диагностики. Это то, что я разберу здесь.
Что такое CCcam и OScam: протоколы и принцип работы
CCcam и OScam — это два разных softcam-клиента/сервера. Оба умеют принимать ECM-запросы (запросы на расшифровку) от тюнера, отправлять их на сервер с картой и возвращать CW (control word) обратно. Разница в архитектуре и возможностях.
Отличие CCcam от OScam
CCcam — проще, работает как монолит. Конфиг один, протокол один, настраивается быстро. Но гибкости мало: нельзя тонко управлять ридерами, нет нормального мониторинга, разработка фактически заморожена на версии 2.3.x.
OScam — модульный. Каждый ридер, каждый пользователь, каждый протокол — отдельный блок конфига. Есть веб-интерфейс с реалтайм-мониторингом ECM time, статусами карт, логами. Активно поддерживается сообществом. На сервере — однозначно лучше.
Как работает протокол cs357x и cs378x
cs357x (порт 1234 по умолчанию) и cs378x — это собственные протоколы OScam для передачи ECM/CW между клиентом и сервером. cs378x работает поверх TCP с шифрованием, cs357x — более старый вариант. На внутренней сети хватает cs378x, для внешних соединений лучше именно он из-за шифрования.
Клиент отправляет ECM на сервер по одному из этих протоколов, сервер ищет подходящий ридер с нужным CAID, получает CW от карты и отдаёт обратно. Задержка этого цикла — и есть ECM time.
Роль newcamd, cccam и mgcamd в связке
newcamd (порт 525) — старый протокол, до сих пор используется для совместимости со старыми ресиверами и некоторыми картами. cccam-протокол работает на порту 12000 и поддерживает reshare — то есть сервер может «перепрокидывать» карту дальше по цепочке. mgcamd — отдельный клиент, который также умеет работать с newcamd и своим протоколом mg.
На практике: если у тебя OScam-сервер с локальной картой и CCcam-клиент — связка работает через cccam-протокол. OScam понимает его нативно через модуль cccam.
Установка и пути к конфигурационным файлам
Первое, что нужно знать — где лежат файлы. На разных образах пути отличаются, и это источник половины проблем у новичков.
Установка OScam на Enigma2 (Linux STB)
На Enigma2 OScam ставится через opkg или вручную бинарником. Команда: opkg install oscam (если пакет есть в репозитории образа). Бинарник кладётся обычно в /usr/bin/oscam или /usr/local/bin/oscam.
Для запуска вручную: oscam -c /etc/tuxbox/config/oscam -r 0. Флаг -r 0 — без автоматического рестарта, удобно при отладке. На боевой установке лучше использовать init-скрипт или systemd-юнит.
Структура каталога /etc/tuxbox/config/oscam/
Стандартный путь на большинстве Enigma2-образов (OpenPLi, OpenATV, DreamElite): /etc/tuxbox/config/oscam/. На некоторых образах конфиги лежат в /var/keys/ или /etc/oscam/. Найти можно командой:
find / -name "oscam.conf" 2>/dev/null
В каталоге должны быть минимум четыре файла: oscam.conf, oscam.server, oscam.user, oscam.dvbapi. Без oscam.dvbapi декодирование на самом ресивере не заработает.
Назначение oscam.conf, oscam.server, oscam.user, oscam.dvbapi
oscam.conf — главный файл. Секции [global], [cs378x], [cccam], [newcamd], [webif], [dvbapi]. Здесь задаются порты, логирование, параметры веб-интерфейса.
oscam.server — описывает ридеры: локальные карты (phoenix, smargo) и удалённые серверы (cccam, cs378x, newcamd). Один блок [reader] — один источник CW.
oscam.user — список пользователей, которым разрешено подключаться к этому серверу. Для клиентской установки без шаринга вовне файл минимальный.
oscam.dvbapi — маппинг CAID/SID на адаптеры. Нужен только на ресивере с DVB-тюнером. Позволяет указать, какой ридер использовать для каких каналов.
Настройка сервера: конфиги, порты и протоколы
Здесь начинается настройка CCcam сервера на OScam конфиг в деталях. Разберём каждую секцию.
Секция [global] и [cccam] в oscam.conf
Минимальный рабочий oscam.conf:
[global]
logfile = /tmp/oscam.log
maxlogsize = 512
usrfile = /tmp/oscam.user
debug = 0
nice = -1
preferlocalcards = 1
[cs378x]
port = 1234
[cccam]
port = 12000
reshare = 1
stealth = 1
version = 2.3.0
cccmaxhops = 1
cccreshare = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httprefresh = 10
[dvbapi]
enabled = 1
user = dvbapi
boxtype = dreambox
preferlocalcards = 1 — OScam сначала попробует локальную карту перед решаром. Это снижает ECM time и нагрузку на сервер. stealth = 1 в секции cccam скрывает реальную версию OScam от клиентов.
Открытие портов: cs378x (порт 1234), cccam (порт 12000), newcamd (порт 525)
Порты надо открыть как в firewall ресивера, так и пробросить на роутере (port forwarding), если ресивер за NAT. Команды iptables для ресивера:
iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
iptables -A INPUT -p tcp --dport 1234 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
Важный момент: если ресивер за CGNAT (серый IP от провайдера) — проброс портов невозможен физически. Решение — VPS с белым IP и туннель (например, WireGuard или stunnel). Клиенты подключаются к VPS, VPS через туннель уходит на ресивер. Не самая простая схема, но единственный рабочий вариант в такой ситуации.
newcamd по умолчанию на порту 525, но его часто меняют из соображений безопасности. В oscam.conf добавляется секция:
[newcamd]
port = 525@0500:000000
Формат порт@CAID:ident позволяет ограничить, какие карты доступны через этот порт.
Пример блока reader в oscam.server для локальной карты
Если у тебя смарт-ридер smargo или phoenix подключён к ресиверу:
[reader]
label = local_card
protocol = phoenix
device = /dev/ttyUSB0
caid = 0500
ident = 0500:032830
group = 1
mhz = 357
cardmhz = 357
detect = cd
irdeto-too = 1
mhz и cardmhz — тактовая частота ридера и карты. Стандарт 357 (3.57 МГц), но некоторые карты работают на 600 или 368. Неверное значение — карта не читается или постоянные таймауты. Если карта с частой сменой ключей (ECM каждые 7 секунд), нужно уменьшить ecmwhitelist timeout и убедиться, что cardmhz выставлен точно.
Для удалённого ридера через cccam-протокол:
[reader]
label = remote_cccam
protocol = cccam
device = server.example.com,12000
user = myuser
password = mypassword
caid = 0500,1810
group = 2
cccversion = 2.3.0
ccckeepalive = 1
Настройка клиента и проверка соединения
Добавление C-line на стороне клиента
C-line — строка подключения к cccam-серверу. Формат: C: hostname port username password. Пример:
C: 192.168.1.100 12000 client1 secretpass
В CCcam.cfg (/var/etc/CCcam.cfg) эти строки идут в секцию с C-lines. Можно добавить несколько строк — CCcam попробует по порядку. В OScam та же строка превращается в блок [reader] с protocol = cccam, как показано выше.
Настройка CCcam сервера на OScam конфиг в плане клиентской части проще, чем кажется — главное правильно прописать group и caid в reader, иначе OScam не будет использовать этот ридер для нужных каналов.
Проверка статуса через веб-интерфейс OScam (Readers/Status)
Открываешь браузер: http://IP_ресивера:8888. Вкладка «Readers» — видишь список всех ридеров и их статусы. Зелёный — ридер подключён и карта найдена. Красный — нет соединения или нет карты. Серый — ридер отключён.
На вкладке «Status» (или «ECM Info») видно текущие запросы: CAID, SID канала, ECM time в миллисекундах, какой ридер ответил. Если ECM time выше 400 мс — жди фризов. Нормальный показатель для локальной карты — 80–150 мс, для хорошего удалённого сервера — 150–300 мс.
Чтение логов: /tmp/oscam.log и уровни debug
Лог по умолчанию пишется в /tmp/oscam.log. Смотреть в реалтайме: tail -f /tmp/oscam.log. Через SSH/Telnet работает без проблем.
Уровни debug задаются в oscam.conf в секции [global] параметром debug. Значение 0 — только ошибки, 64 — все ECM запросы, 255 — полный trace. Для диагностики ставить 64 или 128 — этого хватает, чтобы видеть все запросы и ответы без спама.
В логе ищи строки: CONNECTED — ридер подключился, CARD OK — карта прочитана, NO CARD — карта не найдена или не читается, NO CW — ридер не смог расшифровать ECM, AU — идёт обновление ключей (auto update).
Диагностика частых ошибок и фризов
Фризы на HD-каналах и проблема ECM time
HD-каналы требуют более частой смены CW и чувствительнее к задержкам. Если SD идёт нормально, а HD фризит — смотри ECM time в веб-интерфейсе. Время выше 400 мс означает, что CW приходит позже, чем нужно декодеру.
Причины высокого ECM time: перегруженный сервер, длинная цепочка решаров (reshare hop 3-4), плохой канал до сервера, DNS с задержкой. Первое, что делаю — проверяю через ping RTT до сервера. Если пинг 150 мс, ECM time будет минимум 350–400 мс — уже на грани.
Ошибка no matching reader / no cw
«no matching reader» в логах — OScam не нашёл ридер для данного CAID/ident. Проверь:
- В
[reader]прописан нужный CAID (caid = 0500) - Group ридера совпадает с group пользователя в
oscam.user - Параметр
identне ограничивает нужный провайдер - Ридер активен (не
disabled = 1)
«no cw» означает, что ридер нашли, запрос отправили, но ответа нет. Либо карта не поддерживает этот CAID, либо таймаут, либо сервер перегружен.
Отдельная история — несколько ридеров с одинаковым CAID. OScam будет пытаться их по порядку или параллельно в зависимости от настроек. Решение — разбить по группам и назначить приоритет через параметр group в oscam.dvbapi: конкретный CAID привязать к конкретной группе ридеров.
Проблемы с CAID и провайдером (ident)
CAID — идентификатор системы шифрования (например, 0500 — Viaccess, 1810 — Nagravision, 0604 — Irdeto). Ident — идентификатор провайдера внутри этой системы. Если ident неверный — карта есть, CAID правильный, но каналы конкретного провайдера не расшифруются.
Правильный ident берётся из логов OScam при первом успешном ECM. Ищи строку вида ECM for 0500/032830 — вторая часть и есть ident. После этого прописываешь его явно в oscam.server для ридера.
Для тюнинга стабильности работают параметры: reconnecttimeout = 30 (переподключение если сервер не отвечает 30 секунд), cccmaxhops = 1 (не принимать карты с глубиной решара больше 1 — только «живые» карты), cccreshare = 1 (разрешить перепрокидывать карту своим клиентам).
Как выбрать провайдера шаринга: критерии без названий
На что смотреть: аптайм, ECM time, локальные карты
Главный показатель — ECM time. Попроси тестовую линию (большинство нормальных провайдеров дают 24–48 часов теста) и проверь через веб-интерфейс OScam. Хороший сервер даёт стабильные 150–250 мс на HD-каналах без пиков. Если видишь прыжки до 800 мс и выше — это решар через несколько серверов, не локальная карта.
Аптайм проверить за один тест сложно, но можно оставить ресивер на ночь и посмотреть статистику в логах. Частые reconnect в логе — плохой знак.
Локальные карты — это карты, вставленные физически в смарт-ридер на сервере провайдера, а не решар чужих. ECM time у локальной карты — 80–200 мс. У решара — 400 мс и выше. Спрашивай напрямую: «это локальная карта или reshare?»
Признаки нестабильной линии
В логах OScam это выглядит так: частые RECONNECT, ECM time скачет от 100 до 1500 мс, периодически NO CW на конкретных каналах. В веб-интерфейсе ридер иногда краснеет и снова зеленеет.
Фризы именно на HD при нормальном SD — почти всегда высокий ECM time или ограничение cccmaxhops на стороне сервера. На HD ECM приходит чаще (каждые 10–12 секунд против 30 у некоторых SD-пакетов), поэтому любая нестабильность сразу заметна.
Технические вопросы, которые стоит задать перед подключением
Вот что реально стоит уточнить: какие CAID поддерживаются (и с каким ident для твоего региона), есть ли ограничение по количеству одновременных соединений, какой максимальный reshare depth на их стороне, поддерживается ли cs378x или только cccam-протокол, есть ли резервный сервер при отказе основного.
Если провайдер не может ответить на эти вопросы — лучше искать другого. Нормальный сервис знает свою инфраструктуру.
Где лежит файл CCcam.cfg и oscam.conf на ресивере Enigma2?
CCcam.cfg обычно находится в /var/etc/CCcam.cfg. Конфиги OScam — в /etc/tuxbox/config/oscam/ или /var/keys/ в зависимости от образа (OpenPLi, OpenATV, OpenViX и другие используют разные пути). Найти точное расположение через SSH: find / -name "oscam.conf" 2>/dev/null или find / -name "CCcam.cfg" 2>/dev/null. Нестандартные образы иногда хранят конфиги в /usr/keys/ или /etc/softcam/ — find найдёт в любом случае.
Какие порты нужно открыть для CCcam и OScam сервера?
Стандартные порты: cccam — 12000 (TCP), cs378x — 1234 (TCP), newcamd — 525 (TCP), веб-интерфейс OScam — 8888 или 16002 (TCP). Все эти порты нужно открыть в iptables на самом ресивере и пробросить на роутере через port forwarding на локальный IP ресивера. Если провайдер даёт серый IP (CGNAT) — проброс портов невозможен, нужен VPS с белым IP и туннель.
Почему фризят HD-каналы при рабочей линии?
Почти всегда причина — высокий ECM time (выше 400 мс). Смотри в веб-интерфейсе OScam на вкладке Status. Другие причины: ограничение cccmaxhops (сервер перепрокидывает карту через 3–4 хопа), перегруз линии в вечернее время, неверный CAID или ident, карта-решар вместо локальной. HD-каналы чувствительнее к задержкам, потому что ECM обновляется чаще, чем у стандартных каналов.
Чем OScam лучше CCcam для сервера?
OScam гибче по всем параметрам. Модульная архитектура позволяет точно настроить каждый ридер, назначить группы, управлять приоритетами. Веб-интерфейс с реалтайм-мониторингом ECM time — незаменим при диагностике. Поддерживает сразу несколько протоколов (cccam, cs378x, newcamd, gbox) одновременно. CCcam проще в начальной настройке, но при любых нестандартных ситуациях упирается в ограничения. Для серьёзного сервера — только OScam.
Что означает строка C: host port user password?
Это C-line — строка клиентского подключения к cccam-серверу. Формат: C: hostname_или_IP порт логин пароль. Пример: C: myserver.dyndns.org 12000 user1 pass123. Прописывается в /var/etc/CCcam.cfg для CCcam-клиента или в блок [reader] файла oscam.server при настройке CCcam сервера на OScam конфиг (protocol = cccam, device = host,port, user, password). Можно указать несколько C-lines — клиент попробует их по порядку при недоступности основной.
Как посмотреть лог OScam для диагностики?
Лог пишется в /tmp/oscam.log (путь задаётся в oscam.conf, параметр logfile). Смотреть через SSH: tail -f /tmp/oscam.log. Также доступен через веб-интерфейс на вкладке «Logs». Для детальной диагностики выставляй debug = 64 в секции [global] — видны все ECM-запросы. Ключевые статусы: CONNECTED (ридер подключён), CARD OK (карта работает), NO CW (нет ответа от карты), ECM time в мс после каждого запроса.