Шаринг карт 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:
- Пинг до сервера:
ping server.example.com. Больше 100 мс — уже проблема для шаринга. - Проверка порта:
telnet server.example.com 12000. Если соединение не устанавливается — сервер недоступен или порт закрыт. - Проверка hop в веб-интерфейсе OScam: чем выше hop у источника, тем выше базовый ECM time.
- Нагрузка на сервер: если сервер обслуживает сотни клиентов с одной картой — время ответа растёт.
Высокий 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, и никакие другие параметры ситуацию не исправят. Это самая частая причина, по которой карта читается локально, но не отдаётся по сети.