GBox reshare: настройка решары на CCcam/OScam

Если вы уже читаете эту статью, значит базовое подключение у вас работает, но с GBox reshare: настройка пошла не так, как ожидалось. Либо пир не подключается, либо каналы не открываются, либо всё вроде бы онлайн, а картинка фризит каждые 30 секунд. Разберём всё по порядку — с реальными строками конфигов, конкретными портами и пошаговой диагностикой.

Что такое GBox reshare и когда он нужен

GBox — это протокол карточного шаринга, который работает по UDP и изначально создавался именно для обмена между боксами (peer-to-peer), а не для классической схемы клиент-сервер. Это принципиально отличает его от CCcam и OScam в их стандартном применении.

Принцип работы протокола GBox и понятия peer/SID

Каждый участник обмена — это пир (peer). У каждого пира есть уникальный HostID (обычно генерируется из MAC-адреса сетевого интерфейса) и пароль для взаимной авторизации. Боксы обмениваются между собой списками доступных SID (Service ID — идентификаторов каналов), и при запросе ECM конкретный SID ищется у пиров по цепочке.

Локальные карты — это физические смарт-карты в кардридере вашего ресивера. Удалённые карты — то, что доступно у пира. Reshare означает, что вы передаёте дальше каналы, которые сами получили от другого пира, а не только свои локальные.

Чем reshare отличается от обычного шаринга

При обычном шаринге (без решары) ваш бокс получает расшифровку от источника и никому её не передаёт дальше. Reshare добавляет уровень: вы становитесь промежуточным звеном и можете отдавать полученное другим боксам в вашей локальной сети или доверенным пирам снаружи.

Это и есть ключевая механика GBox reshare. Каждая "ретрансляция" добавляет хоп (hop) к цепочке, а параметр уровня (level) ограничивает, сколько раз канал может быть передан дальше. Про это большинство гайдов молчат, хотя именно level — причина половины проблем.

В каких сценариях reshare оправдан, а в каких нет

Reshare нужен, когда у вас несколько ресиверов в локальной сети и вы хотите, чтобы все они использовали одну подписку. Или когда вы меняетесь каналами с доверенным партнёром — у него есть то, чего нет у вас, и наоборот.

Если же у вас один ресивер и вы просто подключаетесь к внешнему серверу по CCcam — GBox вам не нужен вообще. Используйте обычный CCcam-клиент или reader в OScam. Тащить GBox ради одного соединения — лишняя головная боль.

Подготовка: порты, прошивка и зависимости

Прежде чем вообще писать конфиги, нужно убедиться, что сетевая часть настроена правильно. GBox работает только по UDP, и большинство проблем с подключением пиров решаются именно на уровне сети, а не конфигурационных файлов.

Открытие UDP-порта (по умолчанию 8888) на роутере

Стандартный порт GBox — UDP 8888. Он прописывается в конфиге и может быть изменён, но если вы не знаете, зачем его менять — оставьте 8888. На роутере нужно создать правило проброса: входящий UDP-трафик на порт 8888 направить на локальный IP вашего ресивера.

В большинстве домашних роутеров это делается в разделе "Port Forwarding" или "Virtual Server". Укажите: протокол UDP, внешний порт 8888, внутренний IP ресивера (например 192.168.1.100), внутренний порт 8888. Сохраните и перезагрузите роутер.

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

После настройки роутера проверьте, что порт реально открыт снаружи. Для UDP-портов это сложнее, чем для TCP — обычные онлайн-чекеры типа canyouseeme.org не всегда работают корректно с UDP. Лучше попросить пира попробовать подключиться и смотреть лог GBox.

Через telnet на самом ресивере можно проверить, слушает ли процесс нужный порт: netstat -ulnp | grep 8888. Если строки нет — cardserver не запущен или порт в конфиге другой.

Отдельная история — серый IP или двойной NAT у провайдера. Если ваш внешний IP начинается на 10.x.x.x или 100.64.x.x — это CG-NAT, и входящие UDP-пакеты к вам физически не пройдут. В этом случае инициировать соединение должен ваш бокс, а не пир. Или нужно обращаться к провайдеру за белым IP.

Требования к прошивке и установленному cardserver

GBox поддерживается не всеми сборками. Если вы используете OScam — убедитесь, что сборка скомпилирована с флагом --enable-gbox. Проверить можно командой oscam --version и поиском строки "gbox" в выводе. Если модуля нет — нужна другая сборка OScam с поддержкой GBox.

Для Enigma2-ресиверов GBox часто идёт как отдельный эмулятор (gbx-эмулятор или встроенный в пакет oscam-emu). Убедитесь, что установлен именно нужный пакет, и конфликтующие cardserver (например, одновременно запущенные CCcam и OScam без правильной связки) отключены.

Пошаговая настройка GBox reshare

Вот здесь начинается то, ради чего вы и пришли. Gbox reshare: настройка конфигов — это несколько файлов с очень конкретным синтаксисом, где одна лишняя пробел или неверный HostID ломает всё. Разберём построчно.

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

Если GBox работает как самостоятельный cardserver (не через OScam), основные файлы обычно лежат в /var/keys/:

  • /var/keys/gbox_cfg — основной конфиг (IP, порт, пароль хоста)
  • /var/keys/peers.gbox или /var/keys/my_peers — список пиров
  • /var/keys/sharing.info — уровни reshare и разрешения

При работе через OScam файлы GBox-модуля читаются из /etc/oscam/, а параметры прописываются в oscam.conf и oscam.server.

Прописывание пиров и паролей обмена

В классическом GBox файл пира выглядит так:

M: { 01020304 }  # ваш HostID
P: { 05060708 } { пароль } { 192.168.1.200 } { 8888 }  # данные пира

Где 01020304 — это HostID вашего бокса в hex (8 символов), 05060708 — HostID пира, пароль — общий пароль, который вы согласовываете с пиром заранее (одинаковый с обеих сторон), 192.168.1.200 — IP пира, 8888 — его UDP-порт.

Критический момент: HostID должен совпадать с тем, что реально генерирует ваш бокс. GBox берёт его из MAC-адреса сетевого интерфейса. Если сменили прошивку или MAC изменился — HostID изменится, и пир перестанет вас узнавать. Посмотреть текущий HostID можно в логах GBox при старте — он пишется в первых строках.

Параметры reshare-уровня (глубины пересылки)

Параметр уровня (level или reshare level) — это то, что определяет, сколько хопов разрешено. Логика такая:

  • 0 — reshare запрещён. Канал получаете только вы, дальше не передаёте.
  • 1 — передаёте пиру, но пир не может передать дальше.
  • 2 — пир может передать следующему пиру. И так далее.

В файле sharing.info или в настройках пира это выглядит примерно так:

P: { 05060708 } { пароль } { 192.168.1.200 } { 8888 } { 01 }  # последний параметр — уровень

Не ставьте level выше 2-3 без понимания последствий. Высокий уровень ведёт к тому, что запросы гуляют по длинной цепочке пиров, ECM-время растёт, и начинаются фризы. А ещё возможно зацикливание: бокс A реширит боксу B, B реширит обратно A, и они начинают гонять одни и те же SID по кругу. GBox обнаруживает это через HostID в цепочке, но не всегда надёжно — лучше контролировать уровни вручную.

Привязка локальных карт к GBox

Если у вас есть локальная карта и вы хотите реширить её через GBox, убедитесь, что в конфиге прописаны разрешения на экспорт конкретных CAID. В GBox это контролируется через параметры доступных CAID в файле конфига или через sharing.info.

При использовании OScam через секцию [gbox] карта должна быть доступна GBox-модулю как reader. В oscam.server добавьте reader с соответствующим CAID и группой, которую читает GBox.

Настройка GBox через OScam: секция [gbox]

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

В /etc/oscam/oscam.conf добавьте секцию:

[gbox]
hostname          = ваш.домен.или.ip
port              = 8888
my_password       = вашпароль
reshare           = 1
ignorelist        = /etc/oscam/oscam.gbox.ignore
nodelay           = 1

Параметр reshare = 1 здесь означает уровень пересылки. nodelay отключает алгоритм Нейгла для UDP-сокета — рекомендую включить, снижает задержку ECM.

В /etc/oscam/oscam.server добавьте reader для каждого пира:

[reader]
label             = peer_gbox_01
protocol          = gbox
device            = 192.168.1.200,8888
password          = общийпароль
caid              = 0500,1810
group             = 1
reshare           = 1

Здесь caid — список CAID, которые вы ожидаете получить от этого пира. Если оставить пустым — OScam будет пробовать все. Лучше прописать явно — это ускоряет роутинг ECM-запросов.

Проверка работы и чтение логов

После запуска не ждите чуда — сразу идите в логи. Хорошая настройка GBox reshare видна в логах уже через 10-15 секунд после старта.

Где смотреть лог GBox и статус пиров (online/offline)

Для классического GBox лог пишется в /tmp/gbox.log или /var/log/gbox.log — зависит от сборки. Смотрите его командой tail -f /tmp/gbox.log.

При успешном подключении пира вы увидите строку вида:

peer 05060708 connected from 192.168.1.200:8888

Если пир не подключается — будет либо тишина, либо строка peer timeout или authentication failed. Первое — сетевая проблема (порт закрыт, IP неверный). Второе — неверный пароль или несовпадение HostID.

Команды проверки соединения и ECM-времени

В OScam ECM-время видно в веб-интерфейсе (по умолчанию порт 8888 или 83 — зависит от конфига oscam.conf секция [webif]). Нормальное ECM-время для reshare — до 800 мс. Всё, что выше 1500 мс — проблема, будут фризы.

Через telnet к OScam (telnet localhost 8789, если включен [monitor]) можно смотреть статус readers в реальном времени. Команда s показывает статистику, r — список readers.

Веб-интерфейс OScam для контроля reshare

В веб-интерфейсе OScam раздел "Readers" показывает каждый GBox-пир как отдельный reader: статус (connected/disconnected), количество ECM-запросов, среднее время ответа. Если reader в статусе "connected", но ECM-запросы не идут — значит либо нет подходящего CAID/SID у пира, либо роутинг OScam не направляет запросы на этот reader.

Раздел "Clients" показывает, кто подключён к вашему OScam. Если вы реширите другому боксу — он должен появиться здесь как клиент.

Типичные ошибки настройки GBox reshare и их решение

Вот конкретный разбор того, что идёт не так и почему.

Пир не подключается (offline) — причины

Самая частая причина — закрытый порт. Проверьте netstat -ulnp | grep 8888 на обоих боксах. Если порт слушается, но пир всё равно offline — проверьте файрвол: iptables -L -n | grep 8888. GBox использует UDP, и iptables может блокировать входящий UDP даже при открытом проброске на роутере.

Вторая причина — неверный HostID. Он должен точно совпадать с тем, что ваш бокс генерирует при старте. Смотрите в начале лога строку вида My HostID: 01020304. Именно этот ID должен быть прописан у пира.

Третья — серый IP / CG-NAT. Если у вас нет белого IP, входящие UDP не придут. Либо используйте VPN с белым IP, либо договоритесь с пиром о другой схеме.

Каналы не открываются при онлайн-пире

Пир онлайн, хендшейк прошёл, но конкретные каналы не открываются — это уже роутинговая проблема. Проверьте:

  • CAID нужного канала прописан в настройках reader пира?
  • У пира реально есть эта карта/подписка?
  • Уровень reshare не исчерпан? (Канал пришёл к пиру с level=1, а вы просите его переслать — но уровень уже 0)
  • SID канала не в блок-листе?

В логе OScam при ECM-запросе будет строка типа no card found for CAID 0500 / provider 000000. Если такой строки нет вообще — OScam даже не пробует отправить запрос на этот reader, значит проблема в конфиге роутинга (группы, CAID в reader).

Фризы, долгий ECM time и потеря синхронизации

Фризы при работающем reshare — почти всегда высокий ECM time или потеря UDP-пакетов. GBox не имеет встроенного механизма повторной отправки, как TCP, поэтому потерянный UDP-пакет = пропущенный ECM = замороженная картинка на 3-5 секунд.

Типичная причина потерь — MTU. Если ваш интернет через мобильного провайдера или VPN, MTU может быть занижен (1280-1400 байт вместо стандартных 1500). UDP-пакеты GBox фрагментируются, часть теряется. Попробуйте явно выставить MTU: ip link set eth0 mtu 1400 и посмотрите, изменится ли ситуация.

Длинная цепочка пиров (3+ хопа) тоже убивает ECM-время. Каждый хоп добавляет 50-200 мс. При четырёх хопах вы легко получаете 800 мс только на доставку запроса, плюс время расшифровки карты.

Конфликт уровней reshare и зацикливание

Зацикливание выглядит так: оба бокса видят друг друга онлайн, каналы вроде есть, но ECM-время огромное и каналы не открываются стабильно. В логе можно заметить, что один и тот же SID запрашивается многократно в короткий промежуток времени.

Это происходит, когда бокс A реширит каналы боксу B, а B выставил reshare обратно на A. A отправляет ECM, B пытается ответить через A — петля. Решение: один из боксов должен иметь level=0 для направления в сторону другого. Или используйте разные CAID в каждом направлении.

Как выбрать источник/пира для reshare (без рисков)

Техническую часть настроили. Теперь о том, с кем и как обмениваться.

Критерии стабильного пира: аптайм, пинг, ECM time

Хороший пир для GBox reshare должен иметь аптайм выше 95% за последние 30 дней, пинг до него не выше 50-80 мс (для UDP это критично), и ECM time в пределах 400-700 мс. Если пир даёт ECM time выше 1000 мс — от него будут фризы вне зависимости от качества вашей настройки.

Проверить пинг до пира: ping -c 20 ip_пира. Посмотрите не только среднее значение, но и джиттер (разброс). Джиттер выше 30-40 мс при UDP — это будущие фризы.

Признаки перегруженного или ненадёжного источника

Перегруженный пир обычно проявляется высоким и нестабильным ECM time — он скачет от 300 мс до 2000 мс. Это значит, что на сервере слишком много клиентов относительно количества карт. Ещё один признак — частые разрывы соединения (пир уходит offline по 2-3 раза в час).

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

Юридические и технические оговорки

GBox reshare — технология, которая сама по себе нейтральна. Использовать её легально можно для передачи каналов между своими собственными ресиверами в рамках одной подписки на одно домохозяйство — если это не запрещено условиями вашего оператора. Передача сигнала третьим лицам за пределы одной точки подключения в большинстве стран нарушает условия использования подписки и может быть незаконной. Действуйте только с теми подписками, на которые у вас есть права.

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

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

UDP-порт 8888. Именно UDP, не TCP — это важно при настройке правил файрвола и проброса на роутере. Порт можно изменить в конфиге, но 8888 — стандарт, и большинство пиров ожидают его по умолчанию. Обязательно пробрасывайте этот порт на роутере для входящих соединений, иначе удалённый пир не сможет инициировать подключение к вашему боксу.

Чем GBox reshare отличается от CCcam reshare?

Принципиально разные протоколы. GBox работает по UDP и изначально спроектирован как peer-to-peer обмен между равноправными боксами. CCcam использует TCP и работает по схеме клиент-сервер. Конфиги полностью разные, логика уровней пересылки разная, и порты разные (CCcam по умолчанию 12000 TCP). Смешивать их напрямую нельзя — можно только через промежуточный cardserver (OScam умеет принимать CCcam-клиентов и отдавать через GBox).

Что означает уровень (level) reshare и какое значение ставить?

Level — это глубина пересылки: сколько раз канал может быть передан от одного пира к следующему. Level 0 означает, что вы получаете канал, но не передаёте его никому дальше. Level 1 — передаёте одному пиру, но он уже не может переслать дальше. Для домашней локальной сети из 2-3 боксов level 1 более чем достаточно. Level выше 3 почти всегда приводит к нестабильности и фризам из-за длинных цепочек ECM-запросов.

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

Это классическая ситуация при gbox reshare: настройка хендшейка прошла, но роутинг не работает. Проверьте CAID: нужный CAID прописан в reader пира? Проверьте уровень: может, канал пришёл к пиру с уже исчерпанным level. Проверьте SID: конкретный канал не в блок-листе? Смотрите лог OScam — строка "no card found" скажет, что запрос дошёл до reader, но ответа нет. Если этой строки нет — OScam не направляет запрос на GBox-reader, проблема в группах или CAID в конфиге reader.

Можно ли настроить GBox reshare на OScam?

Да, и это вполне рабочая схема. Нужна сборка OScam, скомпилированная с флагом --enable-gbox — не все бинарники из репозиториев это включают, проверьте через oscam --version. Настройка делается через секцию [gbox] в oscam.conf и отдельные reader-секции с протоколом gbox в oscam.server. Это удобнее, чем держать отдельный GBox-процесс, особенно если у вас уже есть OScam как основной cardserver.

Почему появляются фризы при работающем reshare?

Три основные причины: высокий ECM time (цепочка пиров слишком длинная или пир перегружен), потери UDP-пакетов из-за проблем с MTU или нестабильного интернет-канала, и джиттер — нестабильный пинг убивает UDP-трафик сильнее, чем высокий, но стабильный. Начните с диагностики: посмотрите ECM time в веб-интерфейсе OScam. Если выше 1200 мс — сокращайте цепочку или меняйте пира. Если ECM time нормальный, но фризы есть — смотрите потери пакетов через ping -c 100 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 или внешние мониторы.