/

Настройка CCcam и OScam: полный гайд 2026

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

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

08.06.2026

Настройка CCcam и OScam: полный гайд 2026

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

Статья рассчитана на тех, кто уже держит в руках Enigma2-ресивер или Linux-приставку и застрял на конкретной ошибке. Поехали.

Структура и пути конфигурационных файлов CCcam и OScam

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

Где лежат файлы CCcam: /var/etc/CCcam.cfg и CCcam.channelinfo

Основной конфиг CCcam — /var/etc/CCcam.cfg. Именно туда вписываются строки C: (клиентские линии), N: (newcamd) и F: (локальные карты). Рядом может лежать CCcam.channelinfo — это опциональный файл с именами каналов для веб-интерфейса, на работу декодирования он не влияет.

На некоторых образах Enigma2 (например, OpenPLi, OpenATV) путь смещается в /etc/CCcam.cfg или /etc/tuxbox/config/CCcam.cfg. Проверьте через find / -name "CCcam.cfg" 2>/dev/null — это быстрее, чем гадать.

После каждой правки файла нужен перезапуск: /etc/init.d/CCcam restart или через меню плагинов. CCcam не умеет перечитывать конфиг на лету.

Каталог конфигов OScam: /etc/tuxbox/config/oscam/ и /var/etc/oscam.server

OScam хранит конфиги в каталоге. Типичные пути: /etc/tuxbox/config/oscam/ на Enigma2-образах или /etc/oscam/ на чистом Linux. На некоторых старых прошивках встречается /var/etc/ с отдельными файлами вида oscam.server, oscam.user.

Точный путь всегда можно найти через ps aux | grep oscam — в строке запуска процесса будет флаг -c /path/to/config.

Назначение файлов oscam.conf, oscam.user, oscam.server, oscam.dvbapi

  • oscam.conf — глобальные параметры демона: порт веб-интерфейса, уровни логирования, настройки dvbapi.
  • oscam.server — описание ридеров (reader): к каким серверам подключаться, какой протокол, логин, пароль.
  • oscam.user — аккаунты клиентов, которые подключаются к вашему OScam как к серверу.
  • oscam.dvbapi — список CAID и провайдеров для взаимодействия с DVB-адаптером. Без него ресивер не будет передавать ECM в OScam.

Если файл oscam.dvbapi отсутствует или пустой — вы получите статус CONNECTED у ридера, но чёрный экран на канале. Именно эта точка ломает большинство новых установок.

Права доступа и кодировка файлов (chmod 644, UTF-8 без BOM)

Все конфигурационные файлы должны иметь права 644 и принадлежать пользователю, под которым запускается OScam или CCcam. Команда: chmod 644 /etc/oscam/* && chown oscam:oscam /etc/oscam/*.

Кодировка — UTF-8 без BOM, перевод строк Unix (LF, не CRLF). Если вы редактировали файл в Windows-редакторе типа Notepad и сохранили с BOM или CRLF — эмулятор тихо проигнорирует эти строки без единой ошибки в логе. Используйте Notepad++ с явным выбором кодировки или dos2unix после правки.

Базовая конфигурация клиента и сервера: разбор строк подключения

Это самый частый источник боли. Люди вписывают строки «почти правильно» и часами не могут понять, что не так. Разберём построчно.

Формат строки клиента CCcam: C: host port username password

Клиентская строка CCcam выглядит так:

C: myserver.example 12000 myuser mypassword no { 0:0:2 }

Разбор по полям:

  • C: — тип строки (Client)
  • myserver.example — хост или IP сервера
  • 12000 — порт
  • myuser mypassword — логин и пароль
  • no — использование локальной карты (no = не шарить локальную)
  • { 0:0:2 } — ограничение хоппов (необязательно, но часто встречается)

Пробелы между полями обязательны. Лишние пробелы в начале строки или символ Tab — CCcam игнорирует такую строку молча.

Настройка читателя (reader) в oscam.server для протокола cccam

В файле oscam.server блок ридера для CCcam-сервера:

[reader]
label         = my_cccam_reader
protocol      = cccam
device        = myserver.example,12000
user          = myuser
password      = mypassword
group         = 1
reconnecttimeout = 30
inactivitytimeout = 300
cccversion    = 2.3.0
cccmaxhops    = 10

Параметр cccversion важен — некоторые серверы проверяют версию клиента. Значение 2.3.0 подходит для большинства. Если сервер сбрасывает соединение сразу после рукопожатия — попробуйте 2.2.1 или 2.0.11.

inactivitytimeout = 300 означает, что OScam разорвёт соединение через 300 секунд отсутствия активности. На серверах с keepalive это нормально; если реконнекты слишком частые — увеличьте до 600.

Секция [account] в oscam.user: user, pwd, group, au

Если ваш OScam выступает сервером — в oscam.user нужна секция для каждого клиента:

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

Параметр au = 1 разрешает автообновление EMM (нужно для платных пакетов). group = 1 — здесь ключевой момент, о котором почти никто не пишет: это значение должно совпадать с group в соответствующем блоке [reader] в oscam.server. Без совпадающей группы клиент технически подключится, но не получит доступ к ридеру и карте.

Параметры protocol, device, key и caid в OScam

Для протокола newcamd в oscam.server добавляется DES-ключ:

[reader]
label         = newcamd_reader
protocol      = newcamd
device        = server.example,15000
user          = myuser
password      = mypass
key           = 0102030405060708091011121314
caid          = 0500
group         = 2

Параметр key — 28 шестнадцатеричных байт (56 символов). Это не пароль шифрования, это именно DES-ключ протокола newcamd. Если ключ не совпадает с серверным — соединение падает на этапе рукопожатия с ошибкой invalid DES key в логе.

Параметр caid в ридере — фильтр по системе условного доступа. Если оставить пустым, OScam будет пробовать этот ридер для всех CAID. Лучше указывать явно, особенно если у вас несколько ридеров.

Порты, протоколы и сетевые требования

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

Стандартные порты CCcam (12000) и протокол cccam over TCP

CCcam по умолчанию слушает порт 12000. Изменить его можно в CCcam.cfg параметром SERVER LISTEN PORT. Протокол cccam работает поверх обычного TCP — никакого UDP, никакого HTTP. Это голое TCP-соединение с проприетарным бинарным протоколом и обменом хэшами для аутентификации.

Если вы настраиваете OScam как cccam-сервер (то есть CCcam-клиенты подключаются к вашему OScam), порт слушания задаётся в oscam.conf секции [cccam]:

[cccam]
port = 12000

Веб-интерфейс OScam: httpport = 8888 и доступ к статусу

OScam поднимает собственный HTTP-сервер для мониторинга. В oscam.conf:

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

После запуска открывается через браузер по адресу http://ip-ресивера:8888. Там видны статусы всех ридеров, текущие ECM-запросы и время ответа. Это первый инструмент диагностики — если вы туда не смотрите, то диагностируете вслепую.

Если веб-интерфейс не открывается с другого устройства в сети — проверьте параметр httpallowed = 192.168.0.0/24, который ограничивает доступ по IP.

Проброс портов на роутере и проверка через telnet/nc

Порт сервера должен быть проброшен в NAT-таблице роутера. Схема: внешний порт 12000 → внутренний IP ресивера → порт 12000.

Проверка с внешней машины:

telnet yourexternalip 12000
# или
nc -zv yourexternalip 12000

Если nc выдаёт Connection refused — либо OScam/CCcam не слушает порт (проверьте netstat -tlnp | grep oscam на сервере), либо проброс не работает. Если Connection timed out — скорее всего, фаервол на роутере или у провайдера.

Отдельная история с CGNAT. Если ваш провайдер использует Carrier-grade NAT — у вас нет реального внешнего IP, и проброс порта физически невозможен. Решение: VPN-туннель до VPS с белым IP (WireGuard или OpenVPN), либо обратный SSH-туннель командой ssh -R 12000:localhost:12000 user@vps-ip. Без этого сервер доступен только изнутри вашей сети.

Протоколы newcamd, cs378x, cccam — отличия и когда что использовать

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

newcamd — классический клиент-серверный протокол. Аутентификация через DES-ключ, работает с конкретным CAID. Нет хоппов, нет ретрансляции — только прямое соединение с картой. Надёжнее при нестабильных каналах.

cs378x — это newcamd, обёрнутый в HTTP/HTTPS. Полезен, когда провайдер или корпоративный фаервол блокирует нестандартные TCP-порты, но разрешает HTTP (порт 80) или HTTPS (порт 443). В остальном — те же ограничения newcamd.

Диагностика и устранение типичных ошибок подключения

Алгоритм диагностики должен идти строго сверху вниз: сеть → соединение → аутентификация → ECM. Люди прыгают сразу к последнему пункту и тратят часы впустую.

Чтение логов OScam: oscam.log и уровни логирования

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

[global]
logfile       = /tmp/oscam.log
maxlogsize    = 512
loghistorysize = 4096
debug         = 1

Уровень debug = 1 даёт базовую диагностику. debug = 65535 — полный дамп всего, включая бинарные данные протокола. Для нормальной работы достаточно debug = 1; 65535 включайте только на пару минут при активной диагностике — лог растёт очень быстро.

Смотреть лог в реальном времени: tail -f /tmp/oscam.log. Ищите строки с ECM, CONNECTED, TIMEOUT, CAID.

Статус ридера: CONNECTED, NEEDINIT, CARDOK, ошибка ECM

В веб-интерфейсе OScam (порт 8888) каждый ридер показывает статус:

  • CONNECTED — TCP-соединение установлено, рукопожатие прошло.
  • NEEDINIT — соединение есть, но инициализация карты ещё не завершена.
  • CARDOK — карта готова к обработке ECM-запросов. Это нормальное рабочее состояние.
  • TIMEOUT / FAILED — ECM ушёл, ответ не пришёл вовремя.

Пример строки ECM в логе:

2026/01/15 14:23:07 c (ecm) user (0500&000000/0000/1234/06:ABCD...) 248ms 2 hops

Здесь 248ms — время ответа, 2 hops — длина цепочки. Время ответа до 400 мс — нормально. 800+ мс — уже будут заметные фризы. Больше 1200 мс — либо ридер перегружен, либо цепочка хоппов слишком длинная.

Чёрный экран и долгое декодирование: проблема dvbapi

Если ридер в статусе CONNECTED или CARDOK, но на экране чёрный экран — почти всегда виноват dvbapi. OScam получает ECM через dvbapi от тюнера и отдаёт обратно CW (ключ для декодирования). Если этот канал не настроен — декодирования нет.

В oscam.conf:

[dvbapi]
enabled       = 1
user          = dvbapi_user
au            = 1
pmt_mode      = 0
request_mode  = 0

Параметр pmt_mode зависит от образа Enigma2. На OpenPLi обычно 0, на некоторых образах нужно 4. Если декодирование не работает — пробуйте 0, 4, 6 последовательно.

И важный момент: если на ресивере одновременно запущены CCcam и OScam, они конкурируют за dvbapi. Один эмулятор нужно отключить. Оба активных — гарантированный чёрный экран или нестабильное декодирование с фризами каждые несколько секунд.

Ещё один случай: расхождение CAID/провайдера между конфигом и реальным каналом. Один и тот же оператор на разных транспондерах может использовать разные CAID или provid. Проверить реальный CAID канала можно через Service Info в меню ресивера — там видны CAID, SID, транспондер.

Ошибки времени и часового пояса, ломающие SSL/рукопожатие

Это неочевидная проблема, убивающая соединение стабильно и без понятного сообщения об ошибке. OScam и некоторые cccam-серверы используют timestamp в процессе рукопожатия. Если системное время ресивера расходится с реальным более чем на 2-3 минуты — соединение либо не устанавливается, либо рвётся через несколько секунд.

Решение — NTP-синхронизация. На Enigma2:

ntpdate -u pool.ntp.org

Или добавить в автозапуск. Также проверьте правильность часового пояса командой date — некоторые образы после перепрошивки сбрасывают timezone в UTC, и если ваш сервер ожидает другой пояс, время будет отличаться на несколько часов.

После синхронизации времени всегда делайте полный рестарт OScam, а не reload — это важно для сброса состояния соединений.

Как выбрать надёжный источник линий: критерии, а не имена

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

На что смотреть: стабильность аптайма и время ответа ECM

Главный показатель — время ответа ECM в миллисекундах. Хороший источник даёт стабильные 100–350 мс. Это видно в логах OScam и в веб-интерфейсе. Если среднее время 600+ мс или оно скачет от 100 до 2000 — жди фризов.

Аптайм проверяется практикой, а не словами на сайте. Понаблюдайте за количеством реконнектов в логе за 24 часа. Больше 5-10 реконнектов в сутки при стабильном интернете на вашей стороне — уже тревожный знак.

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

Источник с локальной картой (local card) даёт минимальное время ответа — карта находится прямо у сервера, нет промежуточных узлов. В логе OScam увидите 1 hop.

Решара (reshare) — это когда сервер сам получает ключи от другого сервера и передаёт вам. Каждое звено добавляет 50–200 мс задержки и точку отказа. При 5+ hops в логе ECM-лога почти гарантированы периодические фризы и высокая нестабильность.

Хорошие источники прямо указывают количество хоппов в своих технических характеристиках. Если эта информация скрыта — скорее всего, цепочка длинная.

Тестовый период и прозрачность технических параметров

Любой нормальный источник предоставляет тестовый период — обычно 24–48 часов. За это время смотрите не на картинку (она может работать и при плохом источнике), а именно на логи: среднее время ECM, количество реконнектов, наличие TIMEOUT-ошибок.

Если за тест источник не может дать тестовые данные с возможностью проверить ECM-время — это уже ответ. Качественные источники не боятся технической проверки.

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

Паттерн нестабильного источника в логах:

2026/01/15 14:30:12 r my_reader: connection lost
2026/01/15 14:30:15 r my_reader: reconnecting...
2026/01/15 14:30:18 r my_reader: CONNECTED
2026/01/15 14:30:45 c ECM timeout (0500)

Реконнект каждые несколько минут, за которым следует ECM timeout — классика перегруженного или нестабильного сервера. Проверьте свою сеть (ping до сервера), но если у вас всё стабильно — проблема на стороне источника.

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

Часто задаваемые вопросы

Почему ресивер показывает чёрный экран, хотя ридер в статусе CONNECTED?

Статус CONNECTED означает только успешное TCP-соединение и аутентификацию — это не значит, что декодирование работает. Нужно проверить три вещи. Первое: правильно ли настроен dvbapi в oscam.conf — без него OScam не получает ECM от тюнера вообще. Второе: совпадает ли CAID и provid в конфиге с реальными параметрами канала (смотреть в Service Info ресивера). Третье: есть ли у аккаунта (секция [account] в oscam.user) права на нужный CAID и включён ли параметр au = 1. Всё это видно в логе OScam при уровне debug = 1.

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

По умолчанию CCcam использует порт 12000. Изменить его можно параметром SERVER LISTEN PORT 13000 в файле CCcam.cfg (или соответствующим параметром в зависимости от версии). Важно: новый порт должен совпадать во всех клиентских строках C: и быть явно проброшен в NAT-таблице роутера. Порт ниже 1024 потребует запуска CCcam от root.

В чём разница между протоколами cccam, newcamd и cs378x в OScam?

Протокол cccam — пиринговый, поддерживает систему хоппов (ретрансляцию ключей через цепочку серверов), широко распространён. Newcamd — классический клиент-серверный протокол с DES-шифрованием (28-байтный ключ), работает только с конкретным CAID, нет ретрансляции — только прямой доступ к карте. Cs378x — это технически тот же newcamd, но обёрнутый в HTTP-запросы, что позволяет работать через порт 80 или 443 при строгих фаерволах, блокирующих нестандартные TCP-порты.

Где в OScam настраивается связь между аккаунтом клиента и картой?

Через параметр group — это связующее звено между двумя файлами. В oscam.user секция [account] содержит group = 1 (или другое число). В oscam.server секция [reader] должна содержать тот же номер: group = 1. Только при совпадении групп OScam направляет ECM-запросы этого клиента к этому ридеру. Разные числа — клиент подключится, но карту не увидит, и в логе это будет выглядеть как no matching reader.

Почему соединение постоянно рвётся и пишет реконнекты в логе?

Чаще всего виновато системное время. Если ресивер расходится с реальным временем более чем на 2-3 минуты, рукопожатие периодически ломается — сделайте ntpdate -u pool.ntp.org и проверьте правильность часового пояса командой date. Другие частые причины: слишком низкий inactivitytimeout (попробуйте 600 секунд вместо 300), нестабильный источник с длинной цепочкой решары, проблемы с двойным NAT или CGNAT у провайдера. Если ping до сервера стабильный, а реконнекты продолжаются — проблема на стороне источника.

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

С внешней машины (не из той же локальной сети): telnet yourexternalip 12000 или nc -zv yourexternalip 12000. Если получаете Connected — порт открыт. Connection refused означает, что процесс не слушает этот порт (проверьте netstat -tlnp | grep oscam или ss -tlnp на сервере). Connection timed out — порт заблокирован фаерволом или проброс в NAT не работает. Важно тестировать именно с внешней сети, а не изнутри той же подсети — локальный тест не покажет проблемы с NAT.

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

О статье

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