/

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

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

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

08.06.2026

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

Если вы уже знаете, что такое ECM и зачем нужен ресивер на Enigma2 — эта статья для вас. Здесь нет введений для новичков. Только конфиги, пути, порты и логика шаринга, которую почему-то никто не объясняет нормально.

Я прошёл через типичный путь: карта читается локально, а по сети — тишина. Оказалось, проблема в одном поле group. Ниже — полная техническая схема, чтобы вы не тратили на это два вечера.

Что такое шаринг и как он работает технически

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

Принцип работы: ECM, CW и дескремблирование

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

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

Именно поэтому ECM time — главный показатель качества шаринга. Не скорость интернета, не мощность ресивера, а время от ECM-запроса до получения CW.

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

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

Одна машина может быть одновременно сервером для нижестоящих клиентов и клиентом к вышестоящему источнику. Это смешанная схема, которую OScam поддерживает из коробки — один процесс, один конфиг.

Ресивер за NAT — отдельная история. Если клиент подключается к вам, нужен проброс порта 12000 на роутере. Двойной NAT (провайдер + домашний роутер) решается либо через DMZ, либо через VPN-туннель до сервера.

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

Три основных протокола шаринга, и у каждого своя ниша.

  • CCcam — порт по умолчанию 12000. Самый распространённый, поддерживается почти всеми ресиверами с Enigma2. Проприетарный, но OScam умеет его эмулировать.
  • newcamd — порт 15000. Старый, но стабильный. Используется во многих встроенных эмуляторах. Менее гибкий, чем CCcam по части reshare.
  • cs378x (он же cccam в OScam) — более современный вариант CCcam-протокола с поддержкой большего числа карт и улучшенной обработкой нескольких CAID одновременно.

Для нового сервера в 2026 году выбирайте связку OScam + CCcam-протокол на порту 12000. Совместимость максимальная, гибкость — тоже.

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

OScam — открытый эмулятор с модульной архитектурой. Он заменяет и превосходит CCcam в роли сервера, потому что даёт детальные логи, поддерживает десятки протоколов и позволяет гибко управлять доступом через group-логику.

Структура конфигов: oscam.conf, oscam.server, oscam.user

Конфиги лежат в одном из двух мест в зависимости от сборки и дистрибутива:

  • /etc/tuxbox/config/oscam/ — классический путь для Enigma2-боксов
  • /var/etc/oscam/ — типичный путь для OpenATV, OpenPLi
  • /etc/oscam/ — стандарт для сборок под x86/Debian

Три ключевых файла:

  • oscam.conf — глобальные настройки демона, веб-интерфейс, протоколы
  • oscam.server — описание ридеров (физических карт и внешних источников)
  • oscam.user — аккаунты клиентов, которым отдаётся доступ

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

[global]
logfile = /tmp/oscam.log
maxlogsize = 1000
nice = -1

[webif]
httpport = 8888
httpuser = admin
httppass = yourpassword
httpdyndns = 0

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

Настройка ридера карты (PCSC, internal, smargo)

Блок oscam.server описывает, откуда читается карта. Вот три варианта — internal (встроенный слот DVB-карты), smargo (USB-ридер) и network (внешний источник по CCcam).

Внутренний ридер Enigma2-бокса:

[reader]
label = internal_card
protocol = internal
device = /dev/sci0
caid = 0500
detect = cd
mhz = 357
cardmhz = 357
group = 1

Ридер через smargo (Smargo Smartreader+):

[reader]
label = smargo_card
protocol = smartreader
device = 001:003
caid = 1810
ident = 1810:000000
group = 1

Поле caid — идентификатор системы кодирования (Irdeto, Viaccess, Nagravision и т.д.). Поле ident уточняет провайдера внутри системы. Если на одном транспондере несколько CAID и вы не укажете ident явно — OScam может выбрать неправильный, и ECM time вырастет или карта вообще откажет.

Внешний источник (как reader-клиент к чужому CCcam-серверу):

[reader]
label = remote_cccam
protocol = cccam
device = server.example.com,12000
user = mylogin
password = mypassword
caid = 0500,1810
group = 2
cccmaxhops = 1

Включение веб-интерфейса httpport и мониторинг статуса

После старта OScam веб-интерфейс доступен на http://[ip-ресивера]:8888. Там видно всё: подключённые ридеры, их статусы (CARDOK, NOTFOUND), активные аккаунты, ECM time в реальном времени.

Если веб-интерфейс не открывается — проверьте, что httpport не занят другим процессом: netstat -tlnp | grep 8888. Также убедитесь, что firewall не блокирует порт.

Страница Status → Readers покажет, читается ли карта. Колонка ECM Time на странице активных клиентов — ваш главный инструмент диагностики.

Настройка CCcam сервера и клиента

CCcam работает с одним конфигом — /var/etc/CCcam.cfg. Синтаксис простой, но важно не перепутать F-line и C-line — это разные роли.

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

F-line — создаёт аккаунт для входящего клиента на вашем сервере:

F: username password 1 0 { }

Формат: F: [user] [pass] [uphops] [downhops]

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

C: server.example.com 12000 mylogin mypassword

Формат: C: [host] [port] [user] [pass]

Порт по умолчанию задаётся директивой:

SERVER LISTEN PORT : 12000

Рабочая пара для простой схемы: сервер имеет карту и выдаёт F-line клиенту, клиент прописывает C-line с данными этой F-line.

Раздача локальной карты и приём внешних линий

Чтобы CCcam сервер раздавал локальную карту, она должна быть физически вставлена и читаться через встроенный ридер. CCcam обнаруживает карту автоматически, если поддерживает её CAID.

Принять чужую карту по сети — добавить C-line партнёра. CCcam сам смержит локальные и внешние карты в общий пул и будет отвечать клиентам из любого доступного источника.

Если хотите принимать входящие подключения и ресивер за NAT — обязательно пробросьте порт 12000/TCP на роутере. Без этого клиенты получат connection refused.

Параметры reshare и hop (количество пересылок)

Hop — сколько раз линия была переслана от исходной карты. Hop 1 означает, что источник владеет картой физически. Hop 2 — он сам получил линию от кого-то другого. Каждый дополнительный hop добавляет latency к ECM time.

В F-line параметр uphops — сколько хопов вверх разрешено видеть клиенту. downhops — сколько уровней вниз клиент может пересылать. Значение 0 означает запрет пересылки.

Reshare контролирует, какие карты клиент может видеть. Значение 1 — клиент видит только локальные карты сервера. Значение 2 — плюс карты, полученные от других источников. Чем выше reshare и hop, тем выше ECM time и риск фризов при шаринге.

Связка OScam как сервер для CCcam-клиентов

Это самая популярная схема в 2026: OScam держит карту (или подключён к внешнему источнику) и раздаёт её по CCcam-протоколу. Клиенты видят обычный CCcam-сервер и прописывают стандартную C-line.

Блок [cccam] и формирование C-line из аккаунта

В oscam.conf добавляем:

[cccam]
port = 12000
version = 2.3.0
reshare = 1
nodeid = 

В oscam.user создаём аккаунт для CCcam-клиента:

[account]
user = clientname
pwd = clientpassword
group = 1
cccmaxhops = 1
cccreshare = 1

Итоговая C-line для клиента собирается из этих данных:

C: 192.168.1.100 12000 clientname clientpassword

Или с публичным IP, если клиент подключается извне:

C: your.public.ip 12000 clientname clientpassword

Параметр cccmaxhops и reshare в OScam

cccmaxhops в аккаунте пользователя — максимальный hop, который этот клиент может получить. Если у вас карта local (hop 0), а вы хотите отдать клиенту как hop 1 — ставьте cccmaxhops = 1.

cccreshare — разрешать ли клиенту пересылать полученные карты дальше. Значение 0 запрещает любой решер. Значение 1 разрешает пересылку только тех карт, у которых решер разрешён на вышестоящем уровне.

При смешанной схеме (OScam одновременно клиент к внешней C-line и сервер для своих клиентов) — у reader с внешним источником и у reader с локальной картой должна быть одна group, иначе аккаунты из другой group карту не увидят.

Проверка соединения в веб-интерфейсе

Открываем http://[ip]:8888 → вкладка Users. Если клиент подключился, видим его имя, статус ONLINE, текущий ECM time и колонку Calls — сколько ECM-запросов обработано.

Вкладка Readers показывает карты: статус CARDOK означает карта читается и готова отвечать. NOTFOUND — карта не обнаружена физически или не поддерживается. DISABLED — reader выключен в конфиге.

ECM time меньше 200 мс — отлично. 300-400 мс — норма для сетевого шаринга. Выше 500 мс — начнутся фризы, нужно разбираться с причиной.

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

Большинство проблем решается чтением лога и одного-двух значений из веб-интерфейса. Хаотичная перепроверка конфигов без понимания логики — худшая стратегия.

Фризы и долгое открытие каналов (высокий ECM time)

Фриз происходит, когда CW не успевает прийти до смены ключа. Провайдеры меняют ключ каждые 5-10 секунд, но некоторые — каждые 2 секунды. При ECM time 800 мс и смене ключа каждые 2 секунды фризы неизбежны.

Алгоритм диагностики высокого ECM time:

  1. Пинг до сервера: ping server.example.com. Больше 100 мс — уже проблема для шаринга.
  2. Проверка порта: telnet server.example.com 12000. Если соединение не устанавливается — сервер недоступен или порт закрыт.
  3. Проверка hop в веб-интерфейсе OScam: чем выше hop у источника, тем выше базовый ECM time.
  4. Нагрузка на сервер: если сервер обслуживает сотни клиентов с одной картой — время ответа растёт.

Высокий ECM time только на части каналов — частая ситуация. Причина: разные каналы используют разные CAID или ident. Если карта не полностью поддерживает один из них, OScam ищет альтернативный reader, теряя время. Проверьте, какой CAID у проблемного канала и есть ли он в caid = вашего reader.

Ошибки подключения: connection refused, no card

connection refused на порту 12000 — сервер не слушает порт. Причины: CCcam/OScam не запущен, порт занят, firewall блокирует. Проверка: netstat -tlnp | grep 12000 на сервере.

no card в логе клиента — сервер подключён, но нет карты, которая отвечает на нужный CAID. Либо карта не читается, либо несовпадение group между reader и account.

rejected — сервер отклонил подключение. Чаще всего: неверный логин/пароль, или аккаунт не создан на сервере, или лимит одновременных подключений исчерпан.

Часовой пояс — нетипичная, но реальная проблема. Некоторые карты (особенно Viaccess) проверяют время при валидации. Если на ресивере сбито системное время — карта может отказать с ошибкой, которая на первый взгляд не связана со временем. Проверяйте: date на сервере и убедитесь, что NTP работает.

Чтение логов oscam и понимание статусов ECM

Лог OScam по умолчанию: /tmp/oscam.log. Уровень детализации настраивается в oscam.conf параметром logfile и debuglevel.

Ключевые строки лога:

  • no matching reader — ни один reader не подходит для этого ECM. Проверьте CAID и group.
  • group mismatch — аккаунт и reader в разных group. Самая частая причина неработающей карты при правильном конфиге.
  • found card — карта обнаружена и готова к работе.
  • ECM answered + время в мс — запрос успешно обработан.
  • timeout — reader не ответил за отведённое время. Карта перегружена или недоступна.

Связь group — это то, что большинство статей по шарингу просто не объясняют. В oscam.server у reader прописываем group = 1. В oscam.user у account — тоже group = 1. Только при совпадении хотя бы одного значения аккаунт получит доступ к этому reader. Если group не совпадают — в логе будет no matching reader, и никакие другие настройки не помогут.

Как выбрать источник линии: критерии без названий

Рекламировать конкретных поставщиков я не буду — не потому что боюсь, а потому что рынок меняется быстро и любое имя устареет раньше, чем эта статья. Вместо этого — объективные технические признаки хорошего источника.

На что смотреть: ping, uptime, ECM time, локальная карта

Первое и главное — пинг до сервера. Меньше 30 мс — отлично. 30-80 мс — приемлемо. Больше 100 мс — ECM time будет высоким уже по умолчанию, без учёта нагрузки.

Hop источника. Hop 1 означает, что продавец держит карту физически. Это лучший вариант — минимальный ECM time, нет зависимости от третьих лиц. Hop 2 и выше — перепродажа, ECM time выше, надёжность ниже.

Uptime. Нормальный показатель — выше 99% за месяц. Спрашивайте у продавца или проверяйте сами через мониторинг. Один час даунтайма в день — это уже 96% uptime, что неприемлемо для стабильного шаринга.

Наличие тестового периода (24-48 часов) перед оплатой — хороший знак. За это время можно проверить ECM time самостоятельно в веб-интерфейсе OScam.

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

Частые дисконнекты — когда за сутки лог показывает десятки reconnect — признак перегруженного или нестабильного сервера. Может быть и проблема на вашей стороне (интернет-канал), но если у вас пинг стабильный, виноват источник.

Высокий ECM time при низком пинге — признак перепроданной линии. Карта обслуживает слишком много клиентов одновременно. ECM-запросы ставятся в очередь, время ответа растёт.

Отсутствие реакции на технические вопросы. Если поставщик не может объяснить, какой у него hop и CAID — скорее всего, это перепродажа нескольких уровней.

Нестабильный ECM time в зависимости от времени суток — часто означает, что сервер перегружается в прайм-тайм. Это системная проблема, не временная.

Юридический и технический контекст использования

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

Эта статья описывает техническую сторону протоколов CCcam и OScam — как работает механизм, как правильно настроить конфиг, как читать логи. Что именно вы запускаете поверх этой инфраструктуры — ваша ответственность. Проверяйте местное законодательство.


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

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

CCcam слушает порт 12000 — это задаётся директивой SERVER LISTEN PORT : 12000 в CCcam.cfg. В OScam тот же порт прописывается в блоке [cccam] как port = 12000. Протокол newcamd обычно работает на порту 15000. Веб-интерфейс OScam по умолчанию — httpport = 8888. Все эти значения можно изменить в конфигах, но менять их стоит только при конфликте с другим сервисом.

Чем отличается OScam от CCcam?

OScam — открытый проект с исходным кодом, активно поддерживается сообществом. Поддерживает множество протоколов (CCcam, newcamd, cs378x, camd35 и другие) одновременно, даёт детальные логи и гибкое управление через веб-интерфейс. CCcam — проприетарный, разработка давно прекратилась, последняя версия 2.3.0. OScam стабильнее работает с большим числом карт и клиентов. Для нового сервера в 2026 году выбор очевиден — OScam.

Что такое ECM time и какое значение считается нормальным?

ECM time — время в миллисекундах от отправки ECM-запроса до получения Control Word. Это главный показатель качества при шаринге. До 300 мс — хорошо. 300-400 мс — нормально для сетевого источника. 400-500 мс — на грани, при быстрой смене ключей возможны фризы. Выше 500 мс — каналы будут фризить стабильно. ECM time зависит от пинга до сервера, уровня hop и нагрузки на источник.

Почему каналы фризят при рабочем подключении?

Рабочее подключение — это только полдела. Фризы при активном соединении почти всегда означают высокий ECM time. Проверьте его в веб-интерфейсе OScam на странице Users. Если выше 500 мс — смотрите на пинг до сервера, hop источника и нагрузку на него. Другая причина — несовпадение CAID: ресивер запрашивает один идентификатор, а reader обслуживает другой. В логе это будет no matching reader.

Что означает hop в линии шаринга?

Hop — количество промежуточных звеньев между вами и физической картой. Hop 0 — вы держите карту сами. Hop 1 — ваш поставщик держит карту и отдаёт напрямую. Hop 2 — поставщик сам купил линию у кого-то, у кого есть карта. Каждый дополнительный hop добавляет latency, повышает ECM time и создаёт дополнительные точки отказа. При шаринге предпочтителен hop 1.

Как связать reader и user в OScam, чтобы карта работала?

В oscam.server у вашего reader должно быть поле group = N. В oscam.user у аккаунта клиента — то же значение group = N. Хотя бы одно число должно совпасть. Если group не совпадают — аккаунт просто не видит этот reader, в логе появится no matching reader, и никакие другие параметры ситуацию не исправят. Это самая частая причина, по которой карта читается локально, но не отдаётся по сети.

О статье

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