ТВ Шара: настройка CCcam и OScam сервера 2026
Если вы читаете это, значит уже знаете, что такое спутниковый ресивер и примерно понимаете, зачем нужна тв шара. Здесь не будет воды — только конкретные конфиги, команды и пути к файлам. Разберём CCcam и OScam от установки до диагностики по логам.
Что такое ТВ шара и как работает cardsharing
Тв шара — это технология совместного использования смарт-карты для расшифровки зашифрованных спутниковых каналов. Физически карта стоит в одном ресивере (сервере), а расшифровку получают другие ресиверы через сеть. Звучит просто, но под капотом несколько протоколов, таймауты и потенциальные точки отказа.
Принцип работы: DCW, ECM и EMM
Каждый зашифрованный поток содержит ECM-пакеты (Entitlement Control Messages) — запросы, которые нужно расшифровать картой. Карта возвращает DCW (DescramblingControl Word) — контрольное слово длиной 16 байт. Именно оно и расшифровывает видеопоток.
DCW меняется каждые 10 секунд (стандарт DVB-CSA). Это значит, что сервер должен успеть ответить за это время — иначе картинка замёрзнет. Время ECM-ответа выше 400 мс уже начинает давать фризы на некоторых прошивках. Выше 700 мс — фризы гарантированы.
EMM (Entitlement Management Messages) — это другой тип пакетов. Они обновляют права на карте и чувствительны к системному времени. Если время на ресивере уехало на минуты, EMM перестаёт обрабатываться корректно — помните об NTP.
Разница между сервером и клиентом
Сервер — ресивер или компьютер с физической смарт-картой внутри. Клиент — устройство, которое подключается к серверу и получает DCW по сети. Один сервер может обслуживать несколько клиентов одновременно, но у каждой карты есть лимит параллельных расшифровок.
На практике большинство пользователей настраивают только клиентскую часть — подключаются к чужому серверу. Серверная часть нужна тем, кто делится своей картой или строит собственный ретранслятор.
Протоколы: CCcam, newcamd, mgcamd, CS378x
Протоколов несколько, и они отличаются задержкой и надёжностью.
- CCcam — самый распространённый, порт по умолчанию 12000. Поддерживает cascading (цепочки серверов), но каждый hop добавляет задержку ~50-100 мс.
- newcamd — порт 15000 по умолчанию. Более старый протокол, меньше overhead, хорошо работает в прямых соединениях без каскадов.
- CS378x — протокол от AzBox/OpenBox, используется реже. Поддерживается OScam.
- mgcamd — клиентский протокол, совместимый с newcamd-серверами, популярен на старых прошивках.
Для большинства задач CCcam достаточно. Если нужна минимальная задержка и нет необходимости в каскадировании — newcamd стабильнее.
Настройка CCcam сервера и клиента
CCcam — это демон, который работает на ресивере под Enigma2 или на Linux-машине. Конфиг один файл, формат простой, но параметры важны.
Структура файла CCcam.cfg
Путь к конфигу зависит от прошивки. На большинстве образов Enigma2 это /var/etc/CCcam.cfg. На некоторых сборках — /etc/CCcam.cfg. После обновления прошивки путь может измениться — проверяйте через find / -name "CCcam.cfg" 2>/dev/null.
Права на файл: chmod 644 /var/etc/CCcam.cfg. Если файл нечитаем демоном — CCcam молча не стартует. Файл должен быть в Unix-кодировке без BOM, с переносами LF (не CRLF). Редактировали в Windows и скопировали через FTP? Прогоните через dos2unix /var/etc/CCcam.cfg.
Базовая структура конфига:
# Порт сервера CCcam SERVER LISTEN PORT : 12000 # Веб-интерфейс WEBINFO LISTEN PORT : 16001 # Hop-лимиты SHARE HOPS : 1 RECEIVE SHARE HOPS : 1 # Клиент (подключение к удалённому серверу) C: hostname 12000 username password # Серверный аккаунт (для входящих клиентов) F: myuser mypassword 1 0 0
Строки C: (клиент) и F: (сервер)
Строка C: — это подключение к внешнему CCcam-серверу. Формат:
C: hostname port username password [hops [au]]
Пример: C: myserver.example.com 12000 user123 pass456
Строка F: создаёт аккаунт для входящего клиента. Формат:
F: username password uphops downhops [SID:on|off]
Пример: F: client1 secretpass 1 0 0
Параметр uphops — сколько хопов клиент может передать дальше. Если ставите 0, клиент не может каскадировать вашу шару. Downhops — сколько хопов принимать от этого клиента. Большие значения uphops (3+) создают риск зацикливания и резко растут задержки. Держите uphops не выше 1-2.
Настройка прав доступа и SID
CCcam поддерживает ограничение по SID (Service ID — идентификатор канала). Можно разрешить клиенту только конкретные каналы:
F: user1 pass1 1 0 0 { SID: 0001:0002:0003 }
Это редко нужно в домашней установке, но полезно если вы раздаёте шару нескольким пользователям с разными пакетами.
Запуск и проверка через telnet/веб-интерфейс
После редактирования конфига перезапустите демон:
/etc/init.d/CCcam restart # или killall CCcam && CCcam
Проверка через веб-интерфейс: откройте http://ip-ресивера:16001 в браузере. Увидите статус подключений, список карт и время ECM.
Через telnet: telnet localhost 16001 — вернёт текстовый статус. Если порт не отвечает — CCcam не запустился, смотрите лог через tail -f /tmp/CCcam.log.
Настройка OScam: конфиги и ридеры
OScam — это то, чем стоит заменить CCcam, если нужна гибкость. Несколько файлов конфигурации вместо одного — поначалу раздражает, но зато каждый аспект настраивается независимо.
Файлы oscam.conf, oscam.server, oscam.user
Стандартный путь к конфигам: /etc/tuxbox/config/oscam/. На некоторых прошивках — /var/keys/ или /etc/oscam/. Проверить: find / -name "oscam.conf" 2>/dev/null.
Три основных файла:
oscam.conf— глобальные настройки и веб-интерфейсoscam.server— ридеры (подключения к серверам/картам)oscam.user— пользователи (для входящих соединений)
Секция [global] и [webif]
Минимальный oscam.conf:
[global] logfile = /tmp/oscam.log maxlogsize = 1000 nice = -1 waitforcards = 1 [webif] httpport = 8888 httpuser = admin httppwd = mysecretpassword httprefresh = 10
Веб-интерфейс OScam на порту 8888 — один из главных аргументов в его пользу. Там видно в реальном времени: какие ECM приходят, время ответа на каждый запрос, статус ридеров. CCcam такого не даёт.
Добавление reader через протокол cccam
Чтобы OScam подключился к CCcam-серверу, добавьте в oscam.server:
[reader] label = mycccamserver protocol = cccam device = hostname,12000 user = username password = password group = 1 cccmaxhops = 2 cccwantemu = 0 reconnecttimeout = 30
Параметр cccmaxhops — максимальное количество хопов, которые OScam примет от этого сервера. Ставьте 1-2 для минимальной задержки. cccwantemu = 0 означает, что программные эмуляторы карт не нужны — только реальные карты.
В oscam.user добавьте пользователя, если настраиваете входящие соединения:
[account] user = localclient pwd = clientpass group = 1 au = 1
Запуск OScam:
oscam -b -c /etc/tuxbox/config/oscam/
Флаг -b — запуск в фоне. Для отладки запустите без -b с флагом -d 256 для детального лога.
Веб-интерфейс OScam и мониторинг
Откройте http://ip-ресивера:8888. Самые полезные вкладки: "Readers" — статус ридеров и время последнего ECM; "Users" — активные соединения; "Logs" — живой лог прямо в браузере.
Если веб-интерфейс не открывается — проверьте, что httpport не заблокирован фаерволом и OScam запустился: ps aux | grep oscam.
Диагностика и решение типичных проблем
Большинство проблем с тв шарой решаются чтением логов. Если вы смотрите в логи и не понимаете что там — разберём конкретные ситуации.
Нет картинки: проверка ECM-логов
Первым делом смотрите лог OScam на ECM-активность:
grep ECM /tmp/oscam.log | tail -20
Что искать: строки CW found говорят, что расшифровка работает. Строки no matching reader или no card — ридер не отвечает или не авторизован для этого CAID. Строки timeout — сервер есть, но отвечает слишком медленно.
Если ECM-запросы вообще не появляются в логе — проблема на уровне ресивера, не шары. Проверьте, правильно ли выбран сервис декодирования в настройках ресивера.
Freeze и фризы изображения
Фризы при работающей шаре — почти всегда задержка ECM. В логах OScam смотрите время ответа в миллисекундах рядом с CW found. Если видите постоянно >300 мс — это уже граница. При >500 мс фризы неизбежны.
Причины высокой задержки: перегруженный сервер, большое количество хопов в цепочке, высокий пинг до сервера, или проблемы с маршрутизацией. Проверьте пинг: ping -c 10 hostname. Если >100 мс постоянно — сервер географически далеко или линк плохой.
Рассинхронизация системного времени — отдельная история. EMM-пакеты привязаны ко времени. Если часы ресивера уехали на 5+ минут — EMM не обрабатывается, карта "протухает". Настройте NTP: ntpd -q -p pool.ntp.org или через сетевые настройки ресивера.
Ошибки подключения к серверу
CCcam и OScam не могут подключиться к серверу? Сначала базовая проверка — доступен ли хост вообще:
ping hostname telnet hostname 12000 # или если telnet нет: nc -zv hostname 12000
Если telnet висит без ответа — порт закрыт или хост недоступен. Если соединение устанавливается, но CCcam всё равно не подключается — неверные логин/пароль или IP заблокирован на стороне сервера.
Двойной NAT — частая проблема при настройке серверной части. Если ваш ресивер за роутером, а роутер за провайдерским NAT — пробросить порт 12000 может быть невозможно без запроса внешнего IP у провайдера.
Проверка портов и фаервола
Открыть порт в iptables на сервере:
iptables -A INPUT -p tcp --dport 12000 -j ACCEPT iptables -A INPUT -p tcp --dport 16001 -j ACCEPT iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
Для сохранения правил: iptables-save > /etc/iptables/rules.v4. На Enigma2 iptables обычно пустой по умолчанию, но на полноценном Linux-сервере это может быть реальной проблемой.
Несколько ридеров с одинаковым CAID создают конфликт приоритетов в OScam. Если у вас два ридера декодируют одни и те же каналы — явно укажите приоритет через параметр priority в oscam.server или настройте fallback через oscam.services.
Как выбрать надёжный источник шары: критерии
Без названий сервисов — только то, на что смотреть. Рынок здесь непрозрачный, и единственный способ проверить качество — измерить самому.
Стабильность и время отклика ECM
Первый критерий — время ECM. Хороший сервер даёт стабильно <150 мс на ECM-запрос при нормальном интернете. Если среднее время в логах 200-350 мс — работать будет, но на краю. Выше 400 мс — ищите другой источник.
Как измерить: подключитесь через OScam, включите любой канал, подождите 10-15 минут и посмотрите лог. В строках CW found будет время в мс. Посчитайте среднее и максимальное значение — они важнее минимального.
Аптайм важен не меньше задержки. Сервер с задержкой 100 мс, который падает каждые несколько часов — хуже, чем сервер с 200 мс и 99% аптайма. Спрашивайте у провайдера статистику аптайма за последний месяц или проверяйте сами через мониторинг.
Поддержка нужных протоколов и пакетов
Убедитесь, что сервер поддерживает ваш спутник, CAID и пакет. Это звучит очевидно, но многие тратят время на подключение и только потом обнаруживают, что нужные каналы не декодируются. Перед подключением уточняйте конкретный список CAID или пакетов.
Наличие резервных серверов — признак серьёзного отношения к надёжности. Один сервер = одна точка отказа. Нормальная инфраструктура предполагает хотя бы два сервера с одинаковой картой, между которыми клиент переключается автоматически.
Тестовый период и техподдержка
Тестовый доступ на 24-48 часов перед оплатой — стандарт для нормальных провайдеров. Если его нет — это сигнал. За тестовый период подключитесь, прогоните логи OScam, проверьте ECM-время и список доступных каналов.
Техподдержка должна знать свой продукт технически. Если в ответ на вопрос "какой у вас средний ECM-тайм?" вам говорят "всё работает, не беспокойтесь" — это не поддержка. Люди, которые серьёзно занимаются своим сервисом, знают эти цифры.
Какой порт используется по умолчанию для CCcam и OScam?
CCcam-сервер слушает порт 12000 по умолчанию, веб-интерфейс CCcam — 16001. OScam для протокола newcamd использует порт 15000, веб-интерфейс OScam — 8888. Все эти значения задаются в конфигах и могут быть изменены на любой свободный порт.
Где находится файл конфигурации CCcam.cfg?
Чаще всего /var/etc/CCcam.cfg — это стандартный путь для Enigma2. На некоторых образах файл лежит в /etc/CCcam.cfg. После обновления прошивки путь может неожиданно измениться. Поиск: find / -name "CCcam.cfg" 2>/dev/null.
Чем OScam лучше CCcam?
OScam гибче: поддерживает одновременно несколько протоколов, у него детальный веб-интерфейс с мониторингом ECM в реальном времени, гранулированные права пользователей и активная разработка. CCcam проще настроить с нуля — один файл конфига вместо трёх. Для серьёзного использования я бы выбрал OScam.
Почему изображение фризит при работающей шаре?
Причин несколько: высокое ECM-время (>300 мс), нестабильный интернет-канал, слишком много хопов в цепочке, перегруженный сервер или рассинхронизация системного времени. Смотрите лог OScam — grep CW /tmp/oscam.log — и ищите время ответа. Если время в норме, но фризы есть — проверяйте NTP.
Как проверить, что сервер доступен по порту?
Самый простой способ: telnet host 12000. Если соединение устанавливается — порт открыт. Альтернатива без telnet: nc -zv host 12000. Порт закрыт — проверяйте iptables на сервере (iptables -L -n) и проброс портов на роутере.
Что означает строка F: в CCcam.cfg?
Строка F: создаёт серверный аккаунт — по нему к вашему CCcam-серверу подключается клиент. Формат: F: username password uphops downhops. Параметр uphops определяет, сколько хопов клиент может передать дальше. Если хотите, чтобы клиент не мог каскадировать — ставьте 0.