/

Шаринг CCcam и OScam: настройка сервера с нуля 2026

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

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

08.06.2026

Шаринг CCcam и OScam: настройка сервера с нуля 2026

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

Большинство гайдов в сети — это либо устаревшие конфиги 2019 года, либо куски без объяснений. Здесь каждая строка разобрана: что делает, зачем нужна, что будет, если убрать.

Что такое шаринг и как работает протокол CCcam/Newcamd

Кардшаринг — это не магия. Карточка со смарт-картой подключена к серверу, сервер декриптует ECM-запросы и отдаёт клиентам Control Word. Клиент получает CW, расшифровывает поток. Всё.

Принцип обмена ECM/EMM между сервером и клиентом

Ресивер (клиент) ловит зашифрованный TS-поток. Каждые несколько секунд поток меняет ключ шифрования — это управляется через ECM (Entitlement Control Message). Клиент вырезает ECM из потока и отправляет на сервер. Сервер прогоняет ECM через физическую смарт-карту и получает DCW (Decryption Control Word). DCW летит обратно клиенту. Клиент расшифровывает картинку.

EMM (Entitlement Management Message) — отдельная история. Это служебные сообщения для обновления подписки и прав карты. Если клиент и сервер в разных часовых поясах — EMM может обрабатываться некорректно, карта со временем «забывает» пакеты. Поэтому сервер и клиент лучше держать в одном timezone или хотя бы контролировать ntp-синхронизацию.

Разница протоколов: CCcam, Newcamd, MGCamd, CS378x

Протокол Порт по умолчанию Особенности
CCcam 12000 Самый распространённый, поддерживает reshare, hops
Newcamd 28000–35000 Требует DES-ключ, используется для одной карты/CAID
MGCamd 28000 Клиентский протокол, производная от Newcamd
CS378x (OScam) задаётся вручную Протокол OScam между клиентом и сервером OScam

CCcam — де-факто стандарт. Newcamd хорош там, где нужен прямой доступ к одному CAID без reshare-цепочек. CS378x — родной протокол OScam-к-OScam, работает чище, но распространён меньше. MGCamd — клиент, который умеет говорить на Newcamd.

Что такое DCW, ECM-time и почему важна задержка

DCW — это 16 байт (два 8-байтных ключа CW odd/even). Именно их клиент использует для расшифровки видеопотока. Если DCW не пришёл вовремя — поток рассыпается, экран замирает или показывает артефакты. Это и есть freeze.

ECM-time — время от отправки запроса до получения DCW. Норма: 50–400 мс. До 800 мс — приемлемо на практике, хотя уже чувствуется. Выше 1000 мс — freeze практически гарантирован. OScam показывает ECM-time в реальном времени через webif, это главный индикатор здоровья шаринга.

Установка и базовая настройка OScam на сервере

OScam — это open source замена оригинальному CCcam. Активно поддерживается, умеет работать и сервером, и клиентом, имеет нормальный webif для мониторинга. На Enigma2 обычно ставится через feed или вручную из бинарника.

Сборка/установка OScam под Linux и Enigma2

На чистом Linux-сервере (Debian/Ubuntu) собираем из исходников:

apt-get install build-essential libpcsclite-dev libssl-dev git
git clone https://github.com/oscam-emu/oscam-patched.git
cd oscam-patched
./config.sh --enable-pcsc --enable-webif --enable-cccam --enable-newcamd
make
cp Distribution/oscam /usr/local/bin/oscam
chmod +x /usr/local/bin/oscam

На Enigma2 (OpenATV, OpenPLi, OpenVIX) проще через opkg:

opkg update
opkg install oscam

Если репозиторий не знает oscam — ищите пакет oscam-emu или качайте бинарник под архитектуру своего железа (mips32el, arm, аarch64). Архитектуру смотрите командой uname -m.

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

На Enigma2 конфиги OScam живут в /etc/tuxbox/config/. Это стандарт для большинства образов. Но после смены прошивки или крупного обновления путь может сброситься. Проверить, что использует запущенный OScam, можно так:

ps aux | grep oscam
# или
cat /proc/$(pidof oscam)/cmdline | tr '\0' ' '

В выводе будет параметр -c /путь/к/конфигам. На некоторых сборках путь — /usr/keys/, на других — /etc/oscam/. После смены прошивки Enigma2 обязательно проверяйте этот путь — initd-скрипт мог прописать старый, которого уже нет.

Файлы oscam.conf, oscam.server, oscam.user — что в них писать

oscam.conf — главный конфиг. Минимальный рабочий вариант:

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

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

[cccam]
port = 12000
version = 2.3.0
reshare = 0
ignorereshare = 1

Параметр preferlocalcards = 1 — сервер сначала пробует локальные карты, только потом идёт в reshare-цепочки. Это снижает ECM-time. reshare = 0 запрещает клиентам пересылать карту дальше — разумная политика для своего сервера.

Если порт 8888 занят другим сервисом (например, каким-то локальным webui), меняйте httpport на любой свободный — 8080, 9090, 7777. Проверить занятость: ss -tlnp | grep 8888.

oscam.server — описание ридеров (карт). Пример для смарт-карты через PC/SC:

[reader]
label = card_local
protocol = pcsc
device = 0
caid = 0500
ident = 0500:032830
group = 1
fallback = 0

Для USB-картридера типа Smargo:

[reader]
label = smargo_reader
protocol = smartreader
device = 001:002
caid = 0D00
ident = 0D00:000000
group = 1
mhz = 357
cardmhz = 357

caid — идентификатор системы шифрования (0500 = Viaccess, 0D00 = CryptoWorks, 1800 = Nagravision, 0B00 = Conax, 0100 = Seca). ident — CAID:ProviderID. Неверный ident — главная причина статуса CW NOK при рабочем подключении.

oscam.user — клиенты, которым разрешён доступ:

[account]
user = client1
pwd = password123
group = 1
caid = 0500
ident = 0500:032830
maxconn = 1
uniq = 0
au = 1

maxconn = 1 — один клиент на аккаунт. au = 1 — разрешает обработку EMM для этого клиента (автообновление прав). Если несколько ридеров — назначайте group и управляйте приоритетами через параметры ридера fallback и cccmaxhops.

Настройка клиента CCcam и подключение к серверу

Шаринг CCcam/OScam: настройка сервера и клиента — это две разные задачи. Сервер мы разобрали. Теперь клиентская сторона.

Формат строки C: line в CCcam.cfg

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

C: hostname.example.com 12000 myusername mypassword

Формат: C: хост порт логин пароль. Никаких кавычек, никаких лишних пробелов. Можно прописать несколько строк — CCcam будет использовать их в порядке приоритета, переключаясь при недоступности первой.

Для Newcamd-подключения строка другая:

N: hostname.example.com 28000 myusername mypassword 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Здесь после логина и пароля идёт 14-байтный DES-ключ. Это принципиальное отличие N: line от C: line — не просто другой порт, а другой протокол с другой аутентификацией.

Где лежит CCcam.cfg и как перезапустить демон

На Enigma2 файл обычно здесь: /var/etc/CCcam.cfg. На некоторых сборках — /etc/CCcam.cfg. Проверить:

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

После правки конфига перезапуск:

killall -9 CCcam && sleep 2 && CCcam &

Или через init-скрипт, если он есть:

/etc/init.d/CCcam restart

На Enigma2 часто работает:

init 4 && sleep 5 && init 3

Это мягкий перезапуск enigma2 вместе с плагинами.

Подключение OScam как клиента через oscam.server (protocol = cccam)

OScam умеет работать как клиент CCcam-сервера. В oscam.server добавляем ридер:

[reader]
label = cccam_server1
protocol = cccam
device = hostname.example.com,12000
user = myusername
password = mypassword
cccversion = 2.3.0
cccmaxhops = 2
group = 1
fallback = 0
reconnecttimeout = 30

cccversion — версия протокола CCcam, которую эмулирует OScam. Обычно 2.3.0 или 2.2.1 — зависит от сервера. Если сервер отклоняет подключение, попробуйте другие версии. cccmaxhops — максимальное число ретрансляций карты, которые принимает этот ридер. 1 = только локальные карты, 2–3 = допускает один-два reshare. Чем больше hops, тем выше потенциальный ECM-time.

Если ресивер за NAT/роутером и вы хотите сделать его сервером для других — пробросьте порт 12000 (или тот, что прописали в oscam.conf) через роутер на локальный IP ресивера. Без проброса внешние клиенты не достучатся до сервера, даже если OScam работает корректно.

Диагностика и решение проблем шаринга

Когда что-то не работает — не гадайте. OScam даёт достаточно информации для диагностики.

Freeze и рассыпание картинки: причины и проверка ECM-time

Freeze — почти всегда следствие одного из трёх: высокий ECM-time, неверный caid/ident, нестабильный канал между клиентом и сервером.

Открываете webif: http://ip-вашего-сервера:8888 → вкладка Status → смотрите колонку ECM-time напротив каждого ридера. Если там 1200 мс и выше — источник проблемы найден. Если ECM-time нормальный (200–400 мс), но freeze есть — смотрите на статус CW: если CW NOK вместо CW OK, это несоответствие caid или ident в конфиге ридера.

Частая ошибка: сервер отдаёт карту с ident 0500:032830, а в oscam.server прописан ident 0500:000000. OScam принимает ответ, но декрипт не работает. Лечится синхронизацией ident между сервером и клиентом.

Чтение логов OScam через webif и oscam.log

Живой лог в консоли:

tail -f /var/log/oscam.log

В webif: раздел Logs → там же можно выставить уровень детализации (loglevel в oscam.conf, значение 0–255, для диагностики ставьте 255, в штатном режиме — 64 или меньше).

Что искать в логе:

  • ECM answer from reader cccam_server1 — ридер ответил, всё хорошо
  • ECM not decryptable — ридер есть, но декрипт не прошёл (caid/ident)
  • no matching reader — OScam вообще не нашёл ридер для данного CAID
  • reader cccam_server1 is offline — нет подключения к серверу
  • too many connections — превышен лимит maxconn на сервере

Проверка статуса линий: ONL, CONNECTED, ERROR

В webif на вкладке Readers видны статусы:

  • CONNECTED — TCP-подключение установлено
  • ONL — ридер онлайн и готов к работе
  • CARDOK — карта в ридере авторизована
  • ERROR — ошибка подключения или авторизации
  • OFFLINE — нет связи с сервером

CONNECTED без CARDOK — подключение есть, карта не авторизована. Причины: неверный логин/пароль, неверная версия CCcam-протокола, сервер не нашёл карту с нужным CAID.

Быстрая проверка доступности порта сервера:

nc -zv hostname.example.com 12000
# или
telnet hostname.example.com 12000

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

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

Шаринг CCcam/OScam: настройка сервера и клиента не имеет смысла, если источник линий нестабилен. Сколько бы вы ни полировали конфиги — плохой upstream это не исправит.

На что смотреть: аптайм, ECM-time, локальные карты vs решары

Первое, что нужно выяснить — откуда у источника карты. Локальная карта (local в терминах OScam) — это физическая смарт-карта в ридере на сервере. ECM-time у таких карт обычно 50–200 мс. Reshare — это когда сервер сам является клиентом другого сервера и пересылает его карты дальше. Каждый hop добавляет задержку.

Hops 1 = карта на соседнем сервере. Hops 3–4 = карта прошла через трёх посредников. ECM-time при этом легко уходит за 600–800 мс. В webif хорошего источника вы увидите hops = 0 (local) или максимум 1.

Аптайм — смотрите за несколько дней тестового периода. Хороший источник держит линию стабильно, без ежедневных перебоев и сброса соединения. Если каждые несколько часов ридер уходит в OFFLINE и возвращается — это красный флаг.

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

Плохой источник выглядит так в логах: постоянные reconnect, скачущий ECM-time (100 мс → 1500 мс → 300 мс → снова 1200 мс), периодические CW NOK без видимых причин. Freeze не постоянный, а «волнами» — это именно нестабильный upstream.

Ещё один признак: высокий пинг до сервера. Если ping hostname.example.com показывает 200+ мс — к ECM-time это прибавляется напрямую. Нормальный пинг для шаринга — до 50 мс, в идеале меньше.

Большое число hops в reshare-цепочке — это не просто задержка, это ещё и риск: один из серверов в цепочке упал, и у вас пропал канал, хотя ваш непосредственный сервер живёт.

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

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

Смотрите webif каждые несколько часов. Если за 48 часов ECM-time ни разу не превысил 500 мс, reconnect-ов было меньше двух-трёх, и hops не больше 1 — источник рабочий. Если нет — ищите другой до того, как заплатили.

Шаринг CCcam/OScam: настройка сервера и клиента — это техническая задача, которую можно решить полностью самостоятельно. Главное — правильные конфиги и стабильный источник. Всё остальное OScam покажет в webif.

Частые вопросы

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

CCcam и OScam (протокол cccam) по умолчанию слушают порт 12000. Newcamd — диапазон 28000–35000, конкретный порт задаётся вручную. Webif OScam по умолчанию на порту 8888. Всё это меняется в oscam.conf параметрами port (в секции [cccam]) и httpport (в секции [webif]). В CCcam.cfg порт прописывается прямо в строке C:.

Чем отличается C: line от N: line в конфиге?

C: line — подключение по протоколу CCcam. Формат: C: хост порт логин пароль. N: line — протокол Newcamd. Требует 14-байтный DES-ключ после логина и пароля: N: хост порт логин пароль 01 02 03 04 05 06 07 08 09 10 11 12 13 14. Это принципиально разные протоколы — не просто разные порты. CCcam поддерживает reshare и hops, Newcamd — нет.

Почему рассыпается картинка при рабочем шаринге?

Самая частая причина — высокий ECM-time (выше 800 мс). Смотрите в webif (http://ip:8888) на значение ECM-time в статусе ридера. Другие причины: большое число hops (решары через 3–4 сервера), нестабильный интернет-канал между клиентом и сервером, неверный caid или ident в конфиге ридера (тогда статус будет CW NOK вместо CW OK).

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

На Enigma2 стандартный путь — /etc/tuxbox/config/. На некоторых сборках — /usr/keys/ или /etc/oscam/. Путь задаётся при сборке флагом --enable-config-dir. Чтобы узнать, какой путь использует запущенный OScam: cat /proc/$(pidof oscam)/cmdline | tr '\0' ' '. После обновления прошивки Enigma2 путь может сброситься — всегда проверяйте.

Можно ли подключить OScam как клиент к серверу CCcam?

Да, OScam полностью совместим с протоколом CCcam в роли клиента. В файле oscam.server добавляете блок [reader] с параметрами: protocol = cccam, device = хост,порт, user, password, cccversion = 2.3.0. OScam эмулирует CCcam-клиент и работает с любым CCcam-сервером.

Что такое ECM-time и какое значение считается нормой?

ECM-time — время от отправки ECM-запроса клиентом до получения DCW (Control Word) от сервера. Норма — 50–400 мс. До 800 мс работает, но на некоторых каналах уже могут быть кратковременные freeze. Выше 1000 мс — нестабильная работа практически гарантирована. Значение видно в webif OScam на вкладке Status в колонке ECM-time напротив каждого ридера.

О статье

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