/

Кардшаринг: настройка CCcam и OScam в 2026

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

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

09.06.2026

Кардшаринг: настройка CCcam и OScam в 2026

Кардшаринг — это технология, которую либо понимают до деталей, либо путаются в конфигах до бесконечности. Если вы уже знаете, что такое DVB-тюнер и зачем нужен условный доступ (CA), но хотите разобраться в механике на уровне протоколов и файлов настройки — вы в нужном месте. Здесь не будет рекламных слоганов, только реальная техника.

Что такое кардшаринг и как он работает

Суть проста: один ресивер с физической смарт-картой декодирует сигнал и передаёт ключ расшифровки другим устройствам по сети. Без этого каждому ресиверу нужна своя карта. С ним — карта одна, клиентов может быть несколько.

Технология сама по себе нейтральна. Классический легальный сценарий — несколько ресиверов в одном домохозяйстве с одной оплаченной подпиской. Вопрос всегда в том, что именно написано в договоре с вещателем.

Принцип обмена control word (CW)

Каждые 10 секунд вещатель меняет control word — симметричный ключ, которым зашифрован транспортный поток. Ресивер-клиент без карты не может его получить самостоятельно. Поэтому он отправляет ECM-пакет на сервер, сервер прогоняет его через карту, получает CW и возвращает клиенту.

10 секунд — стандартный интервал для большинства систем кодирования. Если CW не пришёл вовремя, картинка замерзает. Поэтому время отклика ECM так важно.

Роль ECM и EMM в системе кодирования

ECM (Entitlement Control Message) — это зашифрованный пакет с control word. EMM (Entitlement Management Message) — служебные сообщения, которые обновляют права на карте: продление подписки, смена ключей вещателя. Без правильной обработки EMM карта со временем «протухает», и права перестают обновляться.

Параметр au (autoupdate) в OScam как раз отвечает за то, чтобы EMM-потоки обрабатывались автоматически. Если au отключить — рано или поздно карта потеряет актуальные права.

Архитектура клиент-сервер: кто такие peer и share

Сервер — машина с картоприёмником и реальной смарт-картой. Клиент (peer) подключается к серверу по протоколу CCcam, Newcamd или другому, запрашивает CW и получает его. Share — это список каналов и систем кодирования, которые сервер готов обслуживать.

В CCcam понятие share ещё шире: сервер может пробрасывать доступ дальше по цепочке пиров. Отсюда параметр hop — глубина этой цепочки.

Чем отличается локальная карта от шары

Локальная карта — физически вставлена в картоприёмник вашего сервера. Задержка ECM минимальная, обычно 50–150 мс. Шара (remote share) — карта находится на удалённом сервере, доступ через сеть. Добавляет задержку: чем дальше и нестабильнее канал, тем выше риск фризов.

OScam при правильной конфигурации умеет расставлять приоритеты: сначала пробует локальную карту, и только если она не даёт ответа — уходит к удалённым reader'ам.

Протоколы CCcam, Newcamd и MGcamd: в чём разница

Три протокола — три разных подхода к одной задаче. Выбор зависит от железа, прошивки ресивера и того, что поддерживает сервер на другом конце.

CCcam — порт 12000 и принцип hop/share

CCcam слушает по умолчанию на порту 12000. Протокол проприетарный, но давно реверс-инженерен. Главная фича — система share и hop. Каждый сервер в цепочке уменьшает hop на единицу; при hop=0 шара дальше не передаётся.

Hop больше 2 — это уже проблема. Каждый дополнительный узел добавляет задержку и точку отказа. На практике hop>2 даёт нестабильность даже при хорошем интернете. Держите цепочку короткой.

Newcamd — порт 15000, шифрованный обмен и DES-ключ

Newcamd работает на порту 15000 и использует DES-шифрование обмена с 14-байтным ключом (des_key). Это делает его чуть более защищённым по сравнению с ранними версиями CCcam, но накладывает требование: ключ должен совпадать на сервере и клиенте до байта.

Типичный des_key выглядит так: 01 02 03 04 05 06 07 08 09 10 11 12 13 14. Не оставляйте дефолтный ключ — любой, кто знает порт, попробует стандартные значения.

MGcamd и формат newcamd.list

MGcamd — это клиентское приложение для Enigma2-боксов, которое понимает Newcamd-протокол. Конфигурация хранится в файле newcamd.list, обычно расположенном в /var/keys/. Формат строки:

CWS = hostname 15000 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Каждая строка — отдельный сервер. MGcamd пробует их по порядку при неудаче с текущим. Простой и предсказуемый механизм фолловера.

Когда выбирать каждый протокол

CCcam — если сервер раздаёт доступ нескольким пирам и нужна система share. Newcamd — если важно шифрование и работа один-на-один с конкретным сервером. MGcamd — если ресивер на Enigma2 и нужен простой клиент без лишних зависимостей.

OScam поддерживает все три одновременно. CCcam как самостоятельный сервер — давно не обновляется, последние рабочие сборки датируются 2012–2013 годами.

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

OScam — это то, что сегодня реально используют для серьёзной настройки. Активно поддерживается сообществом, есть сборки под почти любое железо: от Raspberry Pi до Enigma2-боксов и обычного Linux-сервера.

Сборка OScam и структура /etc/tuxbox/config или /usr/keys

На Enigma2-боксах конфиги обычно живут в /etc/tuxbox/config/. На обычном Linux (Debian, Ubuntu) — типичный путь /usr/local/etc/oscam/ или /etc/oscam/. На некоторых OpenATV/OpenPLi образах можно встретить /var/keys/.

Перед сборкой проверьте зависимости: libssl-dev, libpcsclite-dev (если планируете USB-картоприёмник через PC/SC). Минимальный набор флагов при cmake:

cmake -DWEBIF=1 -DREAD_CAMD33=1 -DREAD_NEWCAMD=1 -DREAD_CCCAM=1 .

Файл oscam.conf: секции [global], [cs378x], [newcamd]

Главный конфиг — oscam.conf. Базовая структура секции [global]:

[global]
logfile                = /var/log/oscam.log
maxlogsize             = 512
nice                   = -1
WaitForCards           = 1

[cs378x]
port                   = 11000

[newcamd]
port                   = 15000@1830:000000
key                    = 01 02 03 04 05 06 07 08 09 10 11 12 13 14

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

Параметр port в секции [newcamd] содержит не только номер порта, но и привязку к caid и provid через символ @. В примере 1830 — caid, 000000 — provid. Если провайдер несколько, перечисляете через запятую.

Файл oscam.server: подключение картоприёмника

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

[reader]
label                  = local_card
protocol               = internal
device                 = /dev/sci0
caid                   = 1830
ident                  = 1830:000000
group                  = 1
au                     = 1
detect                 = cd

Параметр au = 1 включает обработку EMM — карта будет получать обновления прав автоматически. Без этого при смене ключей вещателем карта перестанет декодировать. Параметр group связывает ридер с пользователями из oscam.user: у клиента должна быть та же группа.

Для USB-ридера (например, Smargo) строка device будет другой: device = /dev/ttyUSB0, протокол — protocol = smartreader.

Файл oscam.user: создание учёток клиентов

Каждый клиент — отдельный блок в oscam.user:

[account]
user                   = client1
pwd                    = secretpass
group                  = 1
au                     = 1
uniq                   = 1
monlevel               = 0
caid                   = 1830

Параметр uniq = 1 запрещает одновременный вход с одними учётными данными с разных IP. Без него один аккаунт может использоваться несколькими людьми одновременно — это обычно нежелательно. monlevel = 0 закрывает доступ к веб-интерфейсу для этого пользователя.

Веб-интерфейс на порту 8888 и мониторинг

OScam поднимает веб-морду на порту 8888 — это реально удобно. Там видно активные соединения, время отклика по каждому ECM-запросу, статус ридеров и лог в реальном времени. Стандартный URL: http://192.168.1.x:8888/.

В продакшн-конфиге доступ к веб-интерфейсу стоит ограничить по IP через параметр httpallowed. Иначе любой в вашей сети (или за NAT-ом, если порт проброшен) сможет зайти и посмотреть конфиг.

Настройка CCcam: CCcam.cfg и строки C-line/F-line

CCcam всё ещё встречается на старых ресиверах и в цепочках обмена — знать формат конфига нужно. Основной файл — CCcam.cfg, на Enigma2-боксах лежит в /var/etc/CCcam.cfg, на других системах путь может отличаться.

Структура CCcam.cfg и путь /var/etc

Файл построен на принципе «одна директива — одна строка». Нет секций в стиле INI, нет отступов. Пример минимального рабочего конфига:

SERVER LISTEN PORT : 12000
NEWCAMD LISTEN PORT : 15000
ALLOW TELNET : yes
TELNET PORT : 16001
LOG FILENAME : /tmp/CCcam.log
LOG FILESIZE LIMIT : 1

C-line: подключение к серверу как клиент

C-line описывает подключение к удалённому серверу. Формат:

C: hostname 12000 username password

Пробелы между элементами — обязательны. Hostname — IP или доменное имя сервера. Порт — обычно 12000, но может быть любым. Учётные данные должны совпадать с тем, что прописано на сервере для этого клиента.

Можно прописать несколько C-line — CCcam будет пробовать их по порядку при недоступности основного сервера. Фактически это примитивный фолловер без какого-либо балансирования.

F-line: раздача доступа другому пиру

F-line — это обратная операция: вы раздаёте доступ другому клиенту CCcam. Формат:

F: username password uphops downhops

uphops — сколько hop-ов «вверх» клиент может получить (то есть насколько глубоко он видит вашу цепочку шар). downhops — сколько hop-ов он может передать дальше своим клиентам. Стандартная безопасная настройка: F: user pass 1 0 — клиент получает доступ, но не может передавать его дальше.

Параметры: SERVER LISTEN PORT, ALLOW TELNET

Несколько параметров, которые часто игнорируют при первой настройке:

  • SHARE LIMIT : 10 — максимальное количество шар, которые CCcam будет принимать от одного сервера
  • NEWCAMD LISTEN PORT : 15000 — CCcam может работать и как Newcamd-сервер одновременно
  • MINIMUM SERVERSUPPORTED CARDTIME : 0 — задержка перед ответом (обычно 0)
  • ALLOW TELNET : yes — без этого telnet-мониторинг не работает

Проверка статуса через telnet на порту 16001

Быстрая диагностика без веб-интерфейса:

telnet localhost 16001

После подключения введите l для просмотра логов или s для статуса шар. Вы увидите список пиров со статусами ONLINE, CONNECTING или OFFLINE. Если пир завис в CONNECTING больше минуты — смотрите в сторону закрытого порта или неверных учётных данных.

Диагностика и устранение типичных проблем

90% проблем с кардшарингом решаются чтением логов. Не «перезагрузить ресивер», не «пересоздать конфиг с нуля», а именно прочитать, что написано в /var/log/oscam.log.

Чёрный экран и сообщение «нет доступа»

Первым делом проверьте, что в oscam.log нет строк вида no matching reader или user not found. Первое означает, что ни один ридер не обслуживает запрошенный caid. Второе — учётки нет или имя/пароль не совпадают.

Ещё частая причина — несоответствие caid и ident. Если в oscam.server прописан caid 1830, а клиент запрашивает caid 0919 — ридер просто не ответит. Сверяйте caid с тем, что реально транслирует пакет.

Фриз картинки и долгий отклик ECM

Приемлемое значение ECM time — до 400 мс. Всё, что выше, будет давать периодические фризы, особенно при смене CW каждые 10 секунд. В веб-интерфейсе OScam ECM time виден в реальном времени по каждому клиенту.

Если время отклика 600–800 мс — либо сервер перегружен, либо канал до него нестабильный. Проверьте ping до сервера: если там 300+ мс с джиттером, это уже сетевая проблема, не конфигурационная.

Ошибки CW not found и timeout

В oscam.log ищите строки ECM rejected и CW not found. Первое — сервер получил запрос, но ни один ридер его не смог обработать (нет прав, неверный ident, карта не обновлена). Второе — запрос ушёл, ответ не вернулся за отведённое время.

Параметр ctimeout в oscam.conf задаёт таймаут ECM-запроса в миллисекундах. Дефолт обычно 1500 мс. Слишком низкое значение даёт ложные timeout при нормальной загрузке сети.

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

Проверка открытости порта снаружи — элементарная, но про неё забывают:

nc -zv your.server.ip 12000

Двойной NAT (CGNAT у провайдера) — отдельная головная боль. Если ваш провайдер использует CGNAT, у вас нет реального внешнего IP, и пробросить порт через роутер просто невозможно без участия провайдера. В такой ситуации выход — туннель (WireGuard, OpenVPN) через VPS с белым IP, или смена провайдера на того, кто даёт статический IP.

Расхождение системного времени и сбои

Это недооценённая причина проблем. Криптообмен CW чувствителен к времени: если системное время сервера и клиента расходится больше чем на несколько секунд, возникают ошибки расшифровки, которые выглядят как случайные фризы или полные отказы декодирования.

Обязательно настройте NTP синхронизацию. На Debian/Ubuntu:

apt install ntp
systemctl enable ntp
timedatectl set-ntp true

Проверьте текущее смещение командой timedatectl status или ntpq -p. Расхождение больше 1–2 секунд — уже повод для разбора.

Как выбрать надёжный сервер: критерии без названий

Называть конкретные сервисы я не буду — не потому что скрываю, а потому что рынок меняется быстро, и любое название здесь устареет раньше, чем вы дочитаете. Но критерии оценки — постоянны.

Стабильность аптайма и время отклика ECM

Нормальный провайдер без стеснения показывает статистику аптайма. ECM time до 200 мс — хорошо. 200–400 мс — приемлемо. Всё выше — спорно. Попросите тестовый доступ и замерьте реальные цифры в своих условиях, не верьте скриншотам на сайте.

Прайм-тайм (20:00–23:00) — настоящий стресс-тест. Сервер, который отлично работает в 14:00, может рассыпаться под нагрузкой вечером. Тестируйте именно в это время.

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

Перед покупкой уточните конкретные caid: например, Viaccess (caid 0500), Nagravision (0919), Irdeto (0604). Абстрактное «поддерживаем все пакеты» — не ответ. Нужен список caid с соответствующими provid и подтверждение, что карта активна именно сейчас.

Защита от перепродажи и количество подключений

Один аккаунт — одно подключение. Это базовое требование к качеству. Если на сервере нет ограничения по uniq/simultaneous connections, значит вашу линию могут продать ещё десяти людям. Чем больше одновременных клиентов на одной карте — тем выше ECM time у каждого из них.

Тестовый период и техподдержка

Нормальный провайдер даёт тестовый доступ на 24–48 часов. Если тестового периода нет вообще — это красный флаг. Поддержка должна отвечать на технические вопросы (порт, caid, ident, проблема с конфигом) — а не только принимать оплату.

Спросите напрямую: «Какой у вас caid и provid для пакета X?». Если ответ уклончивый — значит, либо не знают сами, либо скрывают, что карта мультиарендованная.

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

CCcam слушает на порту 12000, telnet-мониторинг — на 16001. Newcamd, который поддерживают и CCcam, и OScam, по умолчанию работает на порту 15000. Веб-интерфейс OScam поднимается на 8888. Все эти значения задаются в конфиге и могут быть изменены; главное — не забыть пробросить нужные порты на роутере, если сервер за NAT.

Чем OScam лучше CCcam?

OScam поддерживает одновременно несколько протоколов (CCcam, Newcamd, CS378x и другие), имеет удобный веб-интерфейс с реальным мониторингом ECM time, гибкую систему групп и приоритетов ридеров, и активно развивается сообществом. CCcam проще для первого запуска, но последнее официальное обновление — более десяти лет назад. Для серьёзной настройки выбор очевиден.

Почему появляются фризы и чёрный экран?

Чаще всего виноваты: высокий ECM time (выше 400 мс), расхождение системного времени по NTP, закрытый или непроброшенный порт, неверный caid или provid в конфиге, перегрузка сервера при превышении лимита одновременных линий. Читайте oscam.log — там написано конкретно, что пошло не так.

Что означают C-line и F-line в CCcam.cfg?

C-line — это клиентское подключение к удалённому серверу: C: hostname port username password. F-line — раздача доступа своему клиенту: F: username password uphops downhops. C-line говорит «откуда я получаю доступ», F-line — «кому я его даю». Параметры uphops и downhops контролируют глубину распространения шары по цепочке пиров.

Насколько важно точное системное время на сервере?

Критично. Криптообмен control word завязан на временные метки: расхождение времени между сервером и клиентом приводит к ошибкам расшифровки, которые выглядят как случайные фризы или полный отказ декодирования. Настройте NTP синхронизацию через timedatectl set-ntp true и периодически проверяйте смещение командой ntpq -p.

Можно ли использовать кардшаринг легально?

Технология нейтральна. Легальный сценарий — доступ к собственной оплаченной подписке на нескольких ресиверах в рамках одного домохозяйства. Ключевое условие: это должно быть разрешено договором с вещателем. Большинство операторов платного ТВ явно ограничивают количество одновременных устройств; прочитайте условия своего договора перед настройкой.

О статье

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