Shara TV biz: настройка CCcam и OScam сервера
Если вы оказались здесь, значит, уже знаете, что такое card sharing в общих чертах, и вам нужна конкретика — строки конфигов, реальные пути к файлам, команды. Именно так работает shara tv biz на практике: не теория, а рабочая связка ресивер–сервер–источник. Ниже — всё по делу, без лишней воды.
Что такое card sharing и как работает протокол CCcam/OScam
Принцип простой. Ресивер получает зашифрованный поток со спутника, вычленяет из него ECM (Entitlement Control Message) и отправляет его на удалённый сервер, где стоит физическая карта доступа. Сервер расшифровывает ECM, достаёт Control Word (CW) и возвращает его обратно. Ресивер использует CW для декодирования потока в реальном времени.
Весь этот обмен должен укладываться в 200–600 мс — это нормальный dcw-time для комфортного просмотра. Если время выше 800–1000 мс, начинаются фризы. Выше 1500 мс — чёрный экран.
Принцип работы: ECM, CW и dcw-time
ECM обновляется каждые 10 секунд (зависит от провайдера). За это время ресивер должен получить новый CW. Если не успел — картинка замерзает. Вся диагностика card sharing крутится вокруг этого таймера.
dcw-time в логах OScam отображается в миллисекундах. Ориентир: до 400 мс — отлично, 400–700 мс — норма, выше 700 мс — начинайте копать причину. Это может быть и сам источник, и канал до него, и перегруженный роутер.
Чем OScam отличается от CCcam
CCcam — старый добрый конь. Работает, понятен, но разработка фактически заморожена на версии 2.3.x. OScam, напротив, живёт и развивается. Гибкая система приоритетов, поддержка нескольких протоколов одновременно, cache exchange (cache-ex) — всё это OScam умеет из коробки.
На сервере лучше использовать OScam. На ресивере можно оставить родной плагин CCcam или поставить oscam-emu — зависит от прошивки. Enigma2 из коробки отлично работает с OScam через встроенный softcam.
Какие протоколы поддерживаются (cccam, newcamd, mgcamd)
OScam как сервер умеет говорить на языке cccam (порт 12000 по умолчанию), newcamd (15000–16000), mgcamd и camd35. Клиент выбирает протокол — сервер подстраивается. Это удобно, когда у вас разношёрстный парк ресиверов.
Установка и базовая настройка сервера OScam на Linux
Самый распространённый вариант — VPS на Debian/Ubuntu или непосредственно Enigma2-бокс (DreamBox, VU+, GigaBlue). Пути к конфигам различаются.
Структура каталога /etc/tuxbox/config или /var/etc/tuxbox/config
На Enigma2-боксах конфиги лежат в /etc/tuxbox/config/oscam/ или /var/etc/tuxbox/config/ — зависит от дистрибутива (OpenATV, OpenPLi и т.д.). На VPS с чистым Linux стандартный путь — /etc/oscam/.
Минимальный набор файлов:
oscam.conf— глобальные настройки и секции протоколовoscam.server— источники (upstream-серверы)oscam.user— учётные записи клиентовoscam.dvbapi— приоритеты декодирования для Enigma2
Файл oscam.conf: секции [global], [cccam], [newcamd]
Базовый oscam.conf выглядит так:
[global]
logfile = /var/log/oscam.log
maxlogsize = 1024
pidfile = /var/run/oscam.pid
usrfile = /var/log/oscam.usr
[webif]
httpport = 8888
httpuser = admin
httppwd = YourStrongPassword123
httprefresh = 10
[cccam]
port = 12000
reshare = 1
version = 2.3.2
[newcamd]
port = 15000@0500:000000
key = 0102030405060708091011121314
Порт 12000 — стандарт для CCcam-протокола. Newcamd идёт на 15000, где после @ указывается CAID и провайдер. Если несколько CAID — несколько строк port.
Файл oscam.server и oscam.user
В oscam.server описываются upstream-источники:
[reader]
label = my_source
protocol = cccam
device = hostname.example.com,12000
user = myuser
password = mypassword
caid = 0500,0604
group = 1
reconnecttimeout = 30
В oscam.user — клиенты, которые подключаются к вашему серверу:
[account]
user = client1
pwd = clientpass
group = 1
au = 1
uniq = 1
Параметр au = 1 включает авторизацию каналов (EMM). uniq = 1 запрещает одновременный вход под одним логином — важно для безопасности.
Запуск через systemd и проверка логов
На современных дистрибутивах OScam запускается через systemd. Команда запуска в демон-режиме:
oscam -b -c /etc/oscam/
Если настроен юнит systemd:
systemctl start oscam
systemctl enable oscam
systemctl status oscam
Логи в реальном времени:
tail -f /var/log/oscam.log
Webif доступен по адресу http://your-server-ip:8888. Там же вкладка Status — смотрите подключённых клиентов и ECM time прямо в браузере.
Конфигурация клиента CCcam.cfg на ресивере
На стороне ресивера — файл /etc/CCcam.cfg. Если используете oscam на ресивере вместо плагина CCcam, то конфиг уйдёт в oscam.server, но синтаксис C-line всё равно нужно знать.
Синтаксис строки C: line (host port username password)
Строка подключения:
C: hostname.example.com 12000 myuser mypassword no { 0:0:2 }
Разбор по полям:
- hostname.example.com — хост или IP сервера
- 12000 — порт CCcam
- myuser / mypassword — учётные данные
- no — отключить решаринг в сторону источника (рекомендуется)
- { 0:0:2 } — hop count: максимальное количество ретрансляций карты
Hop count 2 — разумный максимум. Выше — цепочка удлиняется, latency растёт, качество падает.
Параметры F: line для решаринга
Если ваш сервер сам раздаёт линии клиентам, в CCcam.cfg добавляется F-line:
F: client1 clientpass 1 0 { 0:0:1 }
Первая цифра — количество разрешённых хопов для этого клиента. Вторая — минимальный уровень карты для доступа. Здесь я предпочитаю оставлять hop 1 — клиент видит только карты с вашего сервера, не дальше.
Не плодите хопы без надобности. Каждый лишний hop — это +50–150 мс к dcw-time и риск зацикливания, если один и тот же CAID виден из нескольких источников.
Настройка приоритета и игнор-листа (oscam.dvbapi)
На Enigma2 файл oscam.dvbapi управляет тем, какой источник брать первым для конкретного CAID:
P: 0500 @ 000000 : 0 : reader=my_source
P: 0604 @ 000000 : 0 : reader=my_source2
I: 0500 @ 010203
Строка I: — игнор-лист. CAID+провайдер в этой строке декодироваться не будут. Полезно, если один из источников постоянно отвечает timeout на конкретный пакет.
Конфликт нескольких C-line с одинаковым CAID — частая проблема. OScam берёт первый подходящий ридер по порядку в oscam.server, если не задан явный приоритет через caid и group. Правильнее разнести источники по группам и управлять через oscam.dvbapi.
Открытие портов, NAT и безопасность сервера
Без открытых портов клиенты не достучатся до сервера. Это звучит банально, но именно здесь 80% проблем с первичной настройкой shara tv biz.
Проброс портов 12000/16000 на роутере
Нужно пробросить TCP-порт 12000 (CCcam) и 15000 или 16000 (newcamd) с роутера на IP вашего сервера в локальной сети. Это делается в разделе Port Forwarding или Virtual Server роутера.
Но есть подводный камень — двойной NAT. Многие провайдеры сами сидят за NAT (CGNAT, Carrier-Grade NAT). В этом случае ваш "внешний" IP в роутере — это не публичный адрес, а ещё один приватный. Проверить просто: зайдите на icanhazip.com и сравните с IP в настройках роутера. Не совпадают — CGNAT. Решение: попросить провайдера выдать белый IP (часто платно) или использовать VPN/туннель с выходом на VPS с публичным адресом.
Правила iptables для ограничения доступа
Разрешить подключение к порту CCcam:
iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
iptables -A INPUT -p tcp --dport 15000 -j ACCEPT
Ограничить количество одновременных подключений с одного IP — защита от брутфорса:
iptables -A INPUT -p tcp --dport 12000 -m connlimit --connlimit-above 3 -j REJECT
Сохранить правила:
iptables-save > /etc/iptables/rules.v4
Защита webif паролем и смена дефолтного порта
Webif на порту 8888 с паролем по умолчанию (admin/admin) — это открытая дыра. Первое, что нужно сделать после установки: сменить пароль в секции [webif] в oscam.conf и закрыть 8888 от внешней сети:
iptables -A INPUT -p tcp --dport 8888 ! -s 192.168.1.0/24 -j DROP
Это разрешает доступ к webif только из локальной сети. Если нужен удалённый доступ — пробрасывайте через SSH-туннель, не открывайте 8888 наружу напрямую.
Можно вообще сменить порт webif на нестандартный — в oscam.conf задайте httpport = 18765. Не панацея, но отсеивает автоматические сканеры.
Диагностика проблем: фризы, чёрный экран, частые отвалы
Это самая важная часть. Большинство туториалов дают конфиги и бросают пользователя один на один с проблемами. Разберём, как читать логи и что там искать.
Анализ ECM time и причин высокого пинга
В логе /var/log/oscam.log каждый успешный ECM выглядит примерно так:
2026/03/15 21:34:52 s 0500/010203/1234 CAID found (my_source, 234 ms)
234 мс — это dcw-time. Если видите 800+ мс постоянно, копайте причину. Пинг до сервера-источника:
ping hostname.example.com
Если пинг 200+ мс — проблема в маршруте или перегруженном источнике. Если пинг нормальный, а dcw-time высокий — сервер источника перегружен внутри. Это признак oversold-ситуации.
Фризы только в прайм-тайм (20:00–23:00) — классический признак перепроданного источника. В эти часы нагрузка максимальная, и сервер не справляется. В 3 ночи всё работает идеально, а вечером — черный экран каждые 10 минут.
Разные часовые пояса сервера и клиента тоже путают при анализе логов. Если сервер на UTC, а вы в UTC+3 — timestamps в логе будут на 3 часа назад. Учитывайте это при сопоставлении событий.
Ошибки в логах: rejected, no card, timeout
Три основных статуса проблем:
- not found — источник не имеет карты для этого CAID/провайдера. Проверьте параметр
caidвoscam.serverи CAID канала. - timeout — запрос ушёл, ответ не пришёл за отведённое время. Либо разрыв соединения, либо источник завис.
- rejected — сервер принял подключение, но отклонил учётные данные или IP-адрес занесён в блокировку.
Команда для быстрого подсчёта ошибок за последний час:
grep "not found\|timeout\|rejected" /var/log/oscam.log | grep "$(date '+%Y/%m/%d %H')" | wc -l
Если счётчик десятки — проблема системная, не случайная.
Проблемы с ECM hop и перегрузкой канала
Cache exchange (cache-ex) — механизм OScam, при котором несколько серверов обмениваются уже решёнными CW между собой. Если CW уже есть в кэше, он отдаётся мгновенно без обращения к источнику. Это реально снижает dcw-time при использовании нескольких OScam-нод в одной сети.
Настройка cache-ex в oscam.conf:
[cacheex]
cacheex = 1
cacheex_maxhop = 2
Перегруженный канал между вами и источником — тоже частая причина. Попробуйте QoS на роутере: выделите приоритет для TCP-порта 12000. На MikroTik это делается через Simple Queue или Mangle+Queue Tree. На бюджетных роутерах — через настройки QoS в интерфейсе.
Как выбрать качественный источник: критерии без рекламы
Shara tv biz — это в первую очередь про качество источника. Ни один конфиг не спасёт, если сам upstream-сервер работает нестабильно. Конкретных провайдеров называть не буду — рынок меняется, а реклама здесь ни к чему. Но критерии — вот что реально важно.
На что смотреть: стабильность, ECM time, аптайм
Нормальный ECM time — до 400 мс в среднем. Аптайм за месяц — выше 99%. Не верьте цифрам на сайте, проверяйте сами: пишите логи 24–48 часов и считайте timeout'ы.
Скрипт для подсчёта процента успешных ECM за период:
TOTAL=$(grep "CAID" /var/log/oscam.log | wc -l)
FOUND=$(grep "CAID found" /var/log/oscam.log | wc -l)
echo "Успешно: $(( FOUND * 100 / TOTAL ))%"
Нормальный результат — выше 97%. Если ниже 90% — источник проблемный.
Признаки перепроданного (oversold) сервера
Oversold — когда на сервер продано больше линий, чем он реально может обслужить. Признаки:
- Фризы только в прайм-тайм (вечер будни, выходные)
- dcw-time скачет от 200 мс до 1500 мс в течение часа
- Частые timeout в логах при нормальном пинге
- Клиентам периодически сбрасывают соединение без видимой причины
В webif OScam смотрите вкладку Status — там видно текущий ECM time в реальном времени. Открыли вечером в пятницу — и если таймер улетает выше 800 мс, вы знаете ответ.
Тестовый период и проверка перед оплатой
Любой нормальный источник даёт тест — обычно 24 или 48 часов. Берите тест именно в рабочие часы и вечером: утром в среду всё работает у всех.
Во время теста запустите OScam с включённым логированием и не трогайте систему. Через 48 часов — анализируйте. Смотрите не только на dcw-time, но и на количество reconnect'ов в логе: строки вида connection timeout, reconnecting... говорят о нестабильном соединении с источником.
Тест меньше 12 часов — бессмысленный. Большинство серверов нестабильны именно в пиковые часы, а не постоянно.
Какой порт использует CCcam по умолчанию?
По умолчанию CCcam-протокол использует порт 12000. Newcamd работает на портах 15000–16000. Оба порта задаются в oscam.conf в секциях [cccam] и [newcamd] — их можно и нужно менять, если стандартные порты заблокированы провайдером. Например, некоторые используют 13000 или 17000, чтобы обойти фильтрацию.
Чем OScam лучше CCcam для сервера?
OScam активно разрабатывается и поддерживается сообществом — в отличие от CCcam, чья последняя значимая версия вышла много лет назад. Под нагрузкой OScam стабильнее: правильно управляет несколькими ридерами, поддерживает cache-ex для снижения dcw-time, умеет работать по нескольким протоколам одновременно (cccam, newcamd, mgcamd). Гибкость приоритетов через oscam.dvbapi — это вообще отдельная история, CCcam такого не умеет.
Почему каналы зависают (фризят) при рабочем сервере?
Причин несколько. Первая — высокий ECM time (больше 800–1000 мс): ресивер не успевает получить CW до обновления ECM. Вторая — нестабильный интернет между вами и источником: проверьте пинг и потери пакетов. Третья — источник перегружен: смотрите динамику dcw-time в webif в разное время суток. Четвёртая — слабый спутниковый сигнал: низкий SNR увеличивает количество повторных ECM-запросов. Всё это читается из лога OScam и вкладки Status в webif.
Что означает ошибка "no card" или "not found" в логе OScam?
Это значит, что ни один из настроенных ридеров не смог ответить на ECM-запрос для данного канала. Либо источник не имеет карты с нужным CAID, либо SID канала не совпадает с тем, что обслуживает источник. Проверьте параметр caid в oscam.server — он должен включать CAID нужного пакета. Также проверьте приоритеты в oscam.dvbapi: возможно, ридер с нужной картой стоит ниже по приоритету и его запрос не доходит.
Как проверить, что мой сервер доступен извне?
Самый простой способ — telnet с внешней машины: telnet your-public-ip 12000. Если соединение установилось — порт открыт. Если отказ — проверьте iptables и проброс портов на роутере. Также смотрите вкладку Clients в webif: если клиент подключился, он там отобразится. Ситуация с CGNAT диагностируется сравнением IP в роутере и icanhazip.com — если они разные, у вас нет публичного адреса, проброс не поможет.
Что такое reshare и нужно ли его включать?
Reshare — это разрешение передавать карту дальше по цепочке. В oscam.conf секция [cccam]: reshare = 0 запрещает передачу, reshare = 1 разрешает на один хоп. Включать reshare нужно только если вы сами раздаёте линии клиентам. Если вы конечный пользователь — ставьте 0. Включённый reshare без контроля создаёт риск зацикливания (карта гуляет по кругу между серверами) и лишнюю нагрузку на источник — в некоторых случаях это основание для блокировки вашего аккаунта у провайдера.