/

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

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

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

08.06.2026

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

Если вы уже знаете, что такое ECM и почему каналы фризят, но каждый раз спотыкаетесь на конфигах — эта статья для вас. Шаринг устроен достаточно прозрачно на техническом уровне, но дьявол в деталях: неправильный CAID, закрытый порт или высокий hop-count — и вместо картинки получаете чёрный экран. Разберём всё по порядку: протоколы, файлы, диагностику и критерии выбора сервера.

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

Шаринг — это не магия, а вполне конкретный обмен данными. Ваш ресивер получает зашифрованный поток от оператора, извлекает из него ECM-пакет (Entitlement Control Message) и отправляет его на сервер. Сервер пропускает этот пакет через физическую смарт-карту, получает control word (DCW) и возвращает его обратно. Ресивер использует DCW для расшифровки видеопотока. Весь цикл должен уложиться в ~200–600 мс — иначе начинаются фризы.

Принцип работы: ECM, DCW и обмен ключами

ECM-пакет — это зашифрованный запрос, который содержит информацию о том, какой ключ нужен для декодирования текущего сегмента потока. Оператор меняет control word примерно каждые 10 секунд (на некоторых пакетах — каждые 5). Если за это время сервер не успел вернуть новый DCW, поток прерывается.

EMM (Entitlement Management Message) — отдельная история. Это пакеты автообновления прав на карте. Параметр au в OScam как раз контролирует, будет ли ваша карта получать EMM от оператора. Без правильного au-флага карта рано или поздно «отвалится» при очередном обновлении ключей.

Роль сервера и клиента в схеме card sharing

Сервер — это машина с физической картой и запущенным OScam или CCcam. Клиент — ваш ресивер или отдельный декодер, который подключается к серверу по сети и запрашивает DCW. Один сервер может обслуживать несколько клиентов одновременно, но каждая физическая карта имеет ограничение по количеству одновременных ECM-запросов — обычно 2–5, в зависимости от оператора.

Разница между локальной картой и сетевым шарингом

Локальная карта — физически вставлена в CAM-модуль вашего ресивера или в кардридер сервера. Задержка минимальная, 0 hops. Сетевой шаринг добавляет сетевую задержку и промежуточные узлы. Чем длиннее цепочка между вашим клиентом и реальной картой, тем выше риск фризов и тем сложнее диагностировать проблему.

Поддерживаемые протоколы: CCcam, newcamd, MGcamd, CS378x

Каждый протокол работает на своём порту и имеет свой формат обмена данными:

  • CCcam — порт по умолчанию 12000, TCP. Бинарный проприетарный протокол.
  • newcamd — порт 15000, TCP. Старый, но до сих пор встречается на железе 2010-х годов.
  • CS378x / camd35 — порт 34000, поддерживает и UDP, и TCP. Более современный и эффективный по накладным расходам.
  • MGcamd — надстройка над newcamd/CS378x, часто используется на старых ресиверах Dreambox.

OScam поддерживает все эти протоколы нативно. CCcam умеет только свой собственный. Если ваш ресивер старый и понимает только newcamd — ничего страшного, OScam поднимет newcamd-листенер на нужном порту.

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

OScam — это де-факто стандарт для серьёзной настройки. Открытый код, активная разработка в 2026 году, гибкая система прав и понятный веб-интерфейс. Конфигурация разбита на несколько файлов, и это правильное решение — не нужно разбираться в одном огромном конфиге.

Установка OScam на Enigma2 и Linux

На Enigma2 (Dreambox, VU+, GigaBlue) OScam устанавливается через пакетный менеджер:

opkg update
opkg install oscam

На обычном Linux-сервере — либо из репозитория дистрибутива, либо собираем из исходников с нужными флагами. Бинарник кладём в /usr/bin/oscam, конфиги — в /etc/oscam/ или /etc/tuxbox/config/oscam/ на Enigma2. На некоторых прошивках конфиги ищутся в /usr/keys/. Проверьте, какой путь использует ваша сборка: oscam --help | grep config.

Файл oscam.conf: блок [global] и [cs378x]

Главный конфиг — /etc/oscam/oscam.conf. Минимальная рабочая конфигурация выглядит так:

[global]
logfile        = /var/log/oscam.log
maxlogsize     = 500
nice           = -1
waitforcards   = 300
preferlocalcards = 1

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

[cs378x]
port           = 34000

[newcamd]
port           = 15000@0000:000000

Параметр preferlocalcards = 1 — важный. Он говорит OScam сначала смотреть в локальные карты, и только если не нашёл — идти в сетевые ридеры. Без него возможны ситуации, когда запрос уходит на удалённый сервер, хотя локальная карта могла ответить быстрее.

Файл oscam.server: описание ридеров

Файл /etc/oscam/oscam.server описывает все источники карт — как локальные, так и удалённые. Пример ридера для локальной смарт-карты через USB-кардридер:

[reader]
label          = local_card
protocol       = mouse
device         = /dev/ttyUSB0
caid           = 0500
ident          = 0500:020810
group          = 1
emmcache       = 1
au             = 1

Для удалённого сервера по протоколу CS378x:

[reader]
label          = remote_server
protocol       = cs378x
device         = 192.168.1.100,34000
user           = myuser
password       = mypass
caid           = 0500,1810
group          = 2
reconnecttimeout = 30

Параметр au = 1 разрешает передачу EMM-пакетов на эту карту. Если у вас контракт с оператором и физическая карта — включайте. Если это сетевой ридер чужого сервера — уточняйте у владельца, разрешает ли он au.

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

Файл /etc/oscam/oscam.user управляет тем, кто может подключаться к вашему серверу:

[account]
user           = client1
pwd            = securepassword
group          = 1,2
au             = 1
uniq           = 1
monlevel       = 0
caid           = 0500,1810
ident          = 0500:020810

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

Права на файлы с паролями — обязательно:

chmod 600 /etc/oscam/oscam.user
chmod 600 /etc/oscam/oscam.server

Перезапуск демона после изменений: systemctl restart oscam или /etc/init.d/oscam restart на Enigma2.

Проверка через веб-интерфейс на порту 8888

После запуска открывайте http://IP_сервера:8888 в браузере. Раздел «Readers» показывает статус каждого ридера — Connected/Disconnected, время последнего ECM-ответа в мс, количество найденных/не найденных запросов. Если ридер показывает «CAID not found» — смотрите на соответствие параметров caid и ident в oscam.server.

Настройка CCcam: cfg-файл и строки C-line

CCcam проще в начальной настройке — один файл, понятный синтаксис. Но он закрытый и с 2015 года практически не развивается. Если у вас стоит выбор с нуля — берите OScam. Если уже есть CCcam и всё работает — необязательно переезжать.

Структура CCcam.cfg и основные директивы

Конфиг лежит в /var/etc/CCcam.cfg. Базовая структура:

SERVER LISTEN PORT : 12000
WEBINFO LISTEN PORT : 16001
WEBINFO USERNAME : admin
WEBINFO PASSWORD : adminpass

SHARE LIMIT : 10
LOG FILE : /tmp/CCcam.log
LOG LEVEL : 1

ACCOUNT : client1 password1 2 0 0 { 0:0:0 }

SERVER LISTEN PORT — порт, на котором CCcam принимает подключения клиентов. SHARE LIMIT — максимальное число одновременных обращений. Не завышайте без причины.

Формат C-line: host port user pass

C-line — это строка подключения к серверу. Синтаксис жёсткий:

C: hostname.example.com 12000 myusername mypassword

Hostname может быть как IP-адресом, так и доменным именем (если у сервера DDNS). Порт 12000 — стандартный для CCcam, но провайдер может использовать другой. Уточняйте при получении доступа.

Несколько C-line в конфиге — допустимо. CCcam будет использовать первую рабочую линию. Но не стоит добавлять десяток строк от разных серверов с надеждой «авось одна работает» — это создаёт лишнюю нагрузку и путаницу в логах.

F-line для раздачи доступа клиентам

F-line описывает учётную запись для входящих подключений:

F: username password uphops downhops reshare_level { caid:providerid:... }

Пример: F: client1 pass1 1 0 0 — пользователь client1 с паролем pass1, получает доступ с 1 uphop, без downhops, reshare запрещён (0). Числа после логина/пароля — это лимиты распространения карт. Если не планируете, что клиент будет перепродавать доступ дальше — ставьте reshare 0.

Параметры hops, share limits и reshare

Hop — это одно «перепрыгивание» между серверами в цепочке шаринга. Если у вас сервер с локальной картой (0 hops), и вы отдаёте её клиенту — у клиента будет 1 hop. Если этот клиент отдаёт дальше — следующий получит 2 hops.

Каждый hop добавляет сетевую задержку. При 1 hop и нормальной сети — 50–150 мс дополнительно. При 3+ hops на медленных серверах — легко получить ECM-время 800–1200 мс и постоянные фризы на HD-каналах. Reshare без согласия владельца карты — это прямой путь к перегрузу и отключению аккаунта.

Диагностика проблем: каналы не открываются

90% проблем решается чтением логов. Не гадайте — смотрите в файл. OScam пишет достаточно подробно, чтобы понять причину без долгих экспериментов.

Чтение логов OScam и расшифровка статусов

Лог в реальном времени: tail -f /var/log/oscam.log. Ключевые статусы в строках ECM:

  • found (150ms) — запрос выполнен, DCW получен за 150 мс. Норма.
  • found (950ms) — ответ пришёл, но медленно. Если >600 мс регулярно — ждите фризов.
  • not found — ни один ридер не смог декодировать. Причина — неверный CAID/ident или карта не имеет прав на этот пакет.
  • timeout — сервер не ответил вовремя. Сетевая проблема или перегруз.
  • cache — ответ взят из кэша ECM. Хорошо, быстро.

Ошибки: «card not found», «no matching reader»

«No matching reader» — OScam не нашёл ридера, который мог бы обработать этот CAID. Проверяйте: совпадают ли значения caid в oscam.server с тем, что запрашивает ресивер. CAID для популярных операторов — конкретные числа, например 0500 для Viaccess, 1810 для Nagravision, 0604 для Irdeto. Если ресивер шлёт запрос с CAID 0604, а в ридере прописан только 0500 — ответа не будет.

«Card not found» от CCcam обычно означает, что C-line принята, соединение установлено, но сервер сообщает об отсутствии нужной карты. Либо пакет не входит в вашу подписку, либо оператор сменил ключи и сервер ещё не обновился.

Отдельный случай — оператор сменил ключи, а линия формально работает. Вы видите в логах подключение к ридеру, но ECM-ответы приходят «not found». Это признак того, что сервер ещё не получил обновление карты через EMM. Хороший сервер обновляется за несколько минут после смены ключей оператором — плохой может «молчать» часами.

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

Если каналы периодически зависают на 1–3 секунды — смотрите на ECM-время в логах. Если видите значения 800–1500 мс — проблема в задержке между клиентом и сервером, либо сервер перегружен.

Фризы только на HD и UHD при норме на SD — классическая ситуация. HD-каналы меняют control word чаще, иногда каждые 4–5 секунд. При ECM-времени 600 мс это нормально. При 900+ мс — не успеваете. SD-каналы менее требовательны к задержке.

Ещё одна причина фризов — конфликт CAID при нескольких ридерах. Если два ридера могут декодировать один и тот же CAID, OScam по умолчанию попытается оба — это создаёт лишнюю нагрузку. Используйте параметр caidpriority или чётко разграничьте CAID по ридерам через ident.

Внимание: если OScam и CCcam запущены одновременно и оба настроены на один порт (например 34000) — один из них упадёт с ошибкой «address already in use». Проверьте командой netstat -tulpn | grep 34000 — кто занял порт. Запускайте одно из двух, или разведите их на разные порты.

Проблемы сети: NAT, firewall, проброс портов

Самая частая причина «не подключается» — закрытый порт. Проверить со стороны сервера:

netstat -tulpn | grep 34000

Проверить доступность со стороны клиента:

telnet hostname 34000
# или
nc -zv hostname 34000

Если telnet зависает — порт закрыт на роутере или фаерволе. Открываем на роутере: TCP-проброс внешнего порта 34000 на внутренний IP сервера, порт 34000. Для CS378x нужен и UDP-проброс на тот же порт.

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

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

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

Аптайм и стабильность линии

Надёжный сервер имеет аптайм >99% в месяц. Проверить это до оплаты сложно, но есть косвенные признаки: наличие тестового доступа (48–72 часа), прозрачная страница статуса, активное сообщество с реальными отзывами (не анонимные звёздочки).

Во время тестового периода не просто смотрите «открываются ли каналы» — следите за ECM-временем в логах 24 часа подряд. Включая ночь и утро, когда нагрузка на сервер другая. Если ECM стабильно держится в диапазоне 100–400 мс — хороший знак.

Локальные карты против реселл-цепочек

Реселлер покупает доступ у другого реселлера, тот — у третьего. В итоге ваш запрос проходит 3–5 hops прежде чем дойти до реальной карты. Каждый hop — дополнительные 50–200 мс и ещё одно звено, которое может упасть.

Спрашивайте прямо: «локальные карты или реселл?» Хороший провайдер ответит честно и покажет ECM-время в своей панели. Локальная карта — это 0–1 hop, время 50–150 мс. Если вам предлагают «гарантированно без фризов» при ECM-времени 700 мс — что-то не так.

Тестовый период и проверка ECM-времени

Тестовый доступ — минимальное требование для нормального провайдера. 24–72 часа достаточно, чтобы оценить стабильность. Во время теста запускайте tail -f /var/log/oscam.log на несколько часов и сохраняйте вывод. Потом анализируйте: какой процент ECM-запросов вернул found, какой — timeout, каково среднее время ответа.

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

grep "found" /var/log/oscam.log | grep -oP '\(\d+ms\)' | tr -d '()ms' | awk '{s+=$1; c++} END {print s/c "ms avg"}'

Поддержка и обновление при смене ключей

Операторы меняют ключи регулярно — плановые смены, внеплановые при подозрении на утечку. Качество провайдера проявляется именно в эти моменты: насколько быстро обновляется карта через EMM, есть ли у поддержки мониторинг инцидентов, сообщают ли они пользователям о проблемах.

Хороший признак — публичный статус-чат или канал, где оперативно сообщают «оператор X сменил ключи, ожидаем обновления через 30 минут». Плохой признак — тишина и support-тикет с ответом через 12 часов.

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

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

Зависит от протокола. CCcam слушает порт 12000 (TCP). Newcamd — 15000 (TCP). CS378x / camd35 — 34000 (TCP и UDP). Веб-интерфейс OScam по умолчанию работает на порту 8888. Все эти порты настраиваются в конфигурационных файлах и должны быть проброшены на роутере, если сервер находится за NAT.

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

OScam — открытый проект с активной разработкой в 2026 году. Поддерживает все основные протоколы (CS378x, newcamd, CCcam-клиент), конфигурация разбита на oscam.conf, oscam.server, oscam.user — это удобнее для больших установок. CCcam — проприетарный, один файл CCcam.cfg, проще для базового случая, но последнее обновление вышло много лет назад. Для нового развёртывания — OScam однозначно.

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

Чаще всего — высокое ECM-время (>600–800 мс), большое число hops, перегруз сервера или нестабильная сеть. Реже — неверный CAID или ident, из-за чего запрос идёт не на тот ридер и отвечает медленнее. Проверяйте через tail -f /var/log/oscam.log — смотрите числа в миллисекундах рядом со статусом found.

Где лежат конфигурационные файлы OScam на Enigma2?

Обычно в /etc/tuxbox/config/oscam/ или /usr/keys/ — зависит от прошивки. Основные файлы: oscam.conf, oscam.server, oscam.user. На файлы с паролями ставьте права 600 командой chmod 600 oscam.user oscam.server. После любых изменений перезапускайте демон: /etc/init.d/oscam restart.

Что значит параметр hops в строке шаринга?

Hops — количество промежуточных серверов между вашим клиентом и физической смарт-картой. Локальная карта в вашем кардридере — 0 hops. Если вы подключаетесь напрямую к серверу с локальной картой — 1 hop, это оптимально. Каждый дополнительный hop увеличивает задержку ECM-ответа на 50–200 мс. При 3+ hops стабильный шаринг HD-каналов становится проблематичным.

Как проверить, открыт ли нужный порт?

На сервере — netstat -tulpn | grep 34000 покажет, слушает ли процесс этот порт. Со стороны клиента — telnet hostname 34000 или nc -zv hostname 34000. Если соединение не устанавливается — проблема в фаерволе или проброске портов на роутере. Не забывайте про UDP-порт для CS378x: nc -uzv hostname 34000.

О статье

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