/

Настройка CCcam и OScam: полное руководство 2026

Главная Статьи Настройка CCcam и OScam: полное руководство 2026

Дата публикации

08.06.2026

Настройка CCcam и OScam: полное руководство 2026

Эта статья — про настройка CCcam и OScam сервера: конфигурация и решение проблем, с которыми сталкиваются все, кто пытается поднять всё самостоятельно. Не теория, не маркетинг — конкретные пути, синтаксис, команды и таблица диагностики. Если у тебя Enigma2 или DreamBox и ты уже потратил несколько часов на "почему нет картинки", читай дальше.

Базовая настройка CCcam: структура конфига и пути к файлам

CCcam читает единственный конфиг — CCcam.cfg. Всё остальное, что ты мог видеть в интернете (отдельные файлы пользователей, xml-конфиги), это либо сторонние GUI, либо артефакты старых версий. Сам демон работает с одним файлом, и его структура важна.

Где лежат конфиги: /var/etc/CCcam.cfg и /etc/CCcam.cfg

Стандартный путь на Enigma2 — /var/etc/CCcam.cfg. На образах OpenATV и OpenPLi он чаще всего там же, но на кастомных сборках встречается /etc/CCcam.cfg. Если не знаешь, где лежит файл на конкретном образе, проверяй так:

find / -name CCcam.cfg 2>/dev/null

Права на файл должны быть 644, владелец — root. Если CCcam запускается из-под другого пользователя (бывает на некоторых сборках), chmod нужно подстраивать под него. После любых изменений конфига — перезапуск:

chmod 644 /var/etc/CCcam.cfg
/etc/init.d/CCcam restart

Синтаксис строки C: line (host port username password)

Строка подключения к серверу выглядит так:

C: hostname.example.com 12000 myuser mypassword

Порядок полей жёсткий: хост, порт, логин, пароль. Без двоеточий, кавычек и лишних символов. Пробел как разделитель. Если хост недоступен по DNS — пиши IP напрямую. Параметр hops (количество прыжков карты) добавляется пятым аргументом: C: host 12000 user pass 2. По умолчанию hops = 1.

Несколько серверов — несколько строк C:. CCcam попробует их по очереди при недоступности первого.

Параметры F: line для отдачи локальной карты

Строка F: описывает пользователя, которому CCcam отдаёт карту как сервер. Формат:

F: username password 1 0 0 0 { 0000:000000 }

Последнее поле { 0000:000000 } — блокировка конкретных CAID/провайдеров. Если хочешь заблокировать отдачу локальной карты для определённого пакета, прописываешь туда его CAID. Если отдаёшь всё — ставишь просто пустые скобки { } или вообще убираешь их.

Глобальные опции: SERVER LISTEN PORT, ALLOW TELNETINFO

Минимальный рабочий конфиг выглядит примерно так:

SERVER LISTEN PORT: 12000
ALLOW TELNETINFO: yes
TELNETINFO PORT: 16000
TELNETINFO PASSWORD: telnpass
KEEPALIVE TIMEOUT: 0

C: server.example.com 12000 user password
F: localuser localpass 1 0 0 0 { }

SERVER LISTEN PORT — порт, на котором CCcam принимает подключения клиентов. Менять можно на любой незанятый, но тогда нужно не забыть открыть его в firewall. ALLOW TELNETINFO включает мониторинг через telnet на порту 16000 — удобно для быстрой диагностики без SSH.

Настройка OScam: oscam.conf, oscam.server и oscam.user

OScam — это три файла минимум. Без понимания того, как они связаны между собой, ничего не заработает. Большинство проблем с OScam — из-за неправильной связки групп между ридером и пользователем. Но об этом ниже.

Структура каталога /etc/tuxbox/config/oscam/ или /var/keys/

На Enigma2 конфиги OScam чаще всего лежат в /etc/tuxbox/config/oscam/. На OpenATV 7.x встречается /var/keys/. На Armbian-сборках для generic Linux — /usr/local/etc/oscam/. Проверить:

find / -name oscam.conf 2>/dev/null

Все три основных файла должны быть в одном каталоге: oscam.conf, oscam.server, oscam.user.

Секция [global] и [cs357x]/[cccam] в oscam.conf

[global]
logfile = /var/log/oscam/oscam.log
maxlogsize = 500
logduplicatelines = 0
preferlocalcards = 1

[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httprefresh = 10

[cs357x]
port = 3457

[cccam]
port = 12001
version = 2.3.0
reshare = 1

Секция [webif] — это веб-интерфейс мониторинга на порту 8888. После запуска OScam открываешь http://ip-ресивера:8888 и видишь статусы всех ридеров в реальном времени. Без этого диагностировать проблемы вслепую гораздо сложнее.

Описание ридеров в oscam.server (protocol = cccam)

Каждый ридер — отдельный блок в oscam.server. Для подключения к CCcam-серверу:

[reader]
label = my_cccam_server
protocol = cccam
device = server.example.com,12000
user = myuser
password = mypassword
cccversion = 2.3.0
cccmaxhops = 2
reconnecttimeout = 30
group = 1
caid = 0500,0604
ident = 0500:020200,042800

Параметр cccversion должен совпадать с тем, что ожидает сервер. Если сервер на CCcam 2.2.1, а ты шлёшь 2.3.0 — могут быть проблемы с рукопожатием. caid и ident фильтруют, какие запросы уходят на этот ридер. Если оставить пустыми — ридер будет пробовать расшифровать всё подряд, что иногда приводит к лишней нагрузке.

Раздача линий через oscam.user и группы (group)

И вот здесь ломаются 80% установок. Связка групп работает так: ридер в oscam.server имеет group = 1, а пользователь в oscam.user должен иметь group = 1, чтобы OScam понял: этот пользователь может использовать этот ридер.

[account]
user = clientuser
pwd = clientpass
group = 1
au = 1
caid = 0500,0604

Если группы не совпадают — в веб-интерфейсе линия может быть зелёной, но расшифровки не будет. OScam просто не свяжет запрос клиента с нужным ридером. Это не баг, это архитектура — специально так устроено для гибкого управления доступом.

Протоколы, порты и сетевая часть

Половина проблем с подключением — сетевые. Неоткрытые порты, NAT без проброса, firewall, который тихо дропает пакеты. Разберём по порядку.

Порты CCcam (12000) и cs357x/cs378x в OScam

CCcam по умолчанию слушает порт 12000. OScam использует несколько протоколов с разными портами:

ПротоколПорт по умолчаниюСекция в oscam.conf
CCcam12000[cccam]
cs357x (newcamd)3457[cs357x]
cs378x (camd35)3468[cs378x]
WebIF8888[webif]

Newcamd (cs357x) — более старый протокол, но иногда единственный вариант для старых ресиверов. CCcam-протокол в OScam — это эмуляция, позволяющая принимать клиентов, которые "думают", что подключаются к настоящему CCcam. На практике работает нормально.

Проброс портов и NAT на роутере

Если ресивер стоит за роутером и ты хочешь подключить к нему внешних клиентов — нужен проброс порта. На роутере создаёшь правило: внешний TCP-порт 12000 → внутренний IP ресивера, порт 12000.

Если ресивер за двойным NAT (роутер провайдера + твой роутер) — проброс портов может быть невозможен без доступа к роутеру провайдера. В такой ситуации ресивер работает только как клиент, но не как сервер для внешних подключений. Это не катастрофа — большинство домашних установок именно так и работают.

На самом сервере открываем порт через iptables:

iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
# Сохранить правила:
iptables-save > /etc/iptables/rules.v4

Проверка доступности: telnet, netstat, nc

Прежде чем лезть в конфиги — проверь, слушается ли порт вообще:

# На сервере:
netstat -tlnp | grep -E '12000|8888|3457'

# С клиента:
telnet server.example.com 12000
# или
nc -zv server.example.com 12000

Если telnet сразу обрывается или выдаёт "Connection refused" — порт не слушается или закрыт firewall. Если висит и ждёт — соединение установлено, проблема в аутентификации или протоколе.

Связка OScam как клиент к CCcam-серверу

Схема "один CCcam-сервер — несколько OScam-клиентов" работает так: каждый клиент подключается через ридер с protocol = cccam. OScam при этом не нужен в режиме сервера — он чисто потребляет карту с удалённого хоста и раздаёт её локально через cs357x или DVB-устройство. Это самая распространённая схема на одиночных ресиверах.

Диагностика и решение типичных ошибок

Настройка CCcam и OScam сервера: конфигурация и решение проблем — это во многом про умение читать логи. OScam пишет очень подробно, если правильно выставить уровень отладки.

Чтение логов: oscam.log и debuglevel

В oscam.conf секция [global]:

logfile = /var/log/oscam/oscam.log
debuglevel = 64

Значение debuglevel = 255 включает максимальную детализацию — все ECM-запросы, все ответы, время обработки. Для продакшена слишком много, но при диагностике незаменимо. Можно менять на лету через веб-интерфейс без перезапуска.

Лог крутишь в реальном времени:

tail -f /var/log/oscam/oscam.log | grep -E 'ECM|reader|CAID'

Ошибки 'cardserver connection failed' и timeout

СимптомВероятная причинаРешение
connection failedПорт закрыт, неверный host/ip, сервер не запущенtelnet host port, проверить netstat на сервере
login incorrectНеверный логин или парольПерепроверить F:-строку на сервере и C:-строку у клиента
timeout после коннектаВерсия протокола не совпадает, firewall режет сессиюСверить cccversion, проверить statefull firewall
reconnecting loopСервер отклоняет по IP или лимиту подключенийУточнить у провайдера лимит сессий

ECM не проходит: проверка ecm time и SID

ECM time — время ответа на запрос расшифровки. Нормальное значение — до 500ms. При 700-900ms уже будут периодические фризы. Выше 1000ms — постоянные проблемы. Смотришь в веб-интерфейсе OScam: Readers → конкретный ридер → колонка "ecm time".

Если линия зелёная, но каналы не идут — первый подозреваемый несовпадение CAID/провайдера. Смотришь, какой CAID у нужного канала (через встроенный сервис-менеджер ресивера или CAM-меню), и сверяешь с тем, что реально приходит от ридера. В oscam.log будет строка вроде:

2026/03/15 21:14:03 c (clientuser) ECM CAID: 0604, provid: 000000 -- rejected (not found)

Это значит — ридер не нашёл нужный CAID в своём пуле. Либо сервер этот пакет не отдаёт, либо в oscam.server не прописаны нужные CAID/ident для этого ридера.

Freeze/чёрный экран при правильном подключении

Три сценария, которые встречаются чаще всего:

  1. Freeze только в прайм-тайм — признак oversell на стороне сервера. Линия продана большему количеству клиентов, чем карта может обслужить. В логах увидишь ecm time, который растёт с 18:00 до 23:00 и падает ночью. Решение — менять провайдера линии.
  2. Черный экран на одном спутнике из двух — ридер настроен на CAID одного пакета, а на второй спутник нужен другой. Пример: Hotbird и Astra могут иметь разные провайдер-ID даже при одинаковом CAID. Прописывай ident для каждого провайдера отдельно.
  3. Периодический freeze каждые ~30 секунд — скорее всего, istimeout или reconnect loop. OScam переподключается и в момент реконнекта теряет расшифровку.

Как выбрать линию/провайдера: критерии без рекламы

Без конкретных названий, потому что рынок меняется, а советовать сервис, который закроется через месяц — бессмысленно. Вот что реально важно при выборе.

Стабильность и uptime сервера

Нормальный uptime — 99%+ за месяц. Проверить это до покупки сложно, но можно попросить тестовый период (большинство адекватных провайдеров дают 24-48 часов). Во время теста гони мониторинг через oscam.log и смотри, сколько было реконнектов. Больше 2-3 в сутки — уже плохой знак.

Адекватный ecm time и приоритет caid

Проси провайдера указать среднее ecm time для нужного тебе пакета. Меньше 300ms — хорошо. 300-500ms — приемлемо. Выше 500ms — либо сервер далеко географически, либо перегружен. Географическая удалённость актуальна: сервер в Германии для пользователя в Казахстане даст лишние 80-120ms только на пинг.

Защита от oversell и количество подключений

Oversell — главная беда бюджетных линий. Одну карту продают 30 клиентам вместо 5-10. Спрашивай провайдера напрямую: сколько клиентов на одну физическую карту. Честный ответ — хороший знак. Если уходят от ответа — красный флаг.

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

Заранее уточни CAID и провайдер-ID для своего пакета и спутника. Проверь, поддерживает ли линия протокол, который ты используешь: CCcam, newcamd или cs378x. Некоторые серверы работают только по одному протоколу. Также уточни версию CCcam, которую эмулирует сервер — чтобы прописать правильный cccversion в oscam.server.


Где находится конфигурационный файл CCcam.cfg?

На большинстве Enigma2-устройств — /var/etc/CCcam.cfg. На части образов (особенно старых) — /etc/CCcam.cfg. Если не уверен, выполни find / -name CCcam.cfg 2>/dev/null — найдёт в любом случае. На кастомных сборках OpenATV и OpenPLi путь обычно стандартный, но бывают исключения при нестандартной компоновке образа.

Какой порт по умолчанию использует CCcam?

Порт 12000 — задаётся параметром SERVER LISTEN PORT в CCcam.cfg. OScam использует отдельные порты для каждого протокола: cs357x (newcamd) — 3457, cs378x — 3468, CCcam-эмуляция — задаётся в секции [cccam] oscam.conf. Все порты можно менять, но тогда нужно обновить настройки и firewall соответственно.

Почему линия зелёная, но каналы не открываются?

Зелёный статус означает только то, что соединение с сервером установлено. Расшифровка — отдельный вопрос. Чаще всего причина: несовпадение CAID или провайдер-ID (сервер не поддерживает нужный пакет), отсутствие правильной группы в связке oscam.server → oscam.user, или высокий ecm time из-за перегрузки. Смотришь oscam.log с debuglevel = 128 — там будет точная причина отказа в расшифровке.

Чем OScam лучше CCcam для сервера?

OScam выигрывает по гибкости: поддержка множества протоколов одновременно, тонкая настройка прав через группы, веб-интерфейс мониторинга в реальном времени, детальные логи с debuglevel. CCcam проще в первоначальной настройке — один файл, минимум параметров. Но для серьёзного сервера с несколькими клиентами и разными протоколами OScam удобнее, хотя порог входа выше.

Как настроить OScam клиентом к серверу CCcam?

В oscam.server создаёшь ридер с protocol = cccam, прописываешь device = host,port, логин, пароль и cccversion. Указываешь group = 1 (или любой номер). Затем в oscam.user у клиентского аккаунта прописываешь тот же номер группы. Без совпадения группы OScam не свяжет запрос клиента с ридером — это самая частая ошибка при настройке CCcam и OScam сервера: конфигурация и решение проблем зачастую начинаются именно с этого.

Что значит ошибка 'connection failed' в логах?

Сервер физически недоступен. Последовательность проверки: 1) пингуй хост — если нет ответа, DNS или сеть; 2) telnet host port — если "Connection refused", порт не слушается или закрыт firewall; 3) на сервере netstat -tlnp | grep 12000 — убедись, что демон запущен. Проблема настройка CCcam и OScam сервера: конфигурация и решение проблем типа "connection failed" в 90% случаев решается либо запуском демона, либо открытием порта в iptables.

О статье

  • Практические советы и инструкции
  • Материалы по спутниковому ТВ
  • Поддержка и помощь 24/7