ТВ шара: настройка CCcam и OScam сервера в 2026
Если вы попали сюда, значит уже знаете, зачем нужна тв шара и что такое кардшаринг в общих чертах. Эта статья — не введение для новичков. Это технический разбор: как работает обмен ключами на уровне протокола, как правильно настроить CCcam и OScam, и почему большинство проблем с чёрным экраном решаются за 10 минут, если знать, куда смотреть.
Что такое ТВ шара и как работает кардшаринг
Кардшаринг — это не магия и не хак в привычном смысле. Это обмен данными расшифровки между ресивером, у которого нет физической смарт-карты, и сервером, у которого она есть. Вся схема держится на одной идее: карта одна, а смотрят несколько.
Принцип обмена control words (CW)
Спутниковый канал с условным доступом (Conditional Access) шифрует видеопоток. Для расшифровки нужен control word — 8-байтный ключ, который встроен в сам поток в виде ECM-пакетов (Entitlement Control Message). Без смарт-карты ресивер получает ECM, но расшифровать его не может.
При кардшаринге ресивер-клиент пересылает этот ECM-пакет на удалённый сервер. Там стоит физическая карта в CAM-модуле или CI-слоте, она расшифровывает пакет и возвращает клиенту уже готовый CW. Ресивер применяет ключ и отображает картинку. Весь цикл должен укладываться менее чем в 7–10 секунд — именно с такой частотой CW меняется на большинстве платформ. Пропустил обновление — получил фриз.
Роль ECM и EMM пакетов
ECM (Entitlement Control Message) — это запрос на расшифровку конкретного CW для конкретного канала. Именно ECM гоняется между клиентом и сервером при каждом обновлении ключа.
EMM (Entitlement Management Message) — другое. Это управляющие сообщения от вещателя к карте: обновления подписки, добавление каналов, блокировка. EMM не участвует в реальтаймовой расшифровке, но без своевременной обработки карта на сервере может потерять подписку. Хороший сервер обрабатывает EMM в фоне автоматически.
Разница между сервером и клиентом
Сервер — машина с физической смарт-картой и CAM-модулем (или CI+), которая принимает ECM-запросы и отдаёт CW. Клиент — ресивер без карты, который подключается к серверу через сеть.
На практике одна машина может быть и сервером, и клиентом одновременно. Например, Enigma2-ресивер с картой может раздавать её по сети через OScam и одновременно получать CW с другого сервера для каналов, которых у неё нет.
Какое оборудование поддерживает шару
Практически любой ресивер на Linux. Enigma2-устройства (Vu+, Dreambox, GigaBlue, Zgemma) — через softcam: CCcam или OScam устанавливается как плагин или системная служба. На PC с DVB-картой (TBS, Tevii, DigitalDevices) — нативная установка пакетов под Ubuntu/Debian. Есть поддержка и на Android-приставках через специальные сборки, но там всё куда нестабильнее.
Ключевой компонент на Enigma2 — dvbapi. Это интерфейс, через который OScam или CCcam «вбрасывает» расшифрованный CW прямо в декодер. Без правильно настроенного dvbapi картинки не будет, даже если сервер работает идеально.
Настройка CCcam: конфигурационные файлы и порты
CCcam — старый, проверенный софт. Один файл конфига, простой синтаксис, работает из коробки на большинстве Enigma2-образов. Не самый гибкий, но если нужно быстро поднять клиент — лучше варианта нет.
Структура CCcam.cfg и путь к файлу
На большинстве Enigma2-систем файл лежит по адресу /etc/CCcam.cfg. На некоторых образах (OpenATV, OpenPLi) может быть /var/etc/CCcam.cfg. На обычном Linux сервере — зависит от установки, чаще всего это /etc/CCcam.cfg.
Файл читается сверху вниз при старте демона. Комментарии начинаются с #. После правок нужен перезапуск: init 6 (на ресивере) или systemctl restart CCcam / /etc/init.d/CCcam restart на Linux-сервере.
Строка C: line — синтаксис подключения клиента
Это основная строка для подключения к удалённому серверу. Синтаксис такой:
C: hostname 12000 username password
Где hostname — IP или доменное имя сервера, 12000 — порт, username и password — ваши учётные данные. Можно добавить несколько C:-строк — CCcam будет использовать их последовательно при недоступности первого сервера. Приоритет — сверху вниз.
Пример рабочей строки:
C: 185.220.10.55 12000 myuser mypassword
Строка F: line — настройка сервера для раздачи
Если вы раздаёте карту другим клиентам, нужна F:-строка для каждого пользователя:
F: username password 1 0 0
Первый параметр после пароля — разрешить клиенту видеть ваши локальные карты (1 = да). Второй — максимальный hop, который клиент может запросить (0 = только локальные). Третий — разрешение на передачу карт клиентов дальше. Для стандартной раздачи: F: user pass 1 0 0.
Параметр WANT EMUS в конфиге (значение 1) указывает CCcam принимать и программные эмуляторы карт, а не только физические. SHARE LIMITS ограничивает количество одновременных расшифровок с одного аккаунта.
Стандартный порт 12000 и его смена
Протокол CCcam по умолчанию использует порт 12000. Менять его имеет смысл по двум причинам: обфускация (автоматические сканеры ищут именно 12000) и разрешение конфликтов при запуске нескольких экземпляров на одном хосте.
Для смены порта в CCcam.cfg добавьте строку:
SERVER LISTEN PORT 13000
На всех клиентах C:-строки тоже нужно обновить на новый порт. И не забудьте открыть его в файрволе.
Параметры N: line для newcamd
Если ваш ресивер или клиент работает по протоколу newcamd (некоторые старые ресиверы не поддерживают CCcam natively), используйте N:-строку:
N: hostname 15000 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14
Длинная строка из цифр в конце — это DES-ключ для шифрования newcamd-соединения. Должен совпадать с тем, что настроен на сервере. Стандартный тестовый ключ — последовательность 01 02 03 04..., но для продакшена его надо менять.
Настройка OScam: oscam.server, oscam.user и протоколы
OScam — совсем другой уровень. Гибкий, поддерживает одновременно несколько протоколов, умеет кэшировать CW, имеет веб-интерфейс для мониторинга в реальном времени. Конфигурация сложнее, но оно того стоит — особенно если вы разворачиваете сервер с несколькими клиентами или хотите нормальную диагностику.
Файлы конфигурации
На Enigma2 (OpenATV, OpenPLi, OpenVix) конфиги лежат в /etc/tuxbox/config/oscam/ или /var/etc/oscam/ — зависит от образа. На обычном Linux-сервере (Debian/Ubuntu) после установки из репозитория — /etc/oscam/.
Основные файлы:
oscam.conf— глобальные параметры, веб-интерфейс, логированиеoscam.server— описание ридеров (откуда брать CW)oscam.user— учётные записи клиентовoscam.dvbapi— настройка интеграции с декодером на Enigma2oscam.providers— дополнительные параметры для конкретных провайдеров
oscam.conf — глобальные параметры и webif
Минимальный рабочий oscam.conf:
[global]
logfile = /tmp/oscam.log
maxlogsize = 500
preferlocalcards = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httprefresh = 10
Веб-интерфейс на порту 8888 — это ваш главный инструмент диагностики. Там видно статус каждого ридера, ECM time по каждому каналу, количество активных клиентов и кэш-хиты. Без него работать вслепую.
Параметр preferlocalcards = 1 заставляет OScam сначала пробовать локальную карту и только потом идти к удалённым ридерам. Почти всегда нужно ставить именно так.
oscam.server — описание ридеров
Каждый источник CW — это отдельная секция [reader] в файле oscam.server. Пример подключения к удалённому CCcam-серверу:
[reader]
label = remote_cccam
protocol = cccam
device = 185.220.10.55,12000
user = myuser
password = mypassword
group = 1
cccversion = 2.3.0
cccmaxhops = 1
reconnecttimeout = 30
Параметр cccmaxhops = 1 ограничивает hop — OScam не будет принимать карты с hop выше 1. Это защита от решар: если сервер сам является реселлером и отдаёт карту с hop 3, OScam просто её проигнорирует.
Для подключения физической карты в локальном CI-слоте ресивера:
[reader]
label = local_card
protocol = internal
device = /dev/sci0
group = 1
caid = 0500
oscam.user — учётные записи клиентов
Каждый клиент, который подключается к вашему OScam-серверу, описывается в oscam.user:
[account]
user = client1
pwd = secretpass
group = 1
au = 1
maxconn = 1
group = 1 должен совпадать с группой ридеров в oscam.server — так OScam знает, каким ридерам разрешено обслуживать этого клиента. au = 1 разрешает обработку EMM для автообновления карты. maxconn = 1 — максимум одно одновременное соединение с этого аккаунта.
Протоколы cccam, newcamd, camd35 в одном конфиге
Вот где OScam реально выигрывает у CCcam. Можно одновременно слушать несколько протоколов на разных портах. В oscam.conf добавляем:
[cs378x]
port = 12001
[newcamd]
port = 15000@0500:000000
[camd35]
port = 15001
cs378x — это протокол CCcam в исполнении OScam. Клиенты с CCcam-конфигом могут подключаться на порт 12001, не подозревая, что на другом конце OScam. Удобно при миграции с CCcam на OScam: клиентские конфиги менять не нужно, только порт.
Строка 15000@0500:000000 в newcamd означает: слушать на порту 15000, обслуживать CAID 0500 (Viaccess), провайдер 000000 (все). Если нужно несколько CAID — добавляйте через точку с запятой.
Решение типичных проблем подключения
Большинство проблем с тв шарой решаются одинаково: открываем веб-интерфейс OScam, смотрим на статусы и ECM time, находим узкое место. Давайте по порядку.
Канал не открывается: проверка ECM time и статуса ридера
Первый шаг — открыть http://[ip-ресивера]:8888 в браузере. На главной странице OScam webif видно список активных ридеров и их статус: connected, error, connecting.
Если статус error — проблема на уровне соединения, не в настройках канала. Если connected — переходим на вкладку ECM и смотрим время ответа. Норма — до 0.3–0.5 секунды. Значения выше 0.7 сек уже проблема, выше 1.0 — гарантированные фризы.
Если канал не открывается вообще (чёрный экран) при connected-ридере, смотрите на caid. В логе OScam ищите строки вида no matching reader found — это значит, что ридер просто не поддерживает данный CAID/provid.
Freeze и подвисания: причины и оптимизация
Фриз на 1–3 секунды каждые 10 секунд — классический симптом высокого ECM time. CW обновляется, но ответ приходит с опозданием.
Причины по убыванию частоты:
- Высокий пинг до сервера. Проверить:
ping hostname. Норма для нормальной работы — до 80–100 мс. Выше 150 мс — уже риск. - Перегруженный сервер (слишком много клиентов на одну карту). Проявляется тем, что ECM time плавает от 0.1 до 1.5 сек.
- Большой hop. Hop 3+ означает, что ECM проходит через 3 сервера — каждый добавляет задержку.
- Агрессивная ротация CW. Некоторые платформы (Irdeto, Conax) обновляют CW каждые 3–5 секунд вместо стандартных 10. При высоком ECM time это сразу фризы.
На HD-каналах ECM time часто выше, чем на SD — это нормально, потому что HD-пакеты требуют другого CAID или обрабатываются по отдельному пулу карт. Если SD работает хорошо, а HD фризит — это не проблема соединения, это проблема конкретной карты на сервере.
Ошибка подключения к серверу (connection refused / timeout)
Разница между connection refused и timeout принципиальная:
Connection refused означает, что хост доступен, но порт закрыт. Сервер работает, но CCcam/OScam на нём не запущен, или слушает на другом порту. Проверить: telnet hostname 12000. Если ответа нет — проверяйте, запущен ли демон на сервере командой ps aux | grep ccam или systemctl status oscam.
Timeout — хост вообще не отвечает. Либо сервер выключен, либо файрвол режет пакеты на маршруте, либо неверный IP.
Проблемы с файрволом и пробросом портов
Если вы поднимаете сервер за NAT (роутер с одним белым IP), нужен проброс портов. Без белого IP — никак, UDP/TCP соединение снаружи просто не дойдёт до вашей машины.
Для проброса в роутере нужно указать: внешний порт → внутренний IP машины → тот же порт. Например, 12000 TCP → 192.168.1.100:12000. После этого клиенты подключаются к вашему внешнему IP на порт 12000.
На самом сервере проверьте iptables:
iptables -L -n | grep 12000
Если правило блокирующее — добавьте разрешение: iptables -A INPUT -p tcp --dport 12000 -j ACCEPT.
Расхождение по caid/provid
Это самая недооценённая причина чёрного экрана. Канал не открывается не потому что сервер недоступен, а потому что карта на сервере просто не авторизована на этот провайдер.
В OScam webif на вкладке Services/Channels видно, какой CAID и provid запрашивает конкретный канал. Сравните с тем, что отдаёт ридер — CAID и provid должны совпадать. Если канал требует CAID 0604 provid 000400, а ридер отдаёт только 0604 provid 000100 — CW вы не получите.
Решение: либо найти сервер с нужной картой, либо добавить в oscam.server для данного ридера параметр caid = 0604 и в oscam.providers прописать нужный provid.
Как выбрать надёжный сервер: критерии без рисков
Технически тв шара работает везде одинаково — протокол стандартный. Разница только в качестве конкретного сервера. Вот на что смотреть.
Стабильность аптайма и пинг до сервера
Географически ближний сервер — почти всегда лучше. Сервер в соседней стране даст пинг 20–50 мс, сервер на другом континенте — 150–300 мс. При CW-ротации каждые 10 секунд это критично.
Перед покупкой попросите тестовый период (обычно 24–48 часов). За это время проверьте ECM time в OScam webif на разных каналах и в разное время суток. Если ночью всё хорошо, а в прайм-тайм ECM time прыгает до 0.8+ — сервер перегружен.
Поддержка нужных caid и провайдеров
Спросите у продавца список поддерживаемых CAID и провайдеров. Хороший сервер даёт конкретный список: 0500 (Viaccess), 0604 (Irdeto 2), 1702 (Nagravision) и т.д. с указанием конкретных пакетов каналов.
Расплывчатый ответ «поддерживаем все пакеты» — красный флаг. Скорее всего, это реселлер без собственных карт, который сам покупает доступ у другого сервера.
Локальные карты против решары (reshare)
Hop — это количество звеньев между вашим ресивером и оригинальной физической картой. Hop 1 означает, что карта стоит прямо на сервере, к которому вы подключились. Hop 2 — сервер сам является клиентом другого сервера. Hop 3+ — цепочка реселлеров.
Каждый дополнительный hop добавляет задержку. Hop 1 даёт ECM time 50–150 мс. Hop 3 легко даёт 400–600 мс. Разница между плавной картинкой и постоянными подвисаниями.
В OScam при подключении по CCcam-протоколу можно принудительно ограничить hop через параметр cccmaxhops = 1 в секции [reader] файла oscam.server. Тогда OScam просто не будет использовать карты с hop выше указанного.
Тестовый период и техническая поддержка
Любой нормальный сервер даёт тест. Если тест не предлагают совсем — проходите мимо. Ещё важнее — как быстро отвечает поддержка. Кардшаринг-серверы падают, карты перепрошиваются, провайдеры меняют ключи. Если поддержка молчит сутки — это серьёзная проблема в момент, когда ваш любимый канал не открывается.
Проверьте форумы или чаты, где обсуждают этот сервер. Реальные отзывы пользователей о стабильности в прайм-тайм скажут больше, чем любая реклама.
Часто задаваемые вопросы
В чём разница между CCcam и OScam?
CCcam проще: один файл CCcam.cfg, минимум настроек, работает сразу. OScam гибче: поддерживает несколько протоколов одновременно (cccam, newcamd, camd35), имеет веб-интерфейс на порту 8888 для мониторинга ECM time в реальном времени, умеет кэшировать CW и менее требователен к ресурсам на слабом железе. Многие используют связку: OScam как основной сервер/прокси, CCcam для совместимости с клиентами, которые не поддерживают другие протоколы.
Какой порт используется для кардшаринга по умолчанию?
CCcam — порт 12000. Newcamd — обычно 15000. OScam webif — 8888. Camd35 — 15001. Порты часто меняют для безопасности. Если вы поднимаете сервер за роутером, нужен проброс используемого порта на внешний IP — иначе клиенты снаружи не достучатся.
Что означает ECM time и какое значение нормальное?
ECM time — время, которое прошло от отправки ECM-запроса до получения расшифрованного CW. Норма — до 0.3–0.5 секунды. При значениях 0.5–0.7 сек уже возможны редкие подвисания. Выше 0.7 сек — стабильные фризы. Смотрится в веб-интерфейсе OScam на вкладке активных ECM-запросов.
Почему канал показывает чёрный экран при правильной настройке?
Чаще всего — несовпадение CAID или провайдера. Карта на сервере просто не авторизована на этот пакет. Другие причины: ридер не подключился (статус error в webif), истёк CW и новый не пришёл вовремя, проблема с oscam.dvbapi на Enigma2 — dvbapi не передаёт CW декодеру. Проверьте лог OScam на строки no matching reader.
Что такое hop и решара (reshare)?
Hop — число посредников между вами и физической смарт-картой. Hop 1: карта стоит прямо на сервере, которому вы отправляете ECM. Hop 2: этот сервер сам является клиентом другого. Каждый hop добавляет задержку и точку отказа. Решара (reshare) — это и есть раздача карты дальше через посредников. Ограничить принимаемый hop в OScam можно параметром cccmaxhops = 1 в секции ридера.
Можно ли запустить CCcam и OScam одновременно?
Да, это распространённая практика. Главное — они не должны использовать один порт. Например: OScam слушает на 12001 по протоколу cs378x (CCcam-совместимый), CCcam подключается к OScam как клиент на этот порт, а сам CCcam слушает клиентов на 12000. Или OScam работает как основной сервер протоколов, а CCcam подключён к нему как один из ридеров. Конфликт dvbapi на Enigma2 — другая история: два softcam одновременно за один /dev/dvb-интерфейс конкурируют, что ведёт к непредсказуемому поведению. Там нужно выбирать один активный softcam.