/

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

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

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

08.06.2026

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

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

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

Шаринг — это обмен control words (CW) между сервером с физической картой и клиентским ресивером по сети. Звучит просто, но дьявол в деталях цикла дешифровки.

Когда ресивер принимает зашифрованный поток, он не может расшифровать его самостоятельно без актуального CW. Он отправляет на сервер ECM-запрос, сервер обращается к карте, получает ответ и возвращает клиенту готовый control word. Весь этот цикл должен укладываться примерно в 8–10 секунд — именно столько живёт один CW до смены. Если ответ приходит позже — фриз на экране.

Принцип обмена control words (CW) между сервером и клиентом

CW — это 16-байтный ключ, который меняется каждые несколько секунд. Сервер хранит карту в кардридере, получает от неё актуальный CW и отдаёт его клиентам по сети. Клиент использует этот ключ для декодирования видеопотока в реальном времени.

Задержка передачи CW напрямую влияет на картинку. ECM time выше 600–700 мс — уже риск фризов на каналах с быстрой сменой ключа. Выше 1000 мс — фризы гарантированы.

Роль ECM и EMM в процессе дешифровки

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

Без регулярного приёма EMM локальная карта со временем перестаёт расшифровывать каналы — провайдер меняет ключи, а карта их не получила. Для клиентского шаринга EMM обычно не нужен, но для локальной карты на сервере — обязателен.

Чем отличается локальная карта от сетевого шаринга

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

С точки зрения ресивера разница минимальная — он просто получает CW. Но с точки зрения надёжности всё иначе: сетевое решение зависит от качества соединения, пинга до сервера и его загрузки.

Понятие 'фрифайла' (F-line) и приоритета каналов

F-line в CCcam — это строка конфигурации, которая описывает «виртуальную карту», которую сервер отдаёт клиенту. Синтаксис: F: username password uphops downhops. Uphops — сколько раз карта может быть переотдана выше по цепочке, downhops — сколько уровней вниз.

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

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

OScam — открытый проект, который сейчас де-факто стандарт для серверной части. Он гибче CCcam, поддерживает несколько протоколов одновременно и нормально читается человеком. На Enigma2-ресиверах (Dreambox, VU+, Zgemma и подобных) он обычно ставится через feed или ipk-пакет.

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

OScam использует несколько файлов вместо одного монолитного конфига:

  • oscam.conf — глобальные настройки: логирование, веб-интерфейс, параметры кэша и балансировки
  • oscam.server — описание ридеров: локальные карты, удалённые серверы по CCcam/newcamd
  • oscam.user — аккаунты клиентов, которым ваш OScam отдаёт CW
  • oscam.services — фильтры по SID/CAID для конкретных пользователей или ридеров

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

Путь к файлам: /etc/tuxbox/config/oscam/ и /var/keys/

На большинстве Enigma2-ресиверов конфиги лежат в /etc/tuxbox/config/oscam/ или просто в /etc/tuxbox/config/. После обновления прошивки этот путь иногда сбрасывается — если OScam перестал работать после апдейта, первым делом проверяйте, на месте ли файлы.

SoftCam.Key и другие ключи для эмуляции — в /var/keys/. Логи по умолчанию пишутся в /tmp/.oscam/oscam.log. Директория /tmp/ на большинстве ресиверов живёт в RAM, то есть после перезагрузки лог обнуляется.

Настройка веб-интерфейса (httpport = 8888) и мониторинга

Минимальный рабочий oscam.conf:

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

[webif]
httpport               = 8888
httpuser               = admin
httppwd                = yourpassword
httpdynports           = 1

[cache]
cachedelay             = 0

Веб-интерфейс открывается на http://IP_ресивера:8888. Обязательно ставьте пароль — httpuser и httppwd — иначе любой в вашей сети видит статус всех ридеров и аккаунтов. Это не параноя, это базовая гигиена.

Пример секции [reader] для протокола cccam и newcamd

Для подключения к удалённому серверу по CCcam-протоколу в oscam.server:

[reader]
label                  = myserver_cccam
protocol               = cccam
device                 = hostname.example.com,12000
user                   = myusername
password               = mypassword
group                  = 1
reconnecttimeout       = 30
cccversion             = 2.3.0
cccmaxhops             = 1

Для newcamd-подключения протокол меняется на newcamd, добавляется параметр key (14-байтный DES-ключ) и при необходимости caid. Newcamd чуть менее распространён сейчас, но некоторые серверы его поддерживают.

Запуск OScam в фоновом режиме и проверка: oscam -b -r 2. Флаг -b — фоновый режим, -r 2 — читать конфиги из текущей директории (удобно при отладке).

Настройка CCcam: CCcam.cfg и подключение линий

CCcam — проприетарный протокол, но его понимает и OScam, и множество других решений. Сам CCcam как программа до сих пор работает на старых ресиверах, но на новых системах OScam с CCcam-протоколом более актуален.

Синтаксис C-line (клиент) и N-line (newcamd)

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

C: hostname.example.com 12000 username password

Поля строго по порядку: хост, порт, логин, пароль. Порт по умолчанию — 12000, но сервер может слушать на любом. N-line используется для newcamd-серверов:

N: hostname.example.com 15000 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Последние 14 байт — DES-ключ, его выдаёт провайдер вместе с данными аккаунта.

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

F-line — это описание аккаунта, которому ваш сервер отдаёт доступ:

F: clientuser clientpassword 1 0 0 0 { 0:0:1 }

Первые два поля — логин и пароль клиента. Далее: downhops (сколько раз клиент может переотдать карту вниз), uphops, reshare и флаги. Значение 0 для downhops означает, что клиент не может никому переотдать карту — стандартная практика для защиты от перепродажи линий.

Расположение CCcam.cfg в /var/etc/

Основной конфиг CCcam лежит в /var/etc/CCcam.cfg. Это важно: не в /etc/, а именно в /var/etc/. На части ресиверов путь может быть другим — проверяйте через find / -name "CCcam.cfg" 2>/dev/null.

Критический момент, который ломает половину конфигов: кодировка файла. CCcam.cfg должен быть в UTF-8 без BOM и с Unix-переносами строк (LF, не CRLF). Если вы редактировали файл в Windows Notepad и сохранили как есть — он, скорее всего, сломан. Используйте Notepad++, выберите «Преобразовать в Unix» и уберите BOM. Или просто редактируйте файл прямо на ресивере через nano.

Опции CCcam.prio и CCcam.channelinfo

CCcam.prio позволяет задать, какой ридер использовать для конкретного канала. Пример строки:

C: 0500:000000:001

Без этого файла CCcam выбирает ридер по внутреннему алгоритму, который не всегда оптимален. Если у вас два ридера с одним CAID — прописывайте приоритеты явно.

CCcam.channelinfo — опциональный файл с названиями каналов для удобного отображения в статусе. На функцию шаринга не влияет, но помогает при диагностике.

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

Большинство проблем со шарингом диагностируются через веб-интерфейс OScam за 5 минут. Проблема в том, что люди туда не заходят и сразу пишут на форум.

Канал не открывается: проверка ECM time и статуса reader

Заходите на http://IP:8888, раздел «Readers». Смотрите на статус ридера: он может быть в одном из состояний — CONNECTED, CARD, NO CARD, OFF.

CONNECTED без CARD означает: соединение с сервером есть, но карта не отдаёт ключ для этого CAID. Либо у сервера нет нужного пакета, либо CAID/provid в вашем конфиге не совпадает. Статус CARD с красным ECM time (>1000ms) — соединение есть, карта есть, но слишком медленно отвечает.

Быстрая проверка доступности сервера: telnet hostname 12000. Если соединение не устанавливается — проблема сетевая, не конфигурационная. Порт закрыт на сервере или у вас.

Фризы и заикания: причины и настройка кэша

Фризы на HD-каналах при нормальной работе SD — классическая картина. HD требует более быстрого ECM time из-за нагрузки на сервер: HD-каналы часто имеют более частую смену CW или сервер просто перегружен именно на этих CAID.

Cache-ex в OScam помогает: несколько серверов обмениваются закэшированными CW между собой, клиент получает ключ раньше, чем сервер успевает обработать ECM. Настраивается в oscam.conf:

[cache]
cachedelay             = 0
cacheexwaittime        = 300
cacheexpush            = 1

Loadbalancing — ещё один инструмент. OScam умеет автоматически выбирать самый быстрый ридер для конкретного канала на основе статистики. Параметр lb_mode = 1 в секции [global] включает базовую балансировку.

Ошибки подключения (CONNECTED но no card / NDS error)

NDS error в логах — это сигнал, что сервер отклонил запрос на уровне условного доступа. Причины: неверный CAID, пакет не активирован на карте, или сервер намеренно не отдаёт этот канал для вашего аккаунта.

Провайдер шаринга может забанить аккаунт при одновременном подключении с нескольких IP. Это типичная политика защиты от перепродажи — один аккаунт, одно подключение. Если вы подключились с двух ресиверов одновременно с одними данными — ждите бана или разрыва второго подключения.

Анализ логов OScam и веб-статуса readers

Логи пишутся в /tmp/.oscam/oscam.log. Уровень детализации задаётся в oscam.conf:

[global]
logfile                = /tmp/.oscam/oscam.log
debuglevel             = 64

Значение 64 — стандартный уровень, достаточный для диагностики большинства проблем. Значение 255 — максимальный дебаг, лог растёт быстро. Смотрите на строки с ECM — там видно CAID, provid и время ответа.

В веб-интерфейсе раздел «Live Log» позволяет смотреть лог в реальном времени без SSH. Удобно, когда переключаете каналы и сразу видите, что происходит.

Как выбрать качественный сервер шаринга: критерии

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

Ключевые параметры: стабильность ECM time и аптайм

Стабильный ECM time важнее минимального. Сервер с постоянным откликом 300–400 мс лучше, чем тот, у которого в среднем 150 мс, но с пиками до 2000 мс каждые несколько минут. Пики и есть причина фризов.

Аптайм проверяется со временем — минимум неделю нормальной работы, прежде чем делать выводы. Любой сервер выглядит отлично в первые два дня тестового периода.

Поддержка нужных пакетов (CAID и провайдеры)

Перед подключением уточните, какие именно CAID и provider ID поддерживаются. CAID — это идентификатор системы условного доступа (например, 0500 для Viaccess, 0604 для Irdeto). Недостаточно знать, что «спутник N поддерживается» — нужно знать, что именно ваш пакет на вашем провайдере есть в карте сервера.

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

Локация сервера и влияние пинга на скорость переключения

Сервер в той же стране или соседней — это в среднем 20–50 мс пинга против 150–200 мс у сервера на другом конце Европы. Разница в 130 мс на каждый ECM-запрос складывается в реальные фризы при переключении каналов.

Проверить пинг до сервера: ping hostname. Если выше 100 мс — при перегрузке сервера ECM time легко улетит за 1000 мс. Географическая близость — не маркетинговая деталь, а техническое требование.

Защита от перепродажи линий и ограничение коннектов

Хороший сервер ограничивает количество одновременных подключений на аккаунт. Если один аккаунт может подключиться с 10 IP одновременно — карта на сервере перегружается, и качество падает для всех.

Ограничение до 1–2 одновременных коннектов с одного аккаунта — признак того, что сервер контролирует нагрузку. Через веб-интерфейс OScam вы видите, сколько активных подключений у вашего аккаунта в данный момент.

Что лучше для шаринга — CCcam или OScam?

Для серверной части — OScam без вариантов. Он открытый, поддерживает несколько протоколов одновременно (cccam, newcamd, camd35), умеет cache-ex и loadbalancing. CCcam проще для новичка-клиента: вставил C-line в CCcam.cfg — и работает. Самая распространённая рабочая связка: OScam как сервер, отдающий CW через CCcam-протокол клиентам.

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

Стандартный порт CCcam-протокола — 12000 (TCP). Но сервер может быть настроен на любой другой порт — проверяйте в данных аккаунта. Для newcamd порт всегда индивидуальный, обычно в диапазоне 15000–15050. Веб-интерфейс OScam по умолчанию на порту 8888.

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

Сервер доступен, но карта не отдаёт CW для нужного CAID или provid. Проверьте в веб-интерфейсе OScam статус ридера: если видите CONNECTED без CARD — карты для этого пакета нет. Если CARD есть, но канал не открывается — проверьте CAID и провайдер ID канала, возможно он в другом пакете.

Из-за чего возникают фризы при шаринге?

Чаще всего — высокий ECM time. Причины: большой пинг до сервера, перегрузка сервера, несколько ридеров с одним CAID без прописанного приоритета в CCcam.prio, или медленный канал между вами и сервером. Включите loadbalancing в OScam и настройте cache-ex если есть несколько серверов — это реально помогает.

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

Обычно в /etc/tuxbox/config/oscam/. На некоторых прошивках — в /etc/tuxbox/config/ напрямую. Ключи SoftCam.Key — в /var/keys/. Логи — в /tmp/.oscam/oscam.log. После обновления прошивки пути иногда сбрасываются — проверяйте первым делом.

Можно ли поднять собственный сервер шаринга без покупки линий?

Да, если у вас есть официальная смарт-карта в кардридере ресивера. OScam настраивается как reader с protocol = internal или serial в зависимости от типа ридера, и отдаёт CW клиентам через F-line аккаунты или newcamd-пользователей. Важно помнить про EMM — карта должна регулярно получать обновления прав, иначе перестанет расшифровывать.

О статье

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