Shara TV biz: настройка CCcam и OScam с нуля

Главная Статьи Shara TV biz: настройка CCcam и OScam с нуля

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

26.06.2026

Shara TV biz: настройка CCcam и OScam с нуля

Если вы попали на эту страницу, значит уже знаете базовые термины и хотите конкретики — рабочие конфиги, реальные пути файлов, команды диагностики. Платформа shara tv biz ориентирована именно на технически подготовленных пользователей, и этот материал написан в том же духе. Никаких вступлений в стиле "что такое спутниковое телевидение" — сразу к делу.

Что такое Shara TV biz и как устроен кардшаринг

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

Принцип работы card sharing: ECM, CW и DCW

Когда декодер принимает зашифрованный поток, он извлекает из него пакет ECM (Entitlement Control Message) — фактически зашифрованный запрос на ключ дешифрования. Этот ECM отправляется на сервер кардшаринга, где подлинная смарт-карта его расшифровывает и возвращает Control Word (CW), иногда называемый DCW (Decrypted Control Word). Декодер получает CW, расшифровывает поток и выводит картинку. Весь цикл должен укладываться в ~700 мс, иначе начнётся FREEZE.

Ключевой параметр всей схемы — latency. Чем быстрее ECM обработан и CW доставлен обратно, тем стабильнее просмотр. Именно поэтому ECM time — главный показатель качества любого сервера.

Роли сервера и клиента в схеме

Сервер — это машина (или ресивер), к которой физически подключена карта. Он слушает входящие соединения на определённом порту, принимает ECM, обращается к карте и отдаёт CW. Клиент — декодер без карты, который подключается к серверу и получает ключи. Один сервер может обслуживать несколько клиентов одновременно, что и делает схему экономически интересной.

Решара (reshare) — это когда клиент сам становится сервером для других клиентов. Каждый такой "прыжок" увеличивает hop count и добавляет латентность. Hop 1 — прямое подключение к карте, hop 2 — уже через одного посредника. На hop 3+ FREEZE практически гарантирован на платном контенте с частой сменой CW.

Чем отличаются протоколы CCcam, newcamd и CS378x

CCcam — самый распространённый протокол, порт по умолчанию 12000. Разработан специально для кардшаринга, поддерживает cascading (цепочки серверов) и механизм share-info для автоматического обнаружения доступных карт. Бинарный протокол, шифрование на основе DES.

Newcamd использует порты в диапазоне 15000+ (типично 15000–15010). Старше CCcam, менее гибкий в плане cascading, но стабильно работает со многими старыми прошивками ресиверов. Использует Triple DES (3DES) и требует указания DES key в конфиге клиента.

CS378x (он же Camd35) — ещё один протокол, порт обычно 15000 или 35000. Реже встречается в современных установках, но OScam его поддерживает как тип ридера camd35. Выбирать его имеет смысл только если сервер не поддерживает CCcam или newcamd.

Настройка CCcam: структура конфигов и портов

CCcam хранит всё в одном главном файле конфигурации. Расположение зависит от прошивки, но два пути встречаются чаще всего: /var/etc/CCcam.cfg (OpenPLi, OpenATV) и /usr/keys/CCcam.cfg (некоторые сборки на базе Enigma1). Ключи и сертификаты лежат рядом, в /usr/keys/.

Файл /var/etc/CCcam.cfg и его директивы

Вот минимально рабочий конфиг сервера CCcam с комментариями:

# Порт, на котором CCcam принимает входящие подключения
SERVER LISTEN PORT : 12000

# Разрешить управление через telnet (порт 16000)
ALLOW TELNET : YES

# Уровень логирования (0 = минимум, 3 = всё)
DEBUG : 0

# Путь к файлу с информацией о каналах
CHANNELINFO FILE : /var/etc/CCcam.channelinfo

# Максимальное количество подключённых клиентов
MAX IDLE TIME : 120

# DES ключ для шифрования соединений (менять на уникальный)
KEY : 0102030405060708091011121314

Директива SERVER LISTEN PORT задаёт порт, который нужно пробросить на роутере если сервер за NAT. DEBUG : 3 пишет подробный лог в /tmp/cccam.log — полезно при диагностике, в продакшене лучше держать 0 или 1.

Файл CCcam.channelinfo и приоритеты

Файл CCcam.channelinfo маппит CAID и SID на человекочитаемые имена каналов. Для работы кардшаринга он не обязателен, но OSD на ресивере будет показывать имена вместо hex-кодов. Скачать актуальную версию можно с форумов; формат строки: CAID:SID:Provider:ChannelName.

Строка C: line для подключения клиента

C: line — это строка подключения к удалённому CCcam-серверу. Синтаксис:

C: hostname port username password [hop-count] [decode all] [DES key]

Реальный пример:

C: myserver.example.com 12000 myuser mypassword 01 no 0102030405060708091011121314

Параметр 01 — это hop count для этого подключения. Указывает, насколько глубоко пересылать карты дальше. Значение 01 означает, что ваш ресивер может использовать карты с этого сервера, но не пересылать их следующим клиентам. Если вы сами являетесь сервером решары — можно поставить 02, но каждый лишний хоп добавляет задержку.

Параметры F: line для раздачи карт

F: line описывает клиентов, которым вы раздаёте свои карты:

F: username password reshare [Au] [Caid]

Пример:

F: client1 secretpass 1 1 0500

Здесь reshare = 1 значит клиент может пересылать карты дальше (с уменьшением hop count на 1), Au = 1 разрешает EMM-обновления для этого клиента, 0500 ограничивает раздачу только CAID 0500. Если нужно раздавать все карты без ограничений — опустите последний параметр.

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

OScam — более гибкое решение, чем CCcam, но и конфигурация у него сложнее: несколько отдельных файлов вместо одного. Стандартные пути: /etc/tuxbox/config/oscam/ или /var/keys/. На OpenPLi часто встречается /etc/oscam/. Главное — убедиться, что все файлы в одной директории.

Главный файл oscam.conf и веб-интерфейс на порту 8888

Минимальный oscam.conf:

[global]
logfile                = /var/log/oscam.log
maxlogsize             = 1024
usrfile                = /var/log/oscam.user
logduplicatelines      = 0

[webif]
httpport               = 8888
httpuser               = admin
httppwd                = yourpassword
httprefresh            = 10
httpallowed            = 127.0.0.1,192.168.0.0-192.168.255.255

[camd33]
port                   = 0

[newcamd]
port                   = 15000@0500:000000

[cccam]
port                   = 12000

Веб-интерфейс на порту 8888 — это ваш главный инструмент мониторинга. Там видны все ридеры, статусы подключений, ECM time в реальном времени. Открываете http://192.168.1.x:8888 в браузере и сразу понимаете что происходит.

Раздел [newcamd] в примере выше 15000@0500:000000 означает: слушать на порту 15000 для CAID 0500, ident 000000 (все провайдеры). Можно указать конкретный ident через двоеточие.

Описание ридеров в oscam.server

Файл oscam.server описывает источники карт — физические ридеры или удалённые серверы. Пример ридера типа CCcam:

[reader]
label                  = mycccam_server
protocol               = cccam
device                 = myserver.example.com,12000
user                   = myuser
password               = mypassword
caid                   = 0500,1810
group                  = 1
reconnecttimeout       = 30
au                     = 0

Пример ридера типа newcamd:

[reader]
label                  = newcamd_server
protocol               = newcamd
device                 = myserver.example.com,15000
user                   = myuser
password               = mypassword
key                    = 0102030405060708091011121314
caid                   = 0500
group                  = 2
au                     = 0

Параметр au = 1 включает обработку EMM — автоматическое обновление ключей карты. Работает только с физическими картами в локальном ридере. Через удалённый сервер или решару au = 1 не работает принципиально: EMM нужна живая карта на месте.

Учётные записи клиентов в oscam.user

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

[account]
user                   = client1
pwd                    = clientpassword
disabled               = 0
expdate                = 2026-12-31
group                  = 1
caid                   = 0500
ident                  = 0500:000000
au                     = 0
maxconnections         = 1

group здесь должен совпадать с group в oscam.server — так OScam знает, какие ридеры использовать для этого клиента. maxconnections = 1 запрещает одновременный вход с одним логином — разумная мера.

Профили caid и ident в oscam.services

Файл oscam.services позволяет создавать именованные профили с конкретными CAID, SID и ident:

[mypackage]
caid                   = 0500
provid                 = 000000
srvid                  = 0001,0002,0003

После этого в oscam.user можно указать services = mypackage — клиент получит доступ только к перечисленным каналам. Удобно когда нужно разграничить доступ между клиентами без создания отдельных ридеров.

Диагностика проблем: FREEZE, отсутствие сигнала и нестабильность

Большинство проблем с кардшарингом решаются через анализ лога. Команда для просмотра лога OScam в реальном времени:

tail -f /var/log/oscam.log

Чтение лога и расшифровка статусов ECM

В логе OScam каждая строка ECM выглядит примерно так:

2026/06/15 14:23:01  c client1     (0500&000000/1234/05AB/5C): found (382 ms) by mycccam_server

Здесь: 0500 — CAID, 000000 — провайдер ID, 1234 — service ID канала, 5C — длина ECM пакета, 382 ms — время ответа, mycccam_server — ридер который ответил. Статус found — всё хорошо. not found — ридер не имеет доступа к этому каналу. timeout — ридер не ответил вовремя.

Ошибки по времени ответа ECM time и таймауты

Порог — 700 мс. Всё что выше стабильно вызывает FREEZE, потому что CW должен прийти до того, как декодер потеряет поток. На практике комфортное значение — до 400 мс.

Если ECM time стабильно 800–1200 мс — это признак либо перегруженного сервера, либо длинной цепочки решары. Также проверьте синхронизацию времени на ресивере: рассинхрон в несколько минут ломает авторизацию на уровне протокола. На Enigma2 — ntpdate pool.ntp.org или настройка NTP в конфиге системы.

Параметр таймаута ECM в OScam задаётся в oscam.conf:

[global]
ecmnotfoundlimit       = 3
waitforcards           = 300

А в oscam.server для конкретного ридера:

reconnecttimeout       = 30
ecmwhitelist           = 0500:50,55,60

ecmwhitelist ограничивает допустимые длины ECM пакетов — иногда помогает отфильтровать мусорные запросы и снизить нагрузку.

Проблемы NAT, проброс портов и фаервол

Если вы поднимаете сервер дома — за роутером с NAT — порт нужно пробросить явно. На большинстве роутеров это "Virtual Server" или "Port Forwarding": внешний порт 12000 → внутренний IP ресивера, порт 12000, протокол TCP.

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

telnet yourexternalip 12000

Если соединение устанавливается — порт открыт. Если "Connection refused" — либо CCcam не запущен, либо порт не проброшен. Если висит без ответа — скорее всего фаервол на роутере или ресивере блокирует пакеты.

На Linux-ресивере проверить правила iptables:

iptables -L -n | grep 12000

И добавить разрешение если нужно:

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

Альтернатива для сервера без белого IP — туннель через VPS. Инструменты типа frp или ngrok позволяют пробросить локальный порт через внешний сервер, но это добавляет ещё один хоп и латентность.

Конфликт нескольких ридеров и приоритеты

Когда два ридера отдают один и тот же CAID, OScam должен знать которому доверять больше. Параметр priority в oscam.server отвечает за это:

[reader]
label                  = local_card
protocol               = mouse
device                 = /dev/ttyUSB0
caid                   = 0500
group                  = 1
priority               = 1

[reader]
label                  = remote_cccam
protocol               = cccam
device                 = remoteserver.com,12000
caid                   = 0500
group                  = 1
priority               = 5

Меньшее значение = выше приоритет. Локальная карта с priority = 1 будет использоваться первой. Удалённый сервер с priority = 5 — резервный вариант. Без явного указания приоритета OScam выбирает ридер с наименьшим ECM time — обычно это правильно, но при нестабильном удалённом сервере лучше выставить явно.

Смешанная схема OScam-сервер + CCcam-клиент работает штатно: в oscam.conf включаете и секцию [cccam] для приёма входящих, и добавляете ридер типа cccam в oscam.server для подключения к вышестоящему серверу.

Как выбрать сервер: критерии надёжности без привязки к брендам

На рынке кардшаринга масса предложений, и отличить рабочий сервер от перепродажи без тестирования сложно. Вот на что реально смотреть.

Аптайм и стабильность ECM time

Нормальный ECM time для хорошего сервера — до 300–400 мс стабильно, без скачков. Если в тестовый период ECM time скачет от 200 до 1500 мс — сервер перегружен или имеет нестабильный канал до карты. Смотрите не среднее значение, а разброс. В OScam веб-интерфейс показывает min/avg/max прямо в таблице ридеров.

Аптайм надёжного сервера — 99%+ в месяц. Это реально проверить только через 2–4 недели использования, но косвенный признак — наличие резервных серверов или failover в данных для подключения.

Локальные карты против решары (reshare)

Сервер с локальными картами — это hop 1 для вас. Сервер-решара — hop 2 и выше. Выявить решару по описанию сложно, но hop count в CCcam.cfg при подключении к хорошему серверу будет показывать 1. В OScam смотрите на параметр hop в статусе ридера.

Высокий hop count (3+) и нестабильный ECM time — практически всегда означают цепочку решары. Такой сервер нормально работает в спокойные часы и падает в прайм-тайм, когда нагрузка растёт на всех участках цепочки.

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

Перед подключением уточните какие именно CAID доступны. Основные CAID для европейских пакетов: 0500 (Viaccess), 0600 (Irdeto), 0B00 (Conax), 0963/09C4 (NDS/Videoguard), 1810 (Nagravision), 1830 (Nagravision 3). Если нужный CAID в списке отсутствует — сервер не подойдёт, сколько бы он ни стоил.

Проверить реально доступные CAID после подключения можно в OScam через веб-интерфейс: раздел "Readers" → название ридера → "Cards". Там будут перечислены все карты и их CAID, к которым сервер имеет доступ.

Признаки ненадёжного источника

Несколько красных флагов которые я видел много раз:

  • ECM time стабильно выше 600 мс — сервер не справляется с нагрузкой уже сейчас
  • Частые переподключения в логе (reconnect каждые несколько минут) — нестабильный канал
  • Hop count 3+ при заявлении о "локальных картах" — явная ложь
  • Отсутствие тестового периода или демо-аккаунта — нечего скрывать тем кто уверен в качестве
  • Поддержка отвечает через 24+ часов — при техническом сбое вы будете ждать столько же

И последнее: никакой shara tv biz не поможет если ваш декодер — старый ресивер с прошивкой 2019 года и CCcam 2.1.x. Актуальная версия CCcam — 2.3.0, OScam постоянно обновляется через svn. Устаревший клиент сам по себе может быть источником проблем с совместимостью.

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

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

Порт 12000 — стандарт для протокола CCcam. Задаётся директивой SERVER LISTEN PORT : 12000 в файле CCcam.cfg. Протокол newcamd работает на портах в диапазоне 15000+, обычно 15000–15010. CS378x (Camd35) чаще всего настраивается на 35000.

Где лежат конфиги OScam?

Зависит от прошивки. На большинстве Enigma2-боксов это /etc/tuxbox/config/oscam/ или /var/keys/. На OpenPLi и OpenATV — нередко /etc/oscam/. Там находятся четыре основных файла: oscam.conf, oscam.server, oscam.user и oscam.services.

Почему появляется FREEZE при просмотре каналов?

Самая частая причина — ECM time выше 700 мс. Это случается из-за перегруженного сервера, длинной цепочки решары (hop 3+), нестабильного интернет-соединения или проблем NAT. Смотрите лог OScam (tail -f /var/log/oscam.log) и ECM time в веб-интерфейсе на порту 8888. Ещё одна причина — рассинхрон времени на ресивере: проверьте NTP.

Чем отличается C: line от F: line в CCcam?

C: line — это строка клиентского подключения. Она говорит CCcam к какому серверу подключиться, с каким логином и паролем. F: line — параметры раздачи ваших собственных карт другим клиентам. C: — вы получаете, F: — вы отдаёте.

Как проверить доступность сервера кардшаринга?

Самый простой способ — telnet hostname 12000. Если соединение установилось — порт открыт и сервер работает. Для более детальной диагностики откройте веб-интерфейс OScam на порту 8888 и посмотрите статус ридера: там будет видно подключён ли он и какой ECM time показывает. Потери пакетов проверяются через ping hostname -c 100 — больше 1–2% потерь уже проблема.

Что означает параметр au=1 в oscam.server?

au = 1 включает обработку EMM (Entitlement Management Messages) — автоматическое обновление ключей карты. Работает только когда карта физически вставлена в локальный ридер. Через удалённый сервер или решару au=1 бесполезен: EMM нужно обрабатывать там где карта находится физически. Если карта обновила ключи но au=1 не помогает — значит вы используете не локальный ридер, а решару.

О статье

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