Card Sharing: что это и как работает в 2026
Card sharing — технология передачи управляющих слов (DCW) от одной физической смарт-карты нескольким ресиверам через IP-сеть. Звучит сложно, но механика проще, чем кажется: одна подписка, одна карта, несколько клиентов — и все смотрят закрытые каналы. Юридически это серая зона, зависит от страны и условий договора с провайдером. Здесь — только технический разбор.
Что такое card sharing и зачем он нужен
Определение простыми словами
Представь: у тебя есть смарт-карта с оплаченной подпиской на спутниковый пакет. Эта карта умеет расшифровывать сигнал — точнее, выдавать ключи для расшифровки. Суть card sharing в том, чтобы эти ключи отправлять не одному ресиверу, к которому карта физически подключена, а сразу нескольким через обычную сеть.
На стороне сервера стоит Linux-машина с ридером и картой. На стороне клиента — ресивер без карты, который по сети запрашивает ключи у сервера. Сервер отвечает за миллисекунды, ресивер расшифровывает поток. Зритель видит картинку — и не знает что ключи пришли из-за трёх тысяч километров.
Принцип работы: DCW, ECM, EMM
Три аббревиатуры, без которых не разобраться:
- DCW (De-Control Word) — 16-байтный ключ, которым фактически шифруется видеопоток. Меняется каждые 5–10 секунд.
- ECM (Entitlement Control Message) — зашифрованный пакет внутри потока, содержащий DCW. Расшифровать его может только авторизованная смарт-карта.
- EMM (Entitlement Management Message) — сообщения от провайдера для обновления прав карты (авторизация пакетов, ключи обновления). Нужны для au (auto-update).
Поток данных выглядит так: ресивер принимает зашифрованный спутниковый сигнал → извлекает ECM из потока → отправляет ECM на сервер → сервер передаёт ECM физической смарт-карте → карта возвращает DCW (16 байт) → сервер отправляет DCW обратно клиенту → ресивер расшифровывает поток.
Весь цикл должен уложиться в 200–500 мс. Если медленнее — начнутся фризы, потому что DCW уже сменился, а ресивер ещё расшифровывает старым ключом.
Откуда взялась технология
Первые реализации появились в середине 2000-х, когда спутниковое ТВ было дорогим, а широкополосный интернет стал доступным. Энтузиасты на DVB-форумах разработали протоколы NewCamd и CCcam примерно в 2005–2007 годах. CCcam версии 2.x стал де-факто стандартом к 2010-му — простой конфиг, работает из коробки. OScam появился позже как open-source альтернатива и к 2026 году — единственный активно развивающийся вариант для серверной стороны.
Архитектура: сервер, клиент, протоколы
Серверная часть (CCcam, OScam, NewCamd)
Сервер — это Linux-машина (или мощный ресивер с Linux) с подключённой смарт-картой и установленным ПО. Задача сервера: принимать ECM-запросы от клиентов, передавать их карте, возвращать DCW. Всё это одновременно от десятков клиентов с разными каналами.
На сервере запускается либо CCcam (бинарник, конфиг /etc/CCcam.cfg), либо OScam (собственная сборка, конфиги в /usr/local/etc/ или /etc/oscam/). OScam умеет эмулировать CCcam-протокол для клиентов, так что оба варианта совместимы.
Клиентская часть на ресивере (Enigma2, OpenATV)
Клиент — ресивер без смарт-карты. На нём стоит Enigma2 (прошивка OpenATV, OpenPLi, OpenViX) и один из softcam-плагинов: CCcam, OScam или MGcamd. Плагин знает адрес сервера, порт, логин и пароль. При включении ресивера он соединяется с сервером и держит постоянное TCP-соединение.
Когда ты переключаешь канал — softcam замечает новый CAID (ID системы условного доступа) и PID, формирует ECM-запрос и отправляет на сервер. Задержка при переключении 2–5 секунд — это норма для этого процесса.
Протоколы: CCcam, CS378x (NewCamd), Camd35, MGcamd
Вот реальная таблица протоколов с характеристиками:
| Протокол | Порт по умолчанию | Транспорт | Особенности |
|---|---|---|---|
| CCcam | 12000 | TCP | Проприетарный, share-list через C-line, широко распространён |
| NewCamd / CS378x | 15000 | TCP | Стабильнее на нестабильных каналах, DES-шифрование |
| Camd35 | 5000 | UDP | Лёгкий, минимальный overhead, нет подтверждения доставки |
| Radegast | 6500 | TCP | Редкий, в основном восточноевропейские провайдеры |
| MGcamd | — | TCP | Клиентский плагин, работает поверх NewCamd/CCcam |
NewCamd надёжнее CCcam на нестабильных линках: у него есть подтверждение доставки и ретрансмиссия. CCcam проще в настройке — одна строка в конфиге. Camd35 на UDP быстрее, но при потере пакетов DCW не придёт вообще — ресивер будет ждать таймаут.
Порты по умолчанию
CCcam слушает на TCP 12000, CS378x/NewCamd — на TCP 15000, веб-интерфейс OScam — TCP 8888. Порты конфигурируются, но если ставишь сервер с нуля — используй стандартные, чтобы клиенты подключались без лишних вопросов.
Если на одной машине одновременно запущены OScam и CCcam — конфликт портов неизбежен. Решение: дать OScam порт 12001 для CCcam-протокола или вообще убрать CCcam, оставив только OScam с CCcam-эмуляцией.
CCcam vs OScam: в чём разница
CCcam: проприетарный, простой, устаревает
CCcam последний раз обновлялся на версии 2.3.2 — и это было давно. Закрытый бинарник, никакого исходного кода, разработка остановлена. Но он до сих пор стоит на миллионах ресиверов, потому что конфиг предельно прост.
Вся настройка клиента — одна строка в /etc/CCcam.cfg:
C: example.com 12000 myuser mypassword
Это C-line (client-line). F-line — для forward (пересылки карт другим серверам). N-line — для NewCamd-подключений. Больше синтаксиса почти нет.
Проблема: CCcam не умеет одновременно работать с несколькими протоколами на приём. Если клиент хочет NewCamd — нужен отдельный экземпляр или другой сервер.
OScam: open-source, гибкий, активная разработка
OScam — форк OSCam от команды streamboard.tv, активно обновляется в SVN-репозитории. Умеет одновременно слушать CCcam, NewCamd, Camd35, Radegast на разных портах. Поддерживает несколько reader-секций (несколько карт разных провайдеров).
Конфигурация раздельная: oscam.conf (глобальные настройки и протоколы), oscam.server (описание ридеров и карт), oscam.user (учётные записи клиентов). Это чище и гибче CCcam.cfg, хотя первое знакомство занимает больше времени.
Что выбрать для сервера, а что для клиента
Для сервера в 2026 — OScam без вариантов. CCcam не поддерживается, не получает обновления безопасности, не умеет в современные возможности (кэш ECM, load balancing между картами, детальная статистика в webif).
Для клиента — что стоит на ресивере, то и используй. Enigma2-боксы нормально работают с CCcam-плагином как клиентом, даже если сервер — OScam. OScam на сервере эмулирует CCcam-протокол прозрачно.
Совместимость и miscellaneous-режимы
OScam в режиме сервера принимает клиентов по CCcam-протоколу через секцию [cccam] в oscam.conf. Клиент думает что говорит с CCcam — разницы не видит. MGcamd — клиентский плагин поверх NewCamd, работает с OScam через [newcamd]. Старые ресиверы без поддержки OScam переводи на CCcam-клиент — это нормальный fallback.
Настройка сервера: пошагово на примере OScam
Установка OScam на Debian/Ubuntu
Сборка из исходников — единственный правильный путь, потому что бинарники из сторонних репозиториев могут быть устаревшими или модифицированными.
apt update && apt install -y build-essential cmake libssl-dev \
libpcsclite-dev pcscd git subversion
svn checkout svn://www.streamboard.tv/oscam/trunk oscam-svn
cd oscam-svn && mkdir build && cd build
cmake .. -DUSE_PCSC=1 -DUSE_OPENSSL=1
make -j$(nproc)
make install
После этого бинарник лежит в /usr/local/bin/oscam, дефолтная директория конфигов — /usr/local/etc/.
Конфигурационные файлы: oscam.conf, oscam.server, oscam.user
Минимальный oscam.conf:
[global]
logfile = /var/log/oscam/oscam.log
maxlogsize = 10000
preferlocalcards = 1
[newcamd]
port = 15000@0500:000000
[cccam]
port = 12000
version = 2.3.2
reshare = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = changeme123
Файл oscam.server описывает ридер (физическую карту):
[reader]
label = card1
protocol = pcsc
device = /dev/pcsc/1
caid = 0500
detect = cd
mhz = 357
cardmhz = 357
group = 1
emmcache = 1,3,2
Файл oscam.user — учётки клиентов:
[account]
user = client1
pwd = secretpass
group = 1
au = 1
caid = 0500
Параметр au = 1 включает передачу EMM-обновлений к карте через этого клиента. Если au = 0 — карта не получает обновления прав, через некоторое время может перестать авторизовывать новые каналы. Это частая причина "работало — перестало".
Подключение смарт-карты через PC/SC reader
Для PC-сервера понадобится USB PC/SC ридер (ACS ACR38U, OmniKey 3121 — оба работают без танцев с бубном на Debian). Убедись что pcscd запущен:
systemctl enable pcscd && systemctl start pcscd
pcsc_scan # проверить что карта видна
Если карта переходит в состояние NEEDINIT после долгого аптайма — рестартуй pcscd и OScam последовательно: сначала systemctl restart pcscd, потом systemctl restart oscam. Рестарт только OScam без pcscd в этом случае не помогает.
Открытие портов и базовая безопасность
# Открыть только нужные порты
iptables -A INPUT -p tcp --dport 12000 -j ACCEPT # CCcam
iptables -A INPUT -p tcp --dport 15000 -j ACCEPT # NewCamd
iptables -A INPUT -p tcp --dport 8888 -s 192.168.1.0/24 -j ACCEPT # webif только локально
iptables -A INPUT -p tcp --dport 8888 -j DROP # webif снаружи — закрыть
# Установить fail2ban для защиты webif
apt install fail2ban
Webif OScam на 8888 открытый в интернет — плохая идея. Закрой его или ограничь по IP. fail2ban настрой на логи OScam — после 5 неудачных авторизаций банить IP на час.
Запуск как systemd-сервис
Создай /etc/systemd/system/oscam.service:
[Unit]
Description=OScam CardServer
After=network.target pcscd.service
Requires=pcscd.service
[Service]
Type=forking
ExecStart=/usr/local/bin/oscam -b -c /usr/local/etc -p /var/run/oscam.pid
PIDFile=/var/run/oscam.pid
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable oscam
systemctl start oscam
Настройка клиента на ресивере (Enigma2)
Установка CCcam или OScam через ipk/feed
На OpenATV или OpenPLi открываешь Plugin Browser → Softcams и ставишь нужный. Либо через SSH:
opkg update
opkg install enigma2-plugin-softcams-oscam
# или
opkg install enigma2-plugin-softcams-cccam
После установки softcam появится в меню Softcam Panel (обычно кнопка Menu → Setup → System).
Редактирование CCcam.cfg или oscam.server на клиенте
Если используешь CCcam как клиент, конфиг лежит в /etc/CCcam.cfg. Открываешь через SSH или встроенный файловый менеджер и добавляешь C-line.
Если клиент — OScam, то в /etc/oscam/oscam.server добавляешь reader-секцию:
[reader]
label = myserver
protocol = cccam
device = example.com,12000
user = client1
password = secretpass
group = 1
caid = 0500
Формат C-line
C-line для CCcam клиента выглядит так:
C: example.com 12000 username password
C — client, потом хост, порт, логин, пароль. Никаких дополнительных параметров не нужно для базового подключения. Провайдер выдаёт готовую строку — скопировал, вставил, рестартанул softcam.
Проверка через webif и логи
После рестарта softcam'а открываешь webif сервера на http://server-ip:8888. Раздел "Status" показывает активные клиенты. Раздел "Readers" — состояние карты. Если reader в статусе CONNECTED и видны ECM-запросы с временем ответа 200–400 мс — всё работает.
ECM time больше 500 мс — начинай искать причину. Больше 1000 мс — фризы гарантированы.
Типичные проблемы и диагностика
Чёрный экран после переключения канала
Первым делом проверяй C-line: правильный хост, порт, логин/пароль. Потом смотри firewall — возможно порт закрыт на сервере или у провайдера. Потом — поддерживается ли CAID данного канала вашей картой.
В логах OScam ищи строки вида:
2026/04/15 14:23:01 c client1 (192.168.1.10) [cccam] CAID: 0500 ECM failed (no decoding card)
"No decoding card" = карта не поддерживает этот CAID или пакет не оплачен.
Долгий ECM time (>1000ms)
Причин несколько: высокий пинг до сервера, перегруженный сервер (слишком много клиентов на одну карту), медленный канал между ридером и картой. Проверяй пинг: ping server-ip. Для России нормально — EU-сервер с пингом 40–80 мс. Больше 150 мс — ищи сервер ближе.
ECM cache помогает: если несколько клиентов смотрят один канал, сервер кэширует DCW и не гоняет каждый ECM до карты. Настраивается в oscam.conf через [cache] секцию. Ночью на HD-каналах битрейт может расти, ECM time падает — это нормально при включённом кэше.
Freeze на HD-каналах
HD требует стабильного DCW без пропусков. Если ECM не успевает до смены слова — 1–2 секунды артефактов или полный freeze. Попробуй переключиться с CCcam на NewCamd: TCP с подтверждением доставки надёжнее при нестабильном соединении. Также проверь MTU на маршруте — иногда помогает ping -M do -s 1400 server-ip.
Reader status: CONNECTED но нет DCW
Клиент подключился, но ответов нет. Проверь в oscam.user что у пользователя правильный group, совпадающий с group reader-секции в oscam.server. Несовпадение группы — самая частая причина этой ситуации.
Логи: где смотреть и что искать
tail -f /var/log/oscam/oscam.log | grep -E "dcw|ecm|timeout|CAID"
Строки с "ecm time" показывают реальный delay. Строки "dcw" — успешную выдачу. "ecm timeout" — карта не ответила в time. "NEEDINIT" — карта зависла, нужен рестарт pcscd.
Если logfile не задан в [global] — логи идут в stdout, смотри через journalctl -u oscam -f.
На что смотреть при выборе сервера-провайдера
Аптайм и стабильность ECM time
Нормальный провайдер декларирует аптайм >99% и средний ECM time <500 мс. Запрашивай статистику или тестируй самостоятельно: хороший провайдер даёт тестовый доступ на 24–48 часов без оплаты. Если тест не дают — красный флаг.
Во время теста смотри ECM time через webif OScam или логи. Стабильность важнее среднего значения: ECM 300 мс стабильно лучше, чем 150 мс со спайками до 2000 мс.
Поддерживаемые CAID и пакеты
CAID — идентификатор системы условного доступа. Nagravision — 1800, Viaccess — 0500, Irdeto — 0600, Conax — 0B00, Cryptoworks — 0D00. Убедись что провайдер поддерживает нужный тебе CAID для конкретного спутникового пакета. Провайдеры без чёткого списка CAID в описании — подозрительны.
Тестовый период
Серьёзный сервис всегда даёт тест. 24 часа минимум, 48 лучше. За это время можно проверить стабильность на проблемных каналах (HD, 4K если есть), ECM time в разное время суток и поведение при переключении между каналами разных CAID.
Локация сервера и пинг до вас
Для пользователей из России — EU-локации (Германия, Нидерланды, Франция) дают пинг 40–80 мс. Это приемлемо. Серверы в Азии или США для спутниковых пакетов Astra/Hotbird смысла нет — латентность убьёт стабильность. Проверяй пинг до сервера перед подпиской: ping server-hostname.
Поддержка протокола (CCcam vs NewCamd)
Если ресивер старый и поддерживает только CCcam — нужен провайдер с CCcam-портом. Большинство современных серверов на OScam отдают и CCcam, и NewCamd. Уточни заранее — некоторые дают только один протокол. Красные флаги: очень низкая цена без объяснений, нет описания CAID, поддержка только через общий чат без тикет-системы, отказ давать тестовый доступ.
Чем CCcam отличается от OScam?
CCcam — проприетарный закрытый бинарник, последняя версия 2.3.2, не обновляется. Простой конфиг через C-line. OScam — open-source проект с активной разработкой в SVN, поддерживает одновременно CCcam, NewCamd, Camd35, Radegast, Radegast на разных портах. Конфигурация раздельная: oscam.conf, oscam.server, oscam.user. Для сервера в 2026 рекомендуется только OScam — CCcam больше не получает обновлений безопасности.
Какие порты использует card sharing по умолчанию?
CCcam — TCP 12000. NewCamd / CS378x — TCP 15000. Camd35 — UDP 5000. Radegast — TCP 6500. Веб-интерфейс OScam — TCP 8888. Все порты настраиваются в конфигах, но стандартные значения — выше. Если на машине одновременно запущены OScam и CCcam — меняй порты чтобы избежать конфликта.
Что такое ECM time и какое значение нормальное?
ECM time — время от отправки ECM-запроса клиентом до получения DCW обратно. Норма: до 300 мс для HD-каналов, до 500 мс для SD. Значения 500–1000 мс — приемлемо, но на границе. Больше 1000 мс — гарантированные фризы. На ECM time влияют: пинг до сервера, нагрузка на сервер, скорость самой смарт-карты, наличие ECM-кэша.
Можно ли запустить сервер на Raspberry Pi?
Да, без проблем. Raspberry Pi 4 с Debian/Raspbian тянет OScam с одной-двумя смарт-картами через USB PC/SC ридер. Под 5–10 одновременных клиентов Pi 4 4GB хватает с запасом. Если клиентов больше 20–30 — смотри в сторону x86-сервера или VPS. OScam под ARM собирается стандартной командой cmake, никаких особых флагов не нужно.
Что такое C-line и где её взять?
C-line — строка подключения клиента в формате C: hostname port username password. Записывается в /etc/CCcam.cfg на стороне клиента. Выдаётся провайдером сервера вместе с учётными данными, либо создаётся при peer-to-peer обмене. Для OScam-клиента те же данные (хост, порт, логин, пароль) вписываются в секцию [reader] файла oscam.server с protocol=cccam.
Почему после переключения канала чёрный экран на 5–10 секунд?
Это нормальная задержка зэппинга: ресивер формирует ECM для нового канала, отправляет на сервер, сервер идёт к карте, карта возвращает DCW. Весь цикл занимает 2–5 секунд. Если задержка больше 15 секунд или экран не появляется вообще — смотри логи OScam, проверяй ECM time, убедись что CAID канала поддерживается твоей картой и нет проблем с firewall.
Можно ли использовать card sharing без подписки на оригинальный пакет?
Технически нет — без активной смарт-карты на стороне сервера DCW генерировать нечем. Карта должна быть авторизована провайдером на нужные пакеты. С юридической точки зрения это серая зона: в одних странах использование чужого DCW считается нарушением договора с провайдером, в других — прямым нарушением закона. Зависит от юрисдикции.
Практические советы для стабильного просмотра
Даже самая стабильная линия CCCam или OSCam требует пары простых подготовительных шагов. Обновляйте прошивку ресивера, раз в неделю очищайте ECM‑кеш и держите 15–20% свободного места на USB‑накопителе или во встроенной памяти, чтобы кардридер записывал ключи без задержек.
При настройке антенны оставляйте запас по MER/BER: смещение на два градуса или ослабленный F‑коннектор чаще становится причиной “фризов”, чем сам кардшаринг. Держите под рукой короткий патч‑корд для проверки другого роутера и сохраните два профиля в OSCam — под TCP и под UDP — чтобы мгновенно переключиться, если провайдер начнёт фильтровать протокол.
Utgard.tv следит за каждым хабом 24/7, однако вы можете ускорить диагностику, если будете вести небольшой журнал действий. Записывайте время переключения канала, активный CAID и то, использовали ли вы Wi‑Fi или Ethernet. Такой мини‑отчёт позволит инженерам воспроизвести вашу конфигурацию в лаборатории и предложить решение не за часы, а за минуты.
- Держите активными две линии: если первый сервер уходит на обслуживание, второй тут же подхватывает поток без повторного ввода логина.
- Раз в месяц делайте замер скорости и задержек. Стабильных 1–2 Мбит/с при пинге до 80 мс достаточно для SD/HD, но если джиттер превышает 20 мс — переведите роутер на провод.
- Сохраните в закладки страницу статуса Utgard.tv и Telegram‑бота @utgard_tv_bot — там появляются уведомления о работах раньше, чем успеют среагировать SEMrush или внешние мониторы.