Кардшаринг сервер: настройка CCcam/OScam с нуля (2026)
Если вы дошли до этапа, когда хочется поднять собственный кардшаринг сервер, а не зависеть от чужого — эта статья для вас. Здесь не будет маркетинга. Только реальная архитектура, конкретные конфиги и диагностика того, что идёт не так.
Предполагаю, что у вас уже есть Enigma2-ресивер или DreamBox, VPS или домашняя машина на Debian/Ubuntu, и вы понимаете базовые команды Linux. Остальное разберём.
Что такое кардшаринг сервер и как он работает
Большинство статей дают готовые конфиги, не объясняя что происходит под капотом. Это ошибка — без понимания архитектуры вы не сможете диагностировать проблемы.
Архитектура: ресивер → клиент softcam → сервер → смарт-карта
Спутниковый поток приходит зашифрованным. Ресивер получает ECM (Entitlement Control Message) — зашифрованный пакет, содержащий ключи для расшифровки текущего фрейма. Softcam на ресивере (oscam-emu, NCam, CCcam-клиент) перехватывает этот ECM и отправляет его по TCP на сервер.
Сервер передаёт ECM на физическую смарт-карту через ридер (Phoenix, SmartReader+, Internal). Карта возвращает DCW (Descrambling Control Word) — 8-байтовый ключ. Сервер отправляет DCW обратно клиенту, ресивер расшифровывает поток.
Норма: ECM time 150–400 мс. При >900 мс начинаются фризы — поток меняет CW раньше, чем ресивер успевает получить новый.
Протоколы обмена: CCcam, newcamd, CS378x, MGCamd
CCcam (порт 12000 по умолчанию) — наиболее распространённый, но проприетарный. Newcamd (порт 15050) — старый протокол с DES-шифрованием, используется для совместимости. CS378x (порт 22222) — более современный, меньше известных fingerprint'ов, хорошая альтернатива CCcam для новых установок. MGCamd работает поверх newcamd.
Что такое ECM, EMM и DCW в потоке DVB
ECM (Entitlement Control Message) — запрос ключа расшифровки, меняется каждые 10–30 секунд. EMM (Entitlement Management Message) — сообщения обновления прав карты, приходят реже, обновляют entitlements. DCW (Descrambling Control Word) — результат работы карты, собственно ключ расшифровки потока.
Если карта не получает EMM-апдейты, со временем теряет права на каналы. Именно поэтому параметр au=1 в конфиге ридера важен для долгосрочной работы.
Роль CAID и provider ID при выборе канала
CAID (Conditional Access ID) определяет систему шифрования: 0500 — Viaccess, 0B00 — Conax, 1801 — Nagravision/Nagra3, 0604 — Irdeto, 0100 — SECA Mediaguard. Provider ID — конкретный оператор внутри этой системы. OScam маршрутизирует ECM на нужный ридер именно по паре CAID:ProviderID.
Выбор софта: CCcam vs OScam vs NCam
Короткий ответ: в 2026 году для нового сервера берите OScam. Аргументы ниже.
CCcam 2.3.2 — закрытый, устаревший, но всё ещё распространён
CCcam последний раз серьёзно обновлялся в 2012–2013. Закрытый исходный код, нет поддержки современных CAID, нет активного сообщества разработчиков. Единственная причина использовать его сейчас — клиенты с очень старыми ресиверами, которые поддерживают только CCcam-протокол и не обновлялись годами.
OScam (oscam-svn) — open source, активно поддерживается
Открытый код, регулярные коммиты в SVN trunk, поддержка Conax, Nagra3, Viaccess 6, Irdeto2, PowerVu. Потребление памяти: ~30–60 МБ RAM на 10 одновременных клиентов. Это реально мало — даже VPS с 512 МБ справится. Конфиги читаются из текстовых файлов, легко версионировать в git.
NCam — форк OScam с расширенной поддержкой современных CAID
NCam активно развивается сообществом и быстрее получает поддержку новых EMM-форматов. Если вам нужны свежие CAID — Nagra 4, CardGuard, обновления Irdeto Cloaked CA — NCam может опережать OScam-trunk на несколько недель. API и конфиги совместимы с OScam.
Когда выбирать что: совместимость, нагрузка, EMM-апдейты
OScam — стандартный выбор для нового кардшаринг сервера с 1–20 клиентами. NCam — если нужны современные CAID и вы готовы чуть активнее следить за обновлениями. CCcam — только если клиенты физически не поддерживают другие протоколы и обновить их невозможно.
Установка и базовая конфигурация OScam на Debian/Ubuntu
Сборка из исходников
Репозиторные пакеты OScam обычно устаревшие. Собирайте из SVN:
apt install build-essential libssl-dev libpcsclite-dev pcscd \
libusb-1.0-0-dev cmake subversion -y
svn co https://svn.streamboard.tv/oscam/trunk oscam-svn
cd oscam-svn
./config.sh --enable all
make -j$(nproc)
Бинарник появится в Distribution/. Скопируйте его в /usr/local/bin/oscam и сделайте chmod +x. Для быстрой сборки с дефолтными опциями можно использовать ./simplebuild ./s.
Структура конфигов: /usr/local/etc/ или /etc/tuxbox/config/
По умолчанию OScam ищет конфиги в /usr/local/etc/. Можно переопределить через флаг -c /path/to/config при запуске. Структура файлов:
oscam.conf— глобальные настройки, WebIF, логированиеoscam.server— описание ридеров (физические карты)oscam.user— учётные записи клиентовoscam.dvbapi— для локального декодирования на том же ресивере
oscam.conf — глобальные параметры WebIF и логирования
[global]
nice = -1
logfile = /var/log/oscam/oscam.log
maxlogsize = 512
preferlocalcards = 1
saveinithistory = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = ChangeMe2026
httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255
[cs378x]
port = 22222
[newcamd]
port = 15050@0B00:000000
[cccam]
port = 12000
Смените httppwd на что-то реальное. WebIF доступен по порту 8888 и даёт полную картину: текущие ECM, статус ридеров, активные клиенты.
oscam.server — описание ридеров (физических карт)
Подробнее в следующем разделе. Файл описывает каждый физический ридер и карту в нём.
oscam.user — учётные записи клиентов
Каждый клиент — отдельная секция [account] в этом файле. Создаётся вручную или через WebIF.
oscam.dvbapi — для локального декодирования
Нужен только если OScam запущен на самом ресивере и декодирует локально. При серверной схеме — не нужен.
Настройка ридера и подключение смарт-карты
Типы ридеров: Phoenix, SmartReader+, Omnikey, Internal
Phoenix — самый дешёвый вариант, подключается через COM-порт или USB-to-COM адаптер. SmartReader+ и SmartReader USB — более надёжные, работают через libusb напрямую без pcscd. Omnikey 3121 — PCSC-совместимый, хорошо работает через pcscd. Internal — встроенный ридер в некоторых ресиверах.
Определение устройства: lsusb, dmesg, /dev/ttyUSB*
lsusb # посмотреть USB устройства
dmesg | grep -i smart # kernel сообщения о ридере
ls /dev/ttyUSB* # serial USB устройства
pcsc_scan # сканирование PCSC-устройств, покажет ATR карты
По ATR (Answer To Reset) определяется тип карты и провайдер. Если pcsc_scan не видит карту — проверьте systemctl status pcscd.
Секция [reader] в oscam.server: пример для Conax/Viaccess
Пример для Conax через SmartReader+:
[reader]
label = CONAX_CARD1
protocol = smartreader
device = Serial:DB00XXXX
caid = 0B00
detect = cd
mhz = 600
cardmhz = 368
group = 1
emmcache = 1,3,2,0
au = 1
Пример для Viaccess через Phoenix (ttyUSB0):
[reader]
label = VIACCESS_CARD
protocol = phoenix
device = /dev/ttyUSB0
caid = 0500
mhz = 600
cardmhz = 600
group = 1
emmcache = 1,3,2,0
au = 1
Mhz, cardmhz, deprecated параметры — типичные ошибки
mhz — частота работы ридера, cardmhz — частота карты. Для Viaccess и Conax обычно mhz=600, cardmhz=368 или cardmhz=357 для Irdeto. Если указать неправильные значения, карта будет отвечать медленно или вовсе откажется работать. Параметр deprecated=1 в старых конфигах сейчас вызывает segfault в свежих версиях OScam — уберите его.
Проверка ATR карты через pcsc_scan
Карта с читаемым ATR, но возвращающая card not subscribed — это нормальная ситуация, когда провайдер сменил entitlements. Нужен свежий EMM. Включите au=1 в секции ридера и дайте карте поработать несколько часов — entitlements обновятся автоматически из потока.
Раздача клиентам: оптимальная конфигурация и безопасность
Секция [account] в oscam.user: au, group, caid, ident
[account]
user = client1
pwd = StrongPass2026
group = 1
au = CONAX_CARD1
caid = 0B00
ident = 0B00:000000
numusers = 2
cccmaxhops = 1
cccreshare = 0
expdate = 2026-12-31
Параметр au указывает, через какой ридер этот клиент получает EMM-апдейты. group должен совпадать с group в секции ридера — иначе получите rejected group в логе.
Лимиты: numusers, sleep, suppresscmd08
numusers=2 означает, что один аккаунт может использоваться максимум с двух ресиверов одновременно. sleep=60 отключает аккаунт после 60 минут неактивности — полезно для лимитирования ресурсов. suppresscmd08=1 скрывает информацию о доступных CAID от клиента.
Защита от перешеринга: cccmaxhops, cccreshare, hostname
cccreshare=0 — критически важно. Без него клиент может пересдать вашу карту дальше по CCcam-цепочке. Устанавливайте это для всех аккаунтов без исключений. cccmaxhops=1 гарантирует, что клиент видит только карты первого уровня. Если один аккаунт открывает 100+ ECM в минуту с разных IP — это явный перешер, мониторьте через WebIF.
Туннелирование через CS378x вместо CCcam
CS378x на порту 22222 менее известен сканерам и имеет встроенное шифрование. Для клиентов, которые поддерживают CS378x (большинство современных softcam), это лучший выбор с точки зрения приватности сервера.
Logging и мониторинг через WebIF (порт 8888)
WebIF показывает в реальном времени: ECM time по каждому клиенту, статус ридеров, количество запросов. Если видите аккаунт с аномально высоким числом ECM — это либо баг в softcam клиента, либо перешер. Заблокировать можно прямо из WebIF без перезапуска OScam.
Диагностика проблем: фризы, пустые ECM, no card
Большинство проблем с кардшаринг сервером видны в логе, если знать что читать.
Чтение oscam.log: коды ответа 00, 01, 02, E2
Команда для живого мониторинга:
tail -f /var/log/oscam/oscam.log | grep -E 'ECM|EMM|reader|error'
Коды ответа карты: 00 — успех, DCW получен. 01 — карта не имеет прав на этот пакет. 02 — нет ответа от карты (таймаут). E2 — CW не найден, чаще всего карта не авторизована на данный канал.
ECM rejected, card not found, timeout — что значат
rejected group — проверьте, что group в oscam.user и oscam.server совпадают. card not inserted — pcscd не видит карту: проверьте кабель ридера и питание. no card — ридер подключён, но карта не вставлена или не читается.
Высокий ECM time (>500ms): причины и решения
Если ECM time стабильно >500 мс — ищите узкое место: высокий ping между клиентом и сервером (>100 мс добавляет задержку), перегруженный ридер (одна карта не успевает обслуживать 15+ одновременных запросов), неправильные mhz/cardmhz замедляют коммуникацию с картой. Нормальная нагрузка: 8–10 активных клиентов на одну карту.
Проблема 'cw not found' на конкретных каналах
Если один конкретный канал даёт фризы, а остальные работают — скорее всего это EMM-only пакет: канал требует свежих entitlements, которые карта не получила. Проверьте, что au=1 включён и что карта реально получает EMM из потока (в логе должны быть строки с EMM written).
Перезапись Nagra3/Conax EMM и срок жизни ключей
Nagra3 и Conax периодически ротируют ключи через EMM. Если карта не получала поток несколько дней — ключи устаревают. Решение: подключите карту к живому потоку с нужным CAID на несколько часов. Также проблема возникает при переезде карты между ридерами — emmcache нужно сбросить: удалите /tmp/.oscam/emmcache.
Два ридера с одинаковым CAID конфликтуют при маршрутизации ECM — добавьте lb_mode=1 в секцию [global] oscam.conf для автоматического балансирования нагрузки.
Выбор провайдера кардшаринга: критерии оценки
Если поднимать полностью автономный кардшаринг сервер с физическими картами нет возможности, часть используют внешние CCcam/CS378x линии. Здесь главное не нарваться на мусор.
Тип карт: локальные vs виртуальные (server-emu)
Локальные карты — физические смарт-карты в ридере, получают реальные EMM. Эмуляция (server-emu с SoftCam.Key) работает только для каналов с постоянными ключами (BISS, PowerVu без pairing, некоторые FTA). Для современных платных CAID с регулярной ротацией ключей нужна реальная карта.
Количество хопов и stability uptime
Hop 1 — вы подключены к серверу с физической картой напрямую. Hop 2+ — между вами и картой один или несколько реселлеров. Каждый лишний хоп добавляет 100–200 мс к ECM time. Настаивайте на демонстрации hop count в WebIF перед оплатой.
Поддерживаемые CAID и пакеты
Запрашивайте конкретный список CAID: 0500, 0B00, 1801, 0604 — а не "все европейские каналы". Попросите тестовую линию на 24–48 часов и проверьте ECM time через WebIF. Стабильное значение <300 мс — норма. Если ECM time прыгает от 200 до 1500 мс — нестабильный ридер или перегруженный сервер.
Защита от ECM-flood и DDoS
Серьёзный кардшаринг сервер должен иметь rate limiting на ECM-запросы. Спросите, есть ли защита от ситуации, когда один клиент заваливает сервер тысячами ECM — это и нагружает карту, и может быть намеренной атакой.
Тестовый период и техническая поддержка
Красные флаги: "все каналы мира" без конкретики по CAID, оплата только криптой без возможности возврата, поддержка отвечает шаблонами без технических деталей. Зелёные флаги: называют конкретные CAID и providerID, готовы показать WebIF статистику, реагируют на технические вопросы по существу.
Юридические и технические ограничения
Это нужно сказать прямо.
Кардшаринг чужих подписок — нарушение условий провайдера и законодательства
Распространение DCW от платной подписки третьим лицам нарушает условия договора с оператором и законодательство большинства юрисдикций: DMCA в США, EU Copyright Directive в Европе, статья 273 УК РФ (создание и распространение вредоносных программ) и статья 272 (неправомерный доступ к охраняемой компьютерной информации) в России. Операторы активно сотрудничают с правоохранительными органами.
Легальные сценарии: одна семья, одна подписка, несколько ресиверов
Локальный OScam для раздачи одной подписки между несколькими ресиверами в одной квартире — это то, для чего технология изначально создавалась и что находится в серой зоне или явно легально в большинстве стран. Один абонемент, один адрес, несколько ТВ — это нормально.
Использование в исследовательских и educational целях
Изучение протоколов ECM/EMM, тестирование DVB-стека, реверс-инжиниринг для академических целей — это другая область, регулируемая отдельно. Здесь важен контекст использования.
Изменения в Nagra3 / Irdeto Cloaked CA — как это влияет
Современные системы защиты делают массовый шеринг технически невозможным. Nagra Anti-Cardsharing шифрует DCW ключом конкретной приставки через pairing: CW, полученный одним ресивером, бесполезен для другого. Irdeto Cloaked CA работает аналогично. Conax v7 с pairing — DCW шифруется ключом конкретного устройства, извлечь pairing key без физического доступа к приставке нереально. Это не теория — большинство крупных европейских пакетов уже перешли на paired delivery.
Клиент через мобильную сеть с CGNAT (оператор использует общий IP для тысяч абонентов) не сможет принять входящее подключение. Решение — reverse-tunnel через autossh или WireGuard VPN, где клиент сам инициирует соединение с туннельным сервером.
Часто задаваемые вопросы
Какой порт открывать на сервере для CCcam и OScam?
CCcam использует TCP 12000 по умолчанию. OScam CS378x — TCP 22222. Newcamd — TCP 15050. WebIF — TCP 8888 (только для локального/VPN доступа). Все порты настраиваются в oscam.conf и /etc/CCcam.cfg. Открывайте в iptables только те порты, которые реально нужны — например, если клиенты используют только CS378x, CCcam-порт вообще не нужен.
Какая разница между hop 1 и hop 2 в кардшаринге?
Hop 1 — клиент подключён напрямую к серверу с физической смарт-картой. ECM проходит один сервер. Hop 2 — между клиентом и картой есть промежуточный реселлер. ECM проходит через два сервера, задержка растёт на 100–200 мс, повышается риск фризов и обрывов при нестабильности промежуточного звена. Проверить hop count можно в OScam WebIF → Status → Clients.
Почему ECM time высокий и появляются фризы?
Основные причины: высокий ping между клиентом и сервером (каждые 150 мс пинга добавляются к ECM time), перегруженный ридер (одна карта обслуживает 15+ клиентов), неправильные параметры mhz/cardmhz замедляют коммуникацию с картой, проблемы с pcscd, EMM-апдейты во время активного декодирования. Норма — ECM стабильно <400 мс. При >900 мс фризы гарантированы.
Что такое CAID и provider ID и где их посмотреть?
CAID — Conditional Access ID, идентификатор системы шифрования: 0500 Viaccess, 0B00 Conax, 1801 Nagravision, 0604 Irdeto, 0100 SECA. Provider ID — идентификатор конкретного оператора внутри системы. Посмотреть можно в OScam WebIF → Status → Readers, или выполнить cat /tmp/.oscam/reader. При запуске с -p или через pcsc_scan показывается ATR карты, по которому и определяется CAID.
Можно ли запустить OScam без физической смарт-карты?
Да, через server-emu с предзагруженными ключами в SoftCam.Key — работает для FTA-каналов, BISS и PowerVu без pairing. Также можно настроить chain через newcamd или CCcam-line к удалённому серверу — тогда OScam выступает промежуточным прокси. Для платных CAID с регулярным EMM нужна реальная карта, иначе ключи устареют.
Как защитить кардшаринг сервер от перешеринга клиентами?
Обязательно: cccreshare=0 для всех аккаунтов без исключений, cccmaxhops=1, numusers=1-2 на аккаунт. Дополнительно: hostname ограничивает подключение с конкретного IP. Мониторьте через WebIF — аккаунт с 100+ ECM/мин и разными исходящими IP — явный признак перешера. Блокировка через WebIF применяется без перезапуска OScam.
Какой Linux лучше для кардшаринг сервера в 2026?
Debian 12 (Bookworm) или Ubuntu 22.04/24.04 LTS. Стабильные репозитории libpcsclite, регулярные обновления ядра, минимальное потребление ресурсов. На VPS достаточно 1 vCPU и 512 МБ RAM для OScam с 20 клиентами. Не используйте desktop-дистрибутивы — конфликты systemd-resolved с pcscd создают головную боль. После kernel update проверьте, что SmartReader+ определяется (dmesg | grep usb) — иногда нужна пересборка с libusb 1.0.26.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.