/

Настройка CCcam/OScam сервера: конфиг и порты

Главная Статьи Настройка CCcam/OScam сервера: конфиг и порты

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

04.06.2026

Настройка CCcam/OScam сервера: конфиг и порты

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

Архитектура CCcam и OScam: чем отличаются протоколы

CCcam — закрытый протокол, разработанный под Enigma-ресиверы. По умолчанию слушает на порту 12000/TCP. Протокол бинарный, документация скудная, но реализация давно обратно-инженерена. OScam — open source, поддерживает множество протоколов одновременно и по гибкости выигрывает у CCcam в одностороннем порядке.

Протокол CCcam (порт 12000) и принцип newcamd

CCcam использует собственный бинарный протокол поверх TCP. Клиент подключается на порт 12000 (или любой другой, если менялся), проходит handshake с SHA1-хешем, и дальше идёт обмен ECM/DCW-пакетами. Newcamd — другой протокол, стандартный порт 15000/TCP, использует DES-шифрование сессии. Исторически newcamd применялся в mgcamd и CardClient, сейчас актуален в OScam как один из протоколов прослушивания.

OScam как универсальный softcam: cccam, newcamd, camd35

OScam умеет одновременно слушать несколько портов с разными протоколами. В секции [cccam] указываешь порт для CCcam-клиентов, в [newcamd] — для newcamd, camd35 работает по UDP на порту 34000. DVB API общается через Unix-сокет /tmp/camd.socket или /var/run/camd.socket.

ПротоколПорт по умолчаниюТранспортШифрование
CCcam12000TCPсобственное (SHA1)
newcamd15000TCPDES
camd3534000UDP/TCPAES/MD5
dvbapiUnix socketнет
gbox15000UDPнет

Когда выбирать CCcam, а когда OScam

CCcam проще в начальной настройке — один файл, минимум параметров. Но его возможности диагностики нулевые: нет нормального веб-интерфейса, нет детальных логов ECM. OScam выигрывает везде, где нужна гибкость: несколько источников карт, балансировка, приоритеты CAID, детальная статистика. На современных Enigma2-образах (OpenATV, OpenPLi) OScam стоит по умолчанию и активно поддерживается.

Если ресивер старый и образ не обновлялся с 2019 — CCcam работает стабильно и трогать его смысла нет. Для всего нового — OScam.

Понятия share, hop, reshare и uphops

Hop — количество промежуточных серверов между картой и тобой. Карта на сервере напрямую — hop 0 или 1. Если сервер получил её от другого — hop 2, и так далее. Чем больше hop, тем выше задержка ECM. Reshare в CCcam — параметр, разрешающий пересылать карту дальше. Uphops в строке F: ограничивает, как далеко карта уйдёт от тебя. Значение uphops = 0 означает, что ты не отдаёшь карты клиентам вообще.

Структура конфиг-файлов и пути в файловой системе

Это место, где большинство застревает. Путь к конфигу зависит от прошивки, и ни один сайт не даёт полную картину. Разберём честно.

CCcam.cfg: расположение /var/etc/CCcam.cfg

На Enigma2-образах (OpenATV, OpenPLi, OpenVix) файл обычно лежит в /var/etc/CCcam.cfg. На старых образах типа Gemini или некоторых Nabilosat встречается путь /usr/keys/CCcam.cfg. Найти точный путь можно командой:

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

После ручной правки через FTP права на файл могут слететь — CCcam не стартует молча. Проверить:

chmod 644 /var/etc/CCcam.cfg
chown root:root /var/etc/CCcam.cfg

Файлы OScam: oscam.conf, oscam.server, oscam.user, oscam.dvbapi

OScam разносит конфигурацию по нескольким файлам — это не баг, это архитектура. Каждый файл отвечает за свою часть:

  • oscam.conf — глобальные настройки: секции [global], [cccam], [newcamd], [dvbapi], [webif]
  • oscam.server — описание источников карт (reader-секции)
  • oscam.user — учётные записи клиентов, которым раздаётся доступ
  • oscam.dvbapi — приоритеты CAID и провайдеров для локального декодирования

Каталог конфигов OScam (/etc/tuxbox/config или /var/keys)

OScam запускается с ключом -c, который указывает папку с конфигами:

oscam -c /etc/tuxbox/config -t /tmp/oscam.tmp

На OpenATV путь — /etc/tuxbox/config/. На некоторых образах используется /var/keys/ или /var/etc/oscam/. Проверь init-скрипт или systemd unit, чтобы не гадать:

cat /etc/init.d/oscam | grep "\-c"

Права доступа и перезапуск демона

После любой правки конфигов нужен рестарт. Жёсткий вариант:

killall -9 oscam
sleep 2
oscam -c /etc/tuxbox/config -b

Мягкий вариант — через веб-интерфейс, раздел "Restart". Права на файлы конфигов должны быть 600 или 644, владелец — тот пользователь, от которого запущен OScam. Если запущен от root — проблем нет, если от отдельного пользователя — проверь chown.

Пошаговая настройка линий: сервер и клиент

Вот где теория превращается в рабочий конфиг. Здесь важен каждый символ — синтаксис строгий, лишний пробел или неправильный регистр поломает подключение.

Клиентская строка C: line в CCcam.cfg

Синтаксис строки подключения к серверу в CCcam.cfg:

C: hostname 12000 username password

Пример реальной строки:

C: myserver.dyndns.org 12000 client01 secretpass

Регистр логина и пароля имеет значение. Пробелы — только одиночные. Никаких кавычек. Если сервер слушает на нестандартном порту — просто меняешь 12000 на нужный.

Серверная строка F: line и выдача доступа

Строка F: описывает учётку клиента, которому ты раздаёшь доступ:

F: username password uphops downhops reshare

Пример:

F: client01 secretpass 0 1 no

Здесь uphops = 0 (клиент не будет пересылать дальше), downhops = 1 (принимает карты с глубиной 1). Параметр reshare no запрещает пересылку. Если хочешь, чтобы клиент мог пересылать — ставь reshare yes, но это открывает карты для третьих лиц.

Настройка reader-секции в oscam.server

Каждый источник карт в OScam — отдельная секция [reader]:

[reader]
label         = myserver
protocol      = cccam
device        = myserver.dyndns.org,12000
user          = client01
password      = secretpass
group         = 1
cccversion    = 2.3.0
cccmaxhops    = 2
reconnecttimeout = 30

Параметр group — критический. Если в oscam.user у клиентов указан другой group, они не получат карту из этого reader. Это самая частая причина нерабочей раздачи, о которой большинство туториалов молчат.

Создание учётной записи в oscam.user

Файл oscam.user описывает клиентов, которым OScam отдаёт расшифровку:

[account]
user          = localclient
password      = mypassword
group         = 1
au            = 1
uniq          = 0

Параметр au = 1 включает авторизацию обновлений. uniq = 0 означает неограниченное количество одновременных подключений с этой учётки — для одного ресивера достаточно uniq = 1. Группа должна совпадать с group в reader-секции.

Веб-интерфейс OScam (httpport) для контроля

В файле oscam.conf в секции [webif]:

[webif]
httpport      = 8888
httpuser      = admin
httppwd       = adminpass
httprefresh   = 10
httphideidleclients = 1

После запуска открываешь http://192.168.1.100:8888 и видишь статус всех reader-секций, ECM время, активные клиенты. Без веб-интерфейса диагностировать что-либо в OScam — мучение. Включай сразу.

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

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

Нет соединения: проверка порта и firewall

Первый шаг — проверить, доступен ли порт снаружи:

telnet myserver.dyndns.org 12000
# или
nc -vz myserver.dyndns.org 12000

Если соединение зависает — порт закрыт файрволом или не прописан проброс на роутере. Для iptables:

iptables -I INPUT -p tcp --dport 12000 -j ACCEPT

Ресивер за двойным NAT — отдельная боль. Если провайдер даёт серый IP (CGNAT), проброс портов физически невозможен. Решение — VPN-туннель (WireGuard или OpenVPN) между ресивером и сервером, либо reverse SSH-туннель.

ECM есть, но FreeZe — анализ времени декодирования

Если в веб-интерфейсе OScam видишь reader ONLINE, ECM requests есть, но канал замерзает — смотри на ECM time. Нормальный показатель: до 200–300 мс. При значениях выше 500 мс декодирование не успевает за потоком, и ресивер показывает freeze даже при рабочей линии.

Причины высокого ECM time: длинная reshare-цепочка (hop > 2), перегрузка сервера-источника, нестабильный канал до сервера. Параметр cccmaxhops = 2 в reader-секции отсекает карты с большим hop — ставь его явно.

CAID/Provider не совпадает в oscam.dvbapi

Файл oscam.dvbapi управляет тем, какой CAID используется для какого канала. Если файл некорректный или CAID не совпадает — OScam не знает, чем расшифровывать поток. Пример корректной записи:

P: 0500:042300
P: 0604:000000
P: 1810:000000

Формат: CAID:ProviderID в hex. ProviderID 000000 — маска "любой провайдер". Если канал не декодируется, а ECM time нулевое — скорее всего, OScam просто не отправляет запрос из-за несовпадения CAID в dvbapi.

Логи: oscam log и уровень debug

В секции [global] файла oscam.conf:

[global]
logfile       = /tmp/oscam.log
maxlogsize    = 500
debug         = 64

Уровень debug = 64 — это логирование ECM-запросов и ответов. Значение 255 — полный дебаг, генерирует огромные файлы. Для диагностики freeze хватает 64. Смотреть лог в реальном времени:

tail -f /tmp/oscam.log | grep -E "ECM|reader|ERROR"

Высокий ECM time и обрывы канала

Если ECM time скачет от 100 мс до 2000 мс — проблема в нестабильном uplink или перегруженном источнике. Параметр reconnecttimeout = 30 в reader-секции заставит OScam переподключиться через 30 секунд при отсутствии ответа. Также обрати внимание на несовпадение часового пояса: некоторые CAID используют timestamp при валидации ECM, и если время на ресивере расходится с сервером более чем на 30–60 секунд — декодирование ломается. Проверь:

date
ntpdate -u pool.ntp.org

Как выбрать источник карт: критерии, а не имена

Для полноты картины о настройке CCcam и OScam сервера: конфигурация, порты, протоколы — нужно понять, как оценивать качество источника. Конкретные провайдеры здесь не называются — это вопрос твоей проверки, а не рекламы.

Дисклеймер: Использование кардшаринга для просмотра платного контента без легальной подписки нарушает условия вещателей и законодательство большинства стран. Описанное применимо к тестированию собственных легально приобретённых карт, домашнему обмену между своими ресиверами и изучению протоколов в образовательных целях. Уточняй актуальное законодательство своей страны.

Стабильность аптайма и время отклика ECM

Реальный показатель качества источника — стабильный ECM time в диапазоне 80–250 мс при нагрузке. Если в пиковые часы (вечер, спортивные трансляции) время прыгает выше 500 мс — источник перегружен. Нормальный аптайм — 99%+ за месяц. Меньше — нестабильный сервер.

Локальные карты против длинных reshare-цепочек

Локальная карта — это когда сервер физически читает смарткарту через картридер. Reshare — когда сервер сам получает ключи от другого сервера и пересылает тебе. Каждый дополнительный hop добавляет задержку. Hop 1 — хорошо, hop 2 — терпимо, hop 3 и выше — freeze практически гарантирован при любой нагрузке. Проверить hop можно в веб-интерфейсе OScam в колонке "hops" для конкретного CAID.

Прозрачность по CAID и провайдерам

Хороший источник явно указывает, какие CAID и провайдеры доступны — с конкретными hex-идентификаторами. Это позволяет правильно настроить oscam.dvbapi и не получать пустые ECM-запросы. Если список CAID неизвестен заранее — в веб-интерфейсе OScam после подключения он появится автоматически в разделе reader info.

Юридические риски и легальные сценарии

Легальных сценариев немного, но они есть: домашняя сеть с несколькими ресиверами и одной официальной картой (если условия оператора это разрешают), тестирование собственного оборудования, изучение протоколов в лабораторных условиях. Для любого другого использования — покупай официальную подписку. Риски реальны: в ряде европейских стран за кардшаринг платного ТВ предусмотрена уголовная ответственность.

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

По умолчанию CCcam слушает на 12000/TCP. В файле CCcam.cfg параметр SERVER LISTEN PORT 12000 — меняй число на любое свободное. В OScam порт CCcam-протокола задаётся в секции [cccam] параметром port = 12000. Клиент должен знать новый порт — в строке C: меняй соответственно.

Где физически лежит файл CCcam.cfg на ресивере?

Чаще всего /var/etc/CCcam.cfg на современных Enigma2-образах (OpenATV, OpenPLi). На старых образах встречается /usr/keys/CCcam.cfg. Найти точное расположение: find / -name CCcam.cfg 2>/dev/null. После ручной правки через FTP проверяй права: chmod 644 /var/etc/CCcam.cfg.

Почему канал показывает FreeZe, хотя линия ONLINE?

Линия подключена, но ECM-ответы приходят медленно. Основные причины: ECM time выше 500 мс, глубина hop больше 2, несовпадение CAID:ProviderID в oscam.dvbapi, перегруженный сервер-источник. Смотри колонку ECM time в веб-интерфейсе OScam — если значения нестабильные, проблема в источнике или reshare-цепочке.

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

oscam.server описывает источники карт — откуда OScam получает ключи расшифровки (reader-секции с протоколом, host:port, логином). oscam.user описывает клиентов — кому OScam отдаёт доступ. Связь между ними через параметр group: reader с group = 1 обслуживает только тех клиентов из oscam.user, у которых тоже указан group = 1.

Как проверить, что порт сервера открыт снаружи?

Команда nc -vz hostname 12000 или telnet hostname 12000 покажет, доступен ли порт. Если зависает — либо файрвол блокирует, либо нет проброса на роутере. При NAT нужен port forwarding на внутренний IP ресивера. При двойном NAT (CGNAT провайдера) проброс не работает — нужен VPN или reverse SSH-туннель.

Можно ли запустить OScam и CCcam одновременно на одном ресивере?

Технически да, но нужно следить за конфликтами. Порты не должны пересекаться: если CCcam слушает 12000, OScam не должен занимать тот же. Главная проблема — dvbapi-сокет: только одна программа может декодировать поток через /tmp/camd.socket. Если оба демона пытаются занять сокет — один не запустится или начнётся конфликт декодирования. Лучше использовать OScam основным с поддержкой cccam-протокола.

О статье

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