EuroCardSharing: настройка CCcam и OScam сервера

Если вы уже разбирались с темой eurocardsharing, то знаете: большинство инструкций в сети либо устарели, либо написаны так, будто автор сам не заходил в конфиг ни разу. Здесь будет иначе — конкретные пути, реальные параметры, типичные ошибки и как их чинить. Без воды.

Что такое eurocardsharing и как работает протокол card sharing

Card sharing — это не магия и не взлом в киношном смысле. По сути, это сетевой протокол, по которому ресивер запрашивает расшифровку сигнала у удалённого сервера с реальной картой доступа. Ваш ресивер сам расшифровать поток не может — карты нет — но он умеет спросить у кого-то другого.

Принцип работы: ECM, DCW и control words

Каждые несколько секунд провайдер меняет ключи шифрования потока. Эти зашифрованные сообщения называются ECM (Entitlement Control Message). Задача демона card sharing — отправить ECM на сервер, где стоит физическая карта, и получить обратно DCW (Decryption Control Word) — те самые расшифрованные control words. Ресивер использует их для декодирования видеопотока в реальном времени.

Весь этот цикл должен укладываться примерно в 500 миллисекунд. Если сервер отвечает медленнее — начинаются фризы, экран зависает или появляется мусор вместо картинки.

Роли server и client в схеме

Сервер — это машина с реальной смарт-картой в физическом ридере. Клиент — ваш ресивер без карты, который через демон (CCcam или OScam) подключается к серверу и запрашивает DCW. В большинстве домашних сценариев вы работаете только на клиентской стороне.

Reshare — это когда клиент сам начинает раздавать полученные DCW другим клиентам. Каждая такая пересылка добавляет один hop и увеличивает задержку. Hop 1 — карта локальная, hop 2 — уже чужой клиент отдаёт вам то, что сам получил. И так далее.

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

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

OScam — open-source, поддерживает CCcam, newcamd, mgcamd, camd35, gbox и ещё несколько протоколов. Гибкий, с веб-интерфейсом, активно поддерживается сообществом. Сложнее в настройке из-за разделённых конфигов, зато намного мощнее когда разберёшься.

Настройка CCcam.cfg: структура и ключевые параметры

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

Путь к конфигу: /var/etc/CCcam.cfg

На большинстве спутниковых ресиверов с Linux-прошивкой (Enigma2) конфиг лежит в /var/etc/CCcam.cfg. На некоторых образах — в /usr/keys/CCcam.cfg. Если не уверены — ищите так:

find / -name "CCcam.cfg" 2>/dev/null

На DreamBox и VU+ обычно /var/etc/. На Formuler и некоторых клонах — /usr/keys/. После правки файла нужно перезапустить демон: /etc/init.d/CCcam restart.

Строка C: line для подключения клиента

Формат строки клиента выглядит так:

C: hostname 12000 username password

Здесь C: — тип строки (client), после — адрес сервера, порт (стандартный 12000), логин и пароль. Важно: между C: и адресом ровно один пробел. Никаких табов. Регистр логина и пароля чувствителен — User1 и user1 это разные аккаунты.

Если подключение через eurocardsharing сервис, данные вам предоставит провайдер именно в таком формате — просто вставляете строку как есть.

Параметры F: line для отдачи

Строка F: (friend line) нужна, если вы хотите раздавать карты другим. Формат аналогичный:

F: username password 1 0

Первое число — количество hop для раздачи, второе — доступ к локальным картам (0/1). Если вы только клиент — строк F: в конфиге быть не должно.

Опции: SID assign, hop, cache

В заголовке файла задаются глобальные параметры. Вот рабочий минимум:

SERVER LISTEN PORT: 12000
GLOBAL LISTEN PORT: 15000
MINIMIZE RESSOURCES: yes
CACHE DELAY: 0
MAX HOPS: 5
RESHARE HOPS: 1

CACHE DELAY: 0 убирает искусственную задержку кеша — на стабильных линиях это улучшает отклик. RESHARE HOPS: 1 ограничивает раздачу одним уровнем, если вы сервер. MAX HOPS: 5 — не тянуть карты с шестого и дальше hop.

Отдельная опция SIDSECURITY: yes включает привязку по SID — канал раздаётся только тем клиентам, которым явно прописан. Используют в конфигурациях с ограниченными пакетами.

Настройка OScam: oscam.server, oscam.user и oscam.conf

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

Каталог конфигов: /etc/tuxbox/config/oscam/

На Enigma2-прошивках файлы лежат в /etc/tuxbox/config/oscam/. На чистом Linux — чаще /usr/local/etc/oscam/ или /etc/oscam/. Логи по умолчанию пишутся в /var/log/oscam.log, хотя это настраивается в oscam.conf.

Запуск вручную: oscam -b -c /etc/tuxbox/config/oscam — флаг -b запускает в фоне, -c указывает каталог конфигов. Смотреть лог в реальном времени: tail -f /var/log/oscam.log.

Секция [reader] в oscam.server

Это главный файл для подключения к серверу. Пример для CCcam-линии:

[reader]
label = myline
protocol = cccam
device = server.hostname,12000
user = myusername
password = mypassword
cccversion = 2.3.0
cccmaxhops = 5
reconnecttimeout = 30
group = 1
caid = 0500,0604

Параметр protocol может быть cccam, newcamd, mgcamd или camd35 — зависит от того, что поддерживает ваш сервер. У каждого протокола свои нюансы. Newcamd использует DES-шифрование и требует ключ key в секции — 14 байт в hex. Camd35 работает по UDP и немного быстрее на локальных сетях. CCcam — самый распространённый для eurocardsharing.

Поле caid ограничивает ридер конкретными системами шифрования. 0500 — Viaccess, 0604 — Irdeto, 1702 — Nagravision, 0963 — Videoguard. Если не указать — ридер будет пробовать декодировать всё подряд.

Секция [account] в oscam.user

Здесь прописываются аккаунты для клиентов, если OScam работает как сервер. Для клиентского режима — нужен хотя бы один аккаунт для локального демона:

[account]
user = localclient
pwd = localpass
group = 1
au = 1

Параметр au включает автоматическое обновление EMM (entitlement management messages) — нужен если на вашей карте происходит обновление прав.

Webif и порт мониторинга 8888

Веб-интерфейс OScam — это реально удобная штука. Включается в oscam.conf:

[webif]
httpport = 8888
httpuser = admin
httppwd = admin
httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255

После запуска — открываете http://ip-ресивера:8888 в браузере. Там видно статус каждого ридера, ECM time в реальном времени, количество запросов, активные аккаунты. Гораздо удобнее, чем копаться в логах.

Диагностика и устранение типичных ошибок подключения

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

Линия активна, но нет картинки (FTA/ECM timeout)

Первым делом проверьте — канал вообще зашифрован? FTA-каналы (free-to-air) card sharing не требуют по определению. В OScam webif смотрите поле ECM time: если оно пустое или канал показывает статус «FTA», всё нормально — просто этот канал не нужно расшифровывать.

Если ECM time есть, но большой (больше 500–800 мс) — проблема в задержке сервера. Если показывает «not found» — либо нужный CAID/provider ID не поддерживается вашей линией, либо рассинхрон времени. Проверьте NTP: date на ресивере должен показывать правильное время. Рассинхрон в несколько минут ломает ECM-аутентификацию — это частая и неочевидная причина.

Ошибка connection refused и проверка портов

Connection refused означает одно: либо порт не слушается на сервере, либо заблокирован фаерволом. Проверяем:

telnet server.hostname 12000
# или
nc -zv server.hostname 12000

Если telnet сразу выдаёт «Connection refused» — проблема на стороне сервера или в сети. Если висит без ответа — скорее всего фаервол или CGNAT. Если вы за CGNAT провайдера (а сейчас так работают многие мобильные и часть домашних провайдеров) — проброс портов через NAT роутера не поможет. В этом случае вы можете работать только в клиентском режиме и подключаться к внешним серверам, но не принимать входящие соединения.

Проверить iptables на ресивере: iptables -L -n | grep 12000. Если порт заблокирован — iptables -A INPUT -p tcp --dport 12000 -j ACCEPT.

Freeze и высокий ping/hop

Фризы при hop 2+ — это почти нормально, если сервер перегружен. В прайм-тайм (вечер по европейскому времени) нагрузка на общие серверы eurocardsharing резко растёт, ECM time может уходить за 1000–1500 мс. Это именно перегрузка, а не проблема вашего конфига.

Конфликт двух демонов — отдельная история. Если у вас запущены CCcam и OScam одновременно и оба пытаются слушать порт 12000, один из них упадёт или будет работать некорректно. Проверьте: netstat -tlnp | grep 12000. Один порт — один демон.

Чтение логов и команда telnet для проверки

Лог OScam читается так: tail -f /var/log/oscam.log | grep -i ecm. Ищите строки с «found» (DCW получен), «not found» (карты нет) и «timeout» (сервер не ответил вовремя).

В CCcam логи обычно в /tmp/CCcam.log или /var/log/CCcam.log — зависит от прошивки. Команда grep "CONNECTED\|ERROR\|card" /tmp/CCcam.log покажет главное без мусора.

Ещё один момент: если линия работает только на части каналов — дело в CAID или provider ID. Один спутниковый пакет может использовать несколько provider ID, и если ваша линия покрывает только часть из них, часть каналов расшифровываться не будет. Это не баг — это ограничение конкретной карты на сервере.

Как выбрать качественную линию: технические критерии

Рынок eurocardsharing полон предложений, и большинство из них выглядят одинаково. Вот что реально имеет значение с технической точки зрения.

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

Нормальный uptime для серьёзного провайдера — от 99% в месяц. Спрашивайте или ищите публичный статус-пейдж. Если провайдер не публикует статистику аптайма — это уже сигнал. Ежедневные перезагрузки, плановые «окна обслуживания» по вечерам — красные флаги.

Тестируйте перед покупкой, если есть триал. Минимум 48–72 часа, включая вечернее время в выходные — именно тогда нагрузка максимальная.

Низкий ECM time и количество hop

ECM time до 200–300 мс — хорошо. 300–500 мс — приемлемо. Больше 500 мс — начнутся проблемы на некоторых ресиверах и каналах с быстрой сменой control words.

Hop 1 означает, что сервер держит физическую карту локально. Hop 2 — уже reshare, то есть сервер сам является клиентом где-то ещё. При hop 2+ стабильность падает: если вышестоящий сервер недоступен, падает и ваша линия. Цепочек hop 3 и выше лучше избегать полностью.

Локальные карты против reshare

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

Хороший показатель — провайдер явно указывает, какие карты локальные, какие CAID поддерживаются и какие пакеты входят. Если в описании только «все европейские пакеты» без деталей — почти наверняка reshare с неизвестного источника.

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

Стандартный порт — 12000. Задаётся параметром SERVER LISTEN PORT: 12000 в CCcam.cfg. Порт должен быть открыт в iptables и проброшен через NAT на роутере, если ресивер работает как сервер. В клиентском режиме проброс не нужен — исходящие соединения обычно не блокируются.

Где находится конфигурационный файл CCcam?

Чаще всего — /var/etc/CCcam.cfg. На части образов путь другой: /usr/keys/CCcam.cfg. Зависит от прошивки ресивера. Найти точный путь можно командой find / -name "CCcam.cfg" 2>/dev/null.

Чем OScam лучше CCcam для card sharing?

OScam — open-source с активной разработкой. Поддерживает несколько протоколов одновременно: newcamd, mgcamd, camd35, cccam. Есть полноценный веб-интерфейс на порту 8888 с мониторингом ECM time. Лучше работает с несколькими ридерами одновременно. CCcam проще в начальной настройке, но проприетарный, давно не обновляется и уступает в гибкости.

Почему линия активна, но нет изображения?

Вариантов несколько: ECM timeout (сервер отвечает слишком долго), нужный пакет не поддерживается картой на сервере, рассинхрон системного времени на ресивере, слишком высокий hop, или канал вообще FTA и расшифровки не требует. Первым делом — проверить ECM time в webif OScam и сверить системное время командой date.

Как проверить, открыт ли порт сервера?

Команда telnet hostname 12000 или nc -zv hostname 12000. Если «Connection refused» — порт не слушается или заблокирован. Если соединение зависает — скорее всего фаервол или CGNAT между вами и сервером. Проверьте также iptables -L -n | grep 12000 на ресивере.

Что означает hop в card sharing и почему он важен?

Hop — количество пересылок ECM-запроса до физической карты. Hop 1 означает локальную карту на сервере — минимальная задержка и максимальная стабильность. Hop 2 и выше — reshare: сервер сам является чьим-то клиентом. Каждый дополнительный hop добавляет задержку и точку отказа. При hop 3+ фризы и таймауты становятся нормой, а не исключением.

Практические советы для стабильного просмотра

Даже самая стабильная линия 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 или внешние мониторы.