/

ТВ Шара: настройка CCcam и OScam с нуля 2026

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

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

05.06.2026

ТВ Шара: настройка CCcam и OScam с нуля 2026

Если вы занимаетесь спутниковым ТВ достаточно долго, термин «тв шара» вам точно знаком. За этим словом стоит технология cardsharing — способ расшифровки платных каналов, при котором одна физическая смарт-карта обслуживает несколько клиентов по сети. Я разберу, как это работает на уровне протоколов, и покажу конкретные конфиги для CCcam и OScam — с реальными путями, портами и типичными граблями.

Что такое ТВ шара и как работает cardsharing

Cardsharing — это не магия и не взлом в привычном понимании. Это сетевой протокол, который позволяет передавать control word (ключ расшифровки) от сервера, где вставлена карта, к клиентскому ресиверу. Клиент использует полученный ключ для декодирования потока в реальном времени.

Принцип работы card sharing: сервер, клиент и обмен control word

Схема простая: зашифрованный канал периодически отправляет ECM-пакет (Entitlement Control Message). Сервер передаёт этот пакет на физическую смарт-карту, карта возвращает DCW — 16 байт, которые являются ключом для текущего окна расшифровки. Эти 16 байт сервер отправляет клиенту по TCP.

Временной интервал смены DCW — обычно около 10 секунд, иногда 5-8 секунд у некоторых провайдеров. Это означает, что сервер должен успеть получить новый ключ и передать его клиенту до истечения текущего окна. Именно поэтому пинг и задержка сети так важны — об этом ниже.

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

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

Newcamd (NewCamd) — альтернативный протокол, чаще встречается на старых ресиверах и некоторых специфических сетапах. Порты обычно начинаются от 15000. У newcamd более строгая аутентификация через DES, что теоретически чуть надёжнее, но на практике CCcam встречается в 90% установок.

CS378x (Camd35) — ещё один вариант, используется реже. OScam поддерживает все три, CCcam — только свой протокол плюс ограниченную поддержку newcamd через плагины.

ECM и EMM: что реально передаётся по сети

ECM (Entitlement Control Message) — зашифрованный запрос, содержащий текущий CW. Именно его карта расшифровывает и возвращает открытый ключ. EMM (Entitlement Management Message) — управляющие сообщения для обновления прав подписки на карте. В контексте тв шары EMM проходит на сервер, а не на клиент — клиент получает только готовый DCW.

Важно понимать: по сети реально летит очень мало данных. Один DCW — 16 байт каждые 10 секунд на канал. Это не видеопоток и не большой объём трафика.

Законные сценарии использования

Технология имеет легальные применения: тестирование собственного оборудования перед покупкой, использование одной подписки на нескольких ресиверах в пределах домохозяйства (в ряде юрисдикций это допустимо), образовательные и исследовательские цели. Публикация чужих приватных C-линий или торговля доступом к картам, на которые у вас нет прав, — это уже другая история.

Настройка CCcam: конфиги, пути и порты

CCcam — это демон, который запускается на ресивере или сервере и читает один главный конфигурационный файл. Разобравшись с форматом этого файла, вы закроете 80% вопросов по настройке.

Структура файла CCcam.cfg и его расположение

На большинстве Enigma2-образов (OpenATV, OpenPLi, OpenVIX) конфиг лежит по пути /var/etc/CCcam.cfg. На некоторых старых образах или специфических сборках встречается /usr/keys/CCcam.cfg. Редактируется через FTP (FileZilla подключается на порт 21 или 22 через SFTP) или через telnet/SSH.

Базовая структура файла выглядит так:

# CCcam.cfg
SERVER LISTEN PORT : 12000
SERVER MAX CONNECTIONS : 5
WAIT TIME : 0

C: hostname 12000 username password

Параметр SERVER LISTEN PORT задаёт порт, на котором CCcam принимает подключения. SERVER MAX CONNECTIONS — максимальное число одновременных клиентских подключений. WAIT TIME — задержка в секундах перед попыткой реконнекта при обрыве, обычно оставляют 0.

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

C-линия — сердце конфига. Формат фиксированный:

C: hostname port username password

Например: C: 192.168.1.100 12000 myuser mypass для локального сервера или с реальным hostname для удалённого. Можно добавить несколько C-линий — CCcam попробует их по очереди при отказе основной.

Распространённая ошибка — пробелы в начале строки или неверный регистр. CCcam чувствителен к формату. Если C-линия не подхватывается, первым делом проверяйте отсутствие лишних пробелов и правильность написания.

Файл CCcam.channelinfo и приоритеты провайдеров

Файл CCcam.channelinfo (обычно там же, /var/etc/) содержит маппинг CAID и provider ID к понятным названиям каналов. Это не обязательный файл, но с ним логи читаются намного удобнее.

Для управления приоритетами при наличии нескольких карт или ридеров используется CCcam.prio. Формат строки: CAID:ProviderID:Туннель. Это критично, когда канал кодируется двумя разными CAID одновременно — без правильного приоритета CCcam может пытаться расшифровать через неподходящую карту и получать таймаут.

Проверка соединения и чтение лога

CCcam поднимает веб-интерфейс на порту 16001. Открываете в браузере http://ip-ресивера:16001 и видите статус ридеров, подключённых клиентов и текущие CAID. Это самый быстрый способ проверить, что линия подхватилась.

Лог CCcam по умолчанию пишется в /tmp/CCcam.log. Смотреть в реальном времени через SSH: tail -f /tmp/CCcam.log. Там сразу видно попытки подключения, ошибки аутентификации и ECM-запросы.

Настройка OScam: oscam.server, oscam.conf и reader-секции

OScam — более гибкий и современный вариант. Раздельные конфиги, детальный webif, поддержка множества протоколов. На мой взгляд, для серверной стороны OScam предпочтительнее, особенно если нужна точная диагностика.

Основные файлы: oscam.conf, oscam.server, oscam.user, oscam.dvbapi

Конфиги OScam лежат в одном из двух мест: /etc/tuxbox/config/oscam/ или /var/etc/oscam/ — зависит от образа Enigma2. На некоторых сборках встречается /usr/local/etc/oscam/.

  • oscam.conf — основной конфиг: глобальные параметры, настройка webif, параметры логирования
  • oscam.server — описание ридеров (откуда брать карты или к каким серверам подключаться)
  • oscam.user — аккаунты клиентов, которые подключаются к вашему OScam-серверу
  • oscam.dvbapi — параметры локальной расшифровки через DVB API (нужен, если OScam расшифровывает прямо на ресивере)

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

Создание reader для протокола cccam

Пример секции в oscam.server для подключения к CCcam-серверу:

[reader]
label       = myserver
protocol    = cccam
device       = hostname,12000
user         = myuser
password     = mypass
group        = 1
cccversion   = 2.3.0
cccmaxhops   = 1
cccreshare   = 0
reconnecttimeout = 30

Параметр cccversion эмулирует версию CCcam-клиента — некоторые серверы проверяют эту строку. Актуальное значение на 2026 год: 2.3.0 или 2.2.1. Поле cccmaxhops ограничивает глубину решары — ставьте 1, если хотите только local-карты сервера. cccreshare = 0 означает, что вы не будете раздавать дальше то, что получили.

Параметр reconnecttimeout задаёт секунды до переподключения при обрыве. 30 секунд — разумный компромисс между быстрым восстановлением и лишней нагрузкой на сервер.

Настройка webif и мониторинг через порт 8888

В oscam.conf добавляете секцию:

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

После перезапуска OScam открываете http://ip-ресивера:8888 и получаете полноценный веб-интерфейс. Там видно ECM time на каждый ридер, активные сессии, текущие CAID и подробный лог в реальном времени. Это несравнимо удобнее, чем читать лог CCcam в консоли.

На что смотреть в webif: колонка ECM time для каждого ридера должна быть стабильной. Скачки от 200 мс до 2000 мс — признак перегрузки сервера или проблем с сетью. Статус ридера "connected" при высоком ECM time — типичная ситуация, когда всё вроде работает, но каналы фризят.

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

OScam умеет быть одновременно клиентом (читает карты с удалённого сервера через reader-секции) и сервером (раздаёт локальным клиентам). Для этого в oscam.server создаёте reader с protocol = cccam для входящего соединения, а в oscam.conf настраиваете серверную часть:

[cs357x]
port = 15000

[cccam]
port = 12001

В oscam.user добавляете пользователей, которым разрешено подключаться:

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

Параметр group должен совпадать с группой ридера в oscam.server — именно через группы OScam сопоставляет, какой ридер обслуживает какого клиента. Это одна из фишек OScam, которую часто не объясняют — без совпадения групп клиент подключится, но не получит ни одного ключа.

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

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

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

Первый шаг — проверить, открыт ли порт. Из консоли ресивера или с другой машины: telnet hostname 12000. Если соединение устанавливается — порт доступен, проблема в другом. Если "Connection refused" — смотрите файрвол или NAT на стороне сервера.

Второй шаг — сверить CAID и Provider ID. Каждый зашифрованный канал имеет конкретный CAID (например, 0x1830 для Viasat, 0x0D00 для Cryptoworks) и Provider ID. Если у вас на сервере карта с CAID 0x1830, а канал кодируется 0x0622 — расшифровки не будет, хоть линия трижды online. Смотрите CAID канала в плагине ServiceInfo на ресивере.

Третий шаг — системное время. Это убивает много времени на диагностику, потому что не очевидно. Если системное время ресивера расходится с реальным более чем на несколько минут, ECM-запрос будет отклоняться. Проверяется: date в SSH. Синхронизация: ntpdate pool.ntp.org. После синхронизации перезапустите CAM.

Высокий ECM time и фризы изображения

Норма ECM time — 300-600 мс. При значениях 800-1000 мс каналы ещё открываются, но фризы начинаются. Выше 1500 мс — расшифровка практически нестабильна.

Причины роста ECM time: перегрузка сервера (слишком много клиентов на одну карту), высокий пинг до сервера (проверяется обычным ping hostname), решара через несколько уровней (каждый hop добавляет задержку), нестабильный канал связи с потерями пакетов.

Если пинг до сервера 20 мс, а ECM time 800 мс — значит сервер перегружен или карта работает медленно. Если пинг 150 мс, ECM time 600 мс — это математически нормально, проблема не в конфиге.

Reader online, но каналы не открываются (CAID mismatch)

Ситуация: в webif OScam или на порту 16001 CCcam ридер показывает connected, CAID на сервере есть, но конкретный канал не расшифровывается. Самые частые причины:

Первая — канал сменил CAID или Provider ID после обновления провайдера. Такое реально бывает — провайдеры периодически обновляют параметры шифрования. Проверяйте актуальные значения через ServiceInfo прямо на живом потоке.

Вторая — двойное кодирование. Некоторые каналы кодируются одновременно двумя CAID. CCcam по умолчанию пробует первый попавшийся, и если в CCcam.prio не прописан правильный приоритет, получаете таймаут. В OScam это решается через oscam.dvbapi с явным указанием приоритетов CAID.

Третья — конфликт двух CAM на одном ресивере. Если у вас одновременно запущены CCcam и OScam, они будут конфликтовать за DVB API. Держите активным только один.

Разрывы соединения и keepalive

Если ридер периодически отваливается и переподключается — смотрите на keepalive. В OScam параметр ccckeepalivetimeout в секции reader задаёт, как часто отправлять keepalive-пакет. Стандартное значение 900 секунд может быть много, если сервер или NAT-шлюз закрывает idle-соединения раньше.

Типичная проблема для домашних серверов за NAT: маршрутизатор закрывает TCP-соединение через 300 секунд idle. Решение — уменьшить ccckeepalivetimeout до 240-270 секунд, чтобы keepalive уходил до закрытия сессии.

Для собственного сервера за NAT обязателен проброс порта. Порт 12000 TCP пробрасывается на локальный IP сервера. Без проброса клиенты извне не достучатся, даже если конфиг идеальный — пакеты просто не дойдут.

Как выбрать сервер: технические критерии без привязки к брендам

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

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

Пинг — не просто число для красоты. Базовый ECM time = время ответа карты + 2 × RTT до сервера. При пинге 10 мс ECM time будет около 250-400 мс, при пинге 100 мс — уже 450-700 мс. Выбирайте сервер с минимальным пингом из вашей географической точки.

Аптайм проверяется за тестовый период: смотрите логи на количество реконнектов. Один-два реконнекта в сутки — норма для плановых перезагрузок. Постоянные разрывы каждые несколько часов — признак перегруженного или нестабильного сервера.

Поддержка нужных протоколов и количества линий

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

Количество линий в контексте тв шары — это число одновременных клиентских подключений. Вам нужна одна линия на один ресивер. Если у вас три ресивера — нужны три линии или сервер с поддержкой нескольких подключений по одному аккаунту.

Local-карты против reshare и глубина решары

Local-карта на сервере — физическая смарт-карта в кардридере сервера. Это самый быстрый и надёжный вариант: ECM идёт прямо на карту, без дополнительных прыжков по сети.

Решара (reshare) — сервер сам является клиентом другого сервера и пересылает ключи дальше. Каждый уровень решары добавляет 50-200 мс к ECM time и увеличивает нестабильность. Глубина решары 2-3 уровня — это уже заметно по качеству изображения. Спрашивайте у провайдера явно: local cards или reshare.

Тестовый период и прозрачность ECM time

Нормальный провайдер даёт тестовый период — обычно 24-72 часа. За это время смотрите в webif OScam на реальный ECM time: стабильность важнее среднего значения. Если за 48 часов ECM time стабильно 350-500 мс без скачков — это хороший знак.

Прозрачность: провайдер должен указывать, какие именно CAID и провайдеры поддерживаются. Если в описании просто "все пакеты" без конкретных CAID — это повод насторожиться. Нормальная практика — публиковать список поддерживаемых CAID с конкретными числами.

Часто задаваемые вопросы

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

CCcam использует TCP-порт 12000 для обмена с клиентами по основному протоколу. Веб-интерфейс CCcam info доступен на порту 16001. Оба значения можно изменить: клиентский порт — в C-линии и параметром SERVER LISTEN PORT в CCcam.cfg, порт веб-интерфейса — отдельным параметром конфига.

Где находится конфиг CCcam.cfg на Enigma2?

Чаще всего по пути /var/etc/CCcam.cfg — это стандарт для OpenATV, OpenPLi и большинства современных образов. На старых сборках или специфических имиджах встречается /usr/keys/CCcam.cfg. Редактируется через FTP-клиент (FileZilla на порт 21) или напрямую через SSH-сессию командой nano /var/etc/CCcam.cfg.

Почему канал не открывается, хотя reader online?

Самые частые причины: несовпадение CAID или Provider ID канала с тем, что реально есть на сервере; неверное системное время ресивера (рассинхрон более 2-3 минут блокирует ECM); канал кодируется двумя CAID, и неверный приоритет в CCcam.prio или oscam.dvbapi заставляет систему пробовать неподходящую карту. Проверяйте CAID канала через ServiceInfo на живом потоке.

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

ECM time — время в миллисекундах от отправки ECM-запроса до получения control word от сервера. Норма — 300-600 мс. При 800-1000 мс возможны редкие фризы. Выше 1500 мс — расшифровка нестабильна, изображение постоянно подвисает. На рост ECM time влияют: физический пинг до сервера, нагрузка сервера, глубина решары и скорость самой смарт-карты.

Чем OScam лучше CCcam для настройки сервера?

OScam даёт раздельные конфиги (oscam.server, oscam.user, oscam.conf), что удобнее при большом количестве ридеров и пользователей. Webif на порту 8888 показывает подробную статистику ECM по каждому ридеру в реальном времени. OScam поддерживает одновременно несколько протоколов (CCcam, newcamd, CS378x) и умеет работать одновременно клиентом и сервером. Для диагностики OScam предпочтительнее.

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

Да. В oscam.server создаёте reader-секцию с protocol = cccam и указываете upstream-сервер — это клиентская часть. В oscam.conf в секциях [cccam] и [cs357x] задаёте порты для входящих подключений — это серверная часть. В oscam.user добавляете клиентов. Главное — правильно настроить группы: group в reader и group в user должны совпадать, иначе карта не будет обслуживать клиентов.

О статье

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