Настройка шаринга CCcam и OScam: полное руководство

Настройка шаринга — это не магия, но и не что-то, что делается "по наитию". Половина проблем у новичков происходит из-за того, что они вставили C-line и не понимают, почему ничего не работает. Здесь разберём всё по шагам: конфиги, пути, команды и типичные грабли — без воды и без рекламы провайдеров.

Что нужно перед настройкой шаринга: ресивер, прошивка и доступ

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

Доступ к файловой системе ресивера осуществляется по SSH (порт 22) или telnet (порт 23). Некоторые предпочитают FTP (порт 21) для редактирования конфигов — это тоже работает, но для перезапуска демонов всё равно нужен SSH/telnet. Клиент под Windows — PuTTY или WinSCP, под Linux — родной ssh и sftp.

Поддерживаемые прошивки (Enigma2, OpenATV, OpenPLi)

CCcam и OScam работают на Enigma2-прошивках: OpenATV 7.x, OpenPLi 9.x, OpenViX, VTi и других. Архитектура важна: пакет для mipsel не запустится на arm7. Перед установкой убедитесь, что пакет собран под вашу платформу — смотрите в настройках прошивки или командой uname -m.

Некоторые старые образы хранят конфиги в /usr/keys/ или /var/keys/ вместо /etc/. Если правите файл в /etc/CCcam.cfg, а изменения не применяются — скорее всего, прошивка читает из другого места. Проверьте командой find / -name CCcam.cfg 2>/dev/null.

Где брать данные линии: host, port, username, password

Линия — это просто набор параметров подключения: хост (домен или IP), порт, логин и пароль. Эти данные вам выдаёт владелец сервера или провайдер услуги. Никаких "универсальных" линий не существует — каждая привязана к конкретному серверу.

Формат зависит от протокола. Для CCcam это строка вида C: host port user pass. Для newcamd — N-line с дополнительным DES-ключом. Убедитесь, что вы получили строку в правильном формате под ваш эмулятор.

CCcam или OScam: что выбрать под свою задачу

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

На практике большинство продвинутых пользователей переходят на OScam и больше не возвращаются к CCcam. Но для первого знакомства с темой CCcam — разумный старт.

Проверка установленного эмулятора через telnet/SSH

Подключились по SSH — проверяйте наличие пакетов:

opkg list-installed | grep -i cccam
opkg list-installed | grep -i oscam

Посмотреть, запущен ли процесс:

ps | grep -i cccam
ps | grep -i oscam

Если процесс не запущен, но пакет установлен — проблема в автозапуске. После обновления прошивки softcam-менеджер иногда сбрасывает автозапуск эмулятора. Зайдите в плагин Softcam Manager и убедитесь, что ваш эмулятор выбран и помечен для автостарта.

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

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

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

На большинстве Enigma2-прошивок это /etc/CCcam.cfg. На некоторых сборках OpenPLi и VTi конфиг живёт в /var/etc/CCcam.cfg. Редактируете не тот файл — ничего не меняется. Снова используйте find / -name CCcam.cfg, чтобы найти актуальный путь.

Синтаксис C-line: C: host port username password

Базовая строка подключения выглядит так:

C: my.server.com 12000 myuser mypassword

Расширенный вариант с параметрами:

C: my.server.com 12000 myuser mypassword no { 0:0:2 }

Флаг no означает "не принимать карты с сервера" (полезно если вы только клиент). В фигурных скобках — список CAID/Provider, которые вас не интересуют. Для простого клиентского подключения эти параметры можно опустить — работает и без них.

Параметры подключения и шифрование (DES key)

CCcam поддерживает шифрование соединения через DES-ключ. Если сервер требует ключ, строка дополняется:

C: my.server.com 12000 myuser mypassword no { } 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E

14 байт в hex через пробел — это DES-ключ. Большинство современных серверов не требуют ключ, но если подключение не устанавливается — уточните у источника линии, нужен ли он.

Перезапуск демона и проверка статуса на порту 16000

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

/etc/init.d/softcam restart

Или жёстче, если softcam-скрипт не работает:

killall -9 CCcam && CCcam -C /etc/CCcam.cfg

Подключиться к CCcam напрямую для проверки статуса: telnet localhost 16000. Увидите текстовый вывод со списком серверов, клиентов и картами.

Веб-интерфейс CCcam (по умолчанию порт 16001)

Открывайте в браузере http://IP_ресивера:16001. Логин и пароль задаются в CCcam.cfg директивами:

WEBINFO USERNAME: admin
WEBINFO PASSWORD: mywebpass

В веб-интерфейсе смотрите разделы Servers (ваши подключения к серверам), Active clients (кто подключён к вам) и Cards (доступные карты). Если в Servers статус не CONNECTED — соединение не установлено, и каналы не откроются.

Настройка OScam: dvbapi, server и user в конфигах

OScam работает с несколькими конфигурационными файлами. Это сложнее, чем CCcam, зато гибкость несравнимо выше. Главное понять структуру: oscam.conf — общие настройки, oscam.server — источники карт (ридеры), oscam.user — клиенты, которым раздаёте.

Структура /etc/tuxbox/config/oscam/ или /var/keys/

Стандартный путь на Enigma2 — /etc/tuxbox/config/oscam/. На некоторых прошивках (особенно старых или кастомных) конфиги лежат в /var/keys/ или /usr/keys/. Команда для поиска:

find / -name oscam.conf 2>/dev/null

Нашли путь — работайте только с ним. Правки в "неправильной" директории просто игнорируются при старте OScam.

oscam.conf: секции [global], [cccam], [dvbapi], [webif]

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

[global]
logfile = /tmp/oscam.log
ecmtimeout = 3500
bindwait = 5
nice = -1
maxlogsize = 512

[dvbapi]
enabled = 1
user = dvbapi_user
au = 1
pmt_mode = 0
request_mode = 1

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

[cccam]
port = 12000

Параметр au = 1 в секции [dvbapi] включает автообновление ключей (Automatic Updates). Без него на некоторых картах ключи не обновляются и каналы через несколько часов перестают открываться.

oscam.server: добавление reader типа cccam

Чтобы подключиться к внешнему серверу по протоколу CCcam, добавляете в oscam.server:

[reader]
label = share1
protocol = cccam
device = my.server.com,12000
user = myuser
password = mypassword
group = 1
cccversion = 2.3.0
cccmaxhops = 1
ccckeepalive = 1

Для newcamd-соединения меняете протокол и добавляете ключ:

[reader]
label = newcamd_share
protocol = newcamd
device = my.server.com,15050
user = myuser
password = mypassword
key = 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E
group = 1

oscam.user: создание учётки и привязка протокола

Это критично и это именно то, что конкуренты обычно не объясняют. Связка group= в oscam.server и group= в oscam.user — это маршрутизация запросов. Если группы не совпадают, пользователь не получит ECM даже при подключённом ридере.

Пример oscam.user для dvbapi (локальный просмотр на ресивере):

[account]
user = dvbapi_user
password = secret
group = 1
au = 1
uniq = 0

Для внешнего клиента, которому раздаёте свою карту:

[account]
user = client1
password = clientpass
group = 1
au = 1
uniq = 1
maxconnections = 1

uniq = 1 — одновременный вход только с одного IP. maxconnections = 1 — одно подключение. Это защита от несанкционированного шаринга вашей линии.

Веб-интерфейс OScam на порту 8888 и чтение логов

Открывайте http://IP_ресивера:8888. В разделе Readers смотрите статус: должно быть CONNECTED. В разделе Users — активные подключения клиентов.

Запуск OScam из командной строки:

oscam -b -c /etc/tuxbox/config/oscam/

Флаг -b — фоновый режим. Читать лог в реальном времени:

tail -f /tmp/oscam.log

В логе ищите строки с ECM OK (успешная расшифровка), CAID-запросы и ошибки типа "no card" или "TIMEOUT". Лог — главный инструмент диагностики.

Настройка собственного сервера с картой (локальный ридер)

Если у вас физическая смарт-карта в картоприёмнике ресивера, вы можете раздавать её другим устройствам. Это уже полноценный настройка шаринга сервера, а не просто клиент.

Подключение картоприёмника: phoenix, smartreader, internal

Внутренний слот ресивера — это protocol = internal. Внешний USB-картоприёмник (типа Phoenix или SmartReader) — protocol = smartreader или protocol = mouse в зависимости от чипа. Устройство обычно /dev/ttyUSB0 или /dev/ttyS0.

Пример для внешнего ридера:

[reader]
label = local_card
protocol = smartreader
device = /dev/ttyUSB0
detect = cd
mhz = 357
cardmhz = 357
group = 1

Параметры mhz и cardmhz — частота интерфейса и карты в единицах 10 кГц (357 = 3.57 МГц). Некоторые карты требуют нестандартную частоту — например 600 (6 МГц) или 368. Если ридер не инициализируется и в логе видите ошибку инициализации карты — попробуйте поиграть с cardmhz.

oscam.server для физической карты (protocol=internal/mouse)

Для внутреннего слота Enigma2-ресивера:

[reader]
label = internal_card
protocol = internal
device = /dev/sci0
detect = cd
mhz = 357
cardmhz = 357
group = 1
caid = 1800
services = package_name

/dev/sci0 — первый встроенный картоприёмник. На некоторых моделях это /dev/sci1. Проверяйте командой ls /dev/sci*.

Раздача карты по N-line/C-line другим клиентам

Открываете CCcam-порт в oscam.conf:

[cccam]
port = 12000

Создаёте клиентов в oscam.user (как показано выше). Клиент подключается строкой:

C: ваш_хост_или_IP 12000 client1 clientpass

Важно: группа ридера и группа пользователя должны совпадать. Иначе запрос ECM просто не маршрутизируется к вашей карте, и клиент видит "no card".

Для раздачи вовне нужен статический IP или DDNS-сервис (no-ip.com, DynDNS и аналоги). Если у вас серый IP за NAT провайдера — внешние клиенты просто не достучатся до вашего сервера, DDNS здесь не поможет. Нужен либо белый IP, либо VPN-туннель.

Настройка ECM time и кэша для стабильности

В oscam.conf в секции [global] важные параметры:

ecmtimeout = 3500
waitforcards = 300
preferlocalcards = 1

preferlocalcards = 1 — сначала пробовать локальную карту, потом удалённые ридеры. waitforcards — время ожидания карты при старте в миллисекундах. Кэш ECM (cache секция) снижает нагрузку при нескольких клиентах, запрашивающих одинаковые каналы.

Если несколько ридеров имеют один и тот же CAID — настраивайте lb_mode (load balancing mode) в [global]. По умолчанию lb_mode = 1 (fastest card first). При конфликте ридеров без настроенного балансировщика OScam будет рандомно переключаться и давать нестабильный ECM time.

Решение типичных проблем: каналы не открываются

Таблица симптом → причина → действие — то, что реально нужно при диагностике:

Симптом Вероятная причина Что делать
CONNECTED, но "no card" Нет нужного CAID у ридера Смотреть oscam.log, проверить CAID
ECM timeout Высокий ping, перегруз сервера ping до хоста, увеличить ecmtimeout
Рассыпание картинки ECM time >400 мс или потеря пакетов Сменить ридер или снизить нагрузку
Чёрный экран dvbapi не работает или неверный user= Проверить [dvbapi] секцию и user=
Соединение не устанавливается Порт заблокирован или неверные данные telnet host port, проверить C-line
Ридер не инициализируется Неверная частота mhz/cardmhz Подобрать cardmhz вручную

Статус соединения CONNECTED, но 'no card' / 'no provider'

Это частый случай. Соединение с сервером есть, но нужный CAID отсутствует у ридера. В oscam.log ищите строки вида:

ECM -- CAID: 1800 PROVIDER: 000000 -- no matching reader found!

Это значит: запрос с CAID 1800 поступил, но ни один ридер с этим CAID не нашёлся. Либо у линии нет этого CAID, либо группы не совпадают. Проверьте, что ридер и пользователь состоят в одной группе.

Ошибка ECM timeout и долгое открытие каналов

Сначала проверьте базовую сетевую доступность:

ping my.server.com
telnet my.server.com 12000

Если telnet зависает — порт недоступен. Возможно, провайдер режет нестандартные порты. Это реальная проблема в некоторых регионах: порты 10000-12000 могут блокироваться на уровне ISP. Решение — попросить источник линии сменить порт (80, 443, 8080 обычно не режут) или использовать VPN.

Если соединение есть, но ECM time >800 мс — цепочка решары слишком длинная (подробнее в следующем разделе). Увеличить ecmtimeout в секции [global] до 5000–6000 как временная мера, но проблему не решит.

Несовпадение CAID/Provider ID канала и ридера

Некоторые каналы идут в симулькасте — сразу несколько CAID. Ресивер выбирает первый подходящий, но это может быть не тот, что есть у вашего ридера. Решение — файл oscam.dvbapi, где прописывают приоритет:

P: 1800:000000
I: 0100:000000

P: — prefer (предпочтительный CAID), I: — ignore (игнорировать). Если ресивер стабильно выбирает "не тот" CAID, добавляйте нужный в P: и неподходящий в I:.

Проблемы dvbapi: фриз, чёрный экран, рассыпание

Чёрный экран при правильно установленном соединении — почти всегда dvbapi. Проверьте: user = в секции [dvbapi] должен совпадать с именем аккаунта в oscam.user. Не совпадает — dvbapi не получает ECM и ничего не расшифровывает.

Рассыпание (артефакты, блоки) при нормальном ECM time — потеря пакетов в сети. Проверяйте через ping -s 1400 host — если видите потери или джиттер >50 мс, проблема в канале связи, не в шаринге.

Диагностика по логам и проверка через telnet на порт

Всегда начинайте с лога:

tail -f /tmp/oscam.log | grep -E "(ECM|CAID|error|TIMEOUT|CONNECTED)"

Проверка доступности порта шаринга:

telnet my.server.com 12000

Если видите приветствие CCcam (набор символов или пустое соединение) — порт доступен. Если "Connection refused" — сервер не слушает порт или файрвол. Если зависает — маршрутизация или блокировка ISP.

Настройка шаринга через выбор линии: критерии без привязки к именам

Выбор источника линии влияет на качество не меньше, чем правильная настройка шаринга на клиенте. Вот на что смотреть объективно.

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

ECM time — главный показатель. Нормально: до 300 мс. Приемлемо: 300–500 мс. Плохо: >600 мс, особенно в прайм-тайм (с 19:00 до 23:00 по местному времени), когда нагрузка на сервер максимальная. Если в обычное время ECM 200 мс, а в прайм-тайм вырастает до 800 — сервер перегружен клиентами.

Аптайм смотрите в логах за несколько дней. Если ридер постоянно переподключается (CONNECTED → DISCONNECTED → CONNECTED) — нестабильный сервер, будут фризы.

Локальность карт (local card) против решары

Решара (reshare) — это когда сервер сам является клиентом другого сервера и перепродаёт доступ. Каждый уровень решары добавляет задержку. Цепочка: ваш ресивер → сервер A (решара) → сервер B (решара) → сервер C (реальная карта) даёт суммарный ECM time в 3–4 раза выше, чем прямое подключение к карте.

Локальная карта (local card) — карта физически в картоприёмнике сервера. ECM time минимальный, нет зависимости от третьих серверов. Это идеал. Как определить? Попросите показать тип ридера в логах или веб-интерфейсе — там будет видно, local или remote.

Поддержка нужных CAID под ваши спутники/пакеты

Убедитесь, что нужные CAID присутствуют у ридера. Популярные:

  • 1800 — Nagravision (многие европейские пакеты)
  • 0604, 0622 — Irdeto
  • 0500 — Viaccess
  • 0B00 — Conax
  • 0100, 0102 — Seca/Mediaguard
  • 0963, 0964 — Videoguard

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

Ограничения по числу подключений и геоблокировки

Большинство линий ограничены по числу одновременных подключений — обычно 1 или 2. Подключите третье устройство — первые два начнут фризить. Уточняйте этот параметр заранее, особенно если планируете смотреть на нескольких телевизорах.

Некоторые серверы ограничивают подключения по гео — принимают только определённые страны или IP-диапазоны. Если вы используете VPN или живёте в стране из чёрного списка, соединение будет разрываться или не устанавливаться вовсе.

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

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

CCcam демон слушает шаринг на порту 12000 (настраивается в конфиге). Веб-интерфейс CCcam — порт 16001. Telnet-статус — порт 16000. OScam: протокол CCcam — порт задаётся вручную в секции [cccam], обычно тоже 12000. Веб-интерфейс OScam — порт 8888. Все порты можно изменить в конфигах.

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

Чаще всего /etc/CCcam.cfg. На части прошивок (некоторые сборки OpenPLi, VTi) — /var/etc/CCcam.cfg. Найти точный путь: find / -name CCcam.cfg 2>/dev/null. Редактируйте через FTP (WinSCP) или прямо в терминале через nano /etc/CCcam.cfg. После любых правок — перезапуск softcam обязателен.

Почему статус соединения CONNECTED, но каналы не открываются?

Соединение с сервером установлено, но у ридера нет нужного CAID для вашего канала. Либо группы в oscam.server и oscam.user не совпадают, и запрос просто не маршрутизируется. Либо линия не имеет прав на конкретный пакет. Смотрите oscam.log — там будет написано, какой CAID запрашивается и почему не отдаётся ECM.

В чём разница между C-line и N-line?

C-line — это строка подключения по протоколу CCcam: C: host port user pass. N-line — протокол newcamd с обязательным DES-ключом из 14 байт: N: host port user pass key1 key2 ... key14. OScam поддерживает оба варианта через параметр protocol = cccam или protocol = newcamd в oscam.server. CCcam понимает только C-line.

Что делать при ошибке ECM timeout в OScam?

Сначала проверьте задержку до сервера: ping my.server.com. Если ping >100 мс — проблема в сети, а не в конфиге. Если ping нормальный — увеличьте ecmtimeout в секции [global] до 5000–6000. Также проверьте, не слишком ли длинная цепочка решары: каждый уровень добавляет задержку. Перегруженный сервер в прайм-тайм — тоже частая причина.

Как настроить раздачу собственной карты другим ресиверам?

В oscam.server настройте локальный reader (protocol = smartreader или internal) с правильным device и mhz. В oscam.conf добавьте секцию [cccam] с нужным портом. В oscam.user создайте учётки для клиентов с group, совпадающей с group ридера. На роутере пробросьте порт шаринга через NAT. Если у вас нет белого IP — нужен DDNS плюс белый IP от провайдера, иначе внешние клиенты не достучатся.

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

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