Настройка шаринга CCcam и OScam: гайд 2026
Если ты уже получил линию и сидишь перед пустым конфигом — эта статья для тебя. Настройка шаринга на первый взгляд выглядит просто: вставил C-линию, перезапустил, смотришь каналы. Но на практике половина людей застревает на этапе диагностики, потому что ресивер молчит, а почему — непонятно. Разберём по-человечески: CCcam, OScam, три конфига, типичные ошибки и как их чинить.
Что такое шаринг и какие протоколы используются
Принцип работы кардшаринга и обмена ECM/DCW
Логика простая. Когда ресивер натыкается на зашифрованный канал, он формирует ECM-запрос (Entitlement Control Message) и отправляет его на сервер. Сервер расшифровывает этот запрос с помощью физической карты или виртуального эмулятора и возвращает CW (Control Word) — 8-байтный ключ, которым ресивер и открывает поток. Весь цикл должен укладываться в ~200–500 мс, иначе начинаются фризы.
Если CW приходит позже, чем меняется ключ на канале (обычно каждые 10 секунд), изображение подвисает или экран чернеет. Именно поэтому скорость соединения с сервером — не маркетинговый параметр, а технический минимум.
Отличия CCcam от OScam
CCcam — закрытый протокол немецкой разработки. Последняя реальная версия 2.3.x датируется примерно 2012–2013 годами, и с тех пор серьёзных обновлений не было. Настройка простая: один файл /etc/CCcam.cfg, строка C-линии, и всё. Но гибкости ноль.
OScam (Open Source Conditional Access Module) — другое дело. Открытый исходный код, активная разработка, поддержка десятков протоколов, подробное логирование, веб-интерфейс. В 2026 году именно OScam ставят на серверы и на клиентские ресиверы с Enigma2. CCcam при этом часто используют как транспортный протокол поверх OScam — сервер на OScam, клиент получает линию в CCcam-формате.
Протоколы: CCcam, CS357x, CS378x, MGcamd
Основные протоколы, с которыми сталкиваешься на практике:
- CCcam — TCP, порт по умолчанию 12000. Бинарный протокол, не стандартизирован публично.
- CS357x (newcamd) — TCP, порт 357x (например, 35700). Более старый, но широко поддерживаемый протокол.
- CS378x (camd35 over SSL) — UDP или TCP, порт 378x. Шифрованная версия camd35.
- MGcamd — протокол эмулятора MGcamd, порт задаётся отдельно.
Порты нигде не зафиксированы стандартом — они задаются в конфиге сервера. Всегда смотри на выданную линию, а не на «стандартный» порт из головы.
Настройка клиента CCcam: файл CCcam.cfg
Расположение файла: /etc/CCcam.cfg или /var/etc/CCcam.cfg
Путь к конфигу зависит от образа прошивки. На большинстве OpenATV, OpenPLi и схожих образов это /etc/CCcam.cfg. На некоторых старых образах DreamElite или кастомных сборках файл лежит в /var/etc/CCcam.cfg или /usr/keys/CCcam.cfg.
Если не знаешь где — зайди по telnet и выполни:
find / -name CCcam.cfg 2>/dev/null
Результат покажет реальный путь за секунду. Не угадывай.
Строка C-линии: C: host port username password
Синтаксис строки подключения:
C: hostname 12000 username password no { 0:0:1 }
Разбираем по полям: hostname — адрес сервера (IP или домен), 12000 — порт, username и password — данные из выданной линии. Параметр no означает, что share-лимит отключён (локально — не раздаёшь дальше). Блок { 0:0:1 } — это допустимые хопы: первое число — CAID, второе — provider, третье — максимальный уровень хопов.
Несколько линий можно задать несколькими C-строками. CCcam перебирает их сверху вниз: основная линия первой, резервная — ниже:
C: server1.example.com 12000 user1 pass1 no { 0:0:2 }
C: server2.example.com 12000 user2 pass2 no { 0:0:2 }
При падении первой клиент автоматически переключается на вторую. Время переключения — 5–15 секунд в зависимости от таймаутов.
Параметры опций (no/yes) и их влияние
В глобальной секции CCcam.cfg стоит указать несколько параметров:
SERVER LISTEN PORT: 16000
ALLOW TELNET MENU: yes
SERIAL DEVICE: /dev/ttyUSB0
SHARE LIMIT: 0
NEW CAMD LISTEN PORT: 15000
SERVER LISTEN PORT — порт, на котором CCcam слушает входящие подключения (если раздаёшь сам). SHARE LIMIT: 0 отключает лимит на раздачу. ALLOW TELNET MENU: yes включает telnet-меню для диагностики прямо через telnet ip 16000.
Перезапуск сервиса и проверка в логе
После изменения конфига — перезапуск. Самый надёжный способ через telnet:
killall -9 CCcam
sleep 2
CCcam &
Или через init.d, если есть скрипт: /etc/init.d/softcam restart. Лог смотришь в /tmp/CCcam.log или /var/log/CCcam.log — строки со статусом линии покажут Active (соединение есть) или connecting (пытается подключиться). Если линия висит в connecting больше 30 секунд — проблема либо в сети, либо в данных.
Настройка OScam: oscam.server, oscam.conf, oscam.user
OScam работает через три основных файла. Все они лежат в одной директории — чаще всего /etc/tuxbox/config/oscam/ или /var/etc/oscam/. На OpenATV 7.x и OpenPLi 9.x — обычно /etc/oscam/. Проверяй через find / -name oscam.conf.
oscam.conf: секции [global], [cccam], [webif]
Главный конфиг определяет глобальное поведение демона:
[global]
logfile = /tmp/oscam.log
maxlogsize = 500
nice = -1
waitforcards = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httprefresh = 10
httphideidleclients = 1
[cccam]
port = 12000
version = 2.3.0
minimizecards = 0
reshare = 1
stealth = 1
Секция [cccam] нужна, если OScam раздаёт шаринг клиентам по CCcam-протоколу. version = 2.3.0 имитирует версию CCcam-клиента — некоторые серверы проверяют это поле. stealth = 1 скрывает OScam от обнаружения как эмулятора.
oscam.server: reader-секция для подключения линии
Каждый источник карт описывается в oscam.server как отдельный [reader]:
[reader]
label = myline
protocol = cccam
device = server.example.com,12000
user = myuser
password = mypassword
inactivitytimeout = 30
reconnecttimeout = 10
group = 1
cccversion = 2.3.0
cccmaxhops = 2
cccwantemu = 0
cccmaxhops = 2 — принимаем карты не дальше двух хопов от источника. cccwantemu = 0 — не просим эмулированные карты, только физические. Это важно: если поставить 1, сервер может отдавать мусор от эмулятора вместо реальной карты.
Если хочешь подключить несколько линий с балансировкой по ECM time — добавляй несколько [reader] блоков в тот же файл. OScam сам выберет быстрейший ридер для каждого запроса, если задать им одинаковую группу.
oscam.user: учётные записи и group
В oscam.user описываются клиенты, которым OScam отдаёт карты:
[account]
user = clientuser
pwd = clientpass
group = 1
au = 1
uniq = 0
cccmaxhops = 1
Привязка через group = 1 — это связующее звено между ридером и пользователем. Ридер с group = 1 обслуживает аккаунты с group = 1. Если группы не совпадают — клиент не получит доступ к карте, и это частая причина ошибок.
Веб-интерфейс на порту 8888 и статус ридера
После запуска OScam открой браузер: http://ip-ресивера:8888. В разделе Readers увидишь каждый ридер с его статусом: CONNECTED, RECONNECTING или OFFLINE. Там же показывается ECM time — среднее время ответа в миллисекундах.
Если ридер CONNECTED, но ECM time скачет от 400 до 1200 мс — это уже сигнал нестабильности. Меньше 300 мс — отлично, 300–600 мс — норма, выше 700 мс — жди фризов на быстро меняющихся ключах.
Диагностика и решение типичных ошибок
Линия Active, но каналы не открываются (нет нужных CAID/provider)
Это самая частая ситуация. Соединение установлено, линия показывает Active или CONNECTED, но каналы чёрные. Проблема — несовпадение CAID или provider ID.
Каждый канал использует конкретный CAID (например, Viaccess — 0500, Nagravision — 1800, Irdeto — 0600) и provider ID. Если линия не содержит нужную карту — CW не придёт никогда. Смотри информацию о сигнале в Enigma2: Serviceinformation → CA IDs — там виден CAID текущего канала. Сравни с тем, что отдаёт твоя линия.
Ещё один сценарий: оператор сменил ECM PID после технического обновления кодировки. Канал как бы тот же, но ECM-запрос идёт уже на другой PID, который линия не обслуживает. Решение — обновить список каналов или дождаться обновления линии.
Connecting/Offline — проблема сети, порта или firewall
Проверяй доступность порта напрямую:
telnet server.example.com 12000
Или через nc: nc -zv server.example.com 12000. Если соединение зависает или сразу разрывается — порт закрыт. Причины: firewall на сервере, NAT без проброса, неверный порт в конфиге, или сервер просто лежит.
Проверь также локальное время ресивера. OScam и некоторые серверы могут отвергать соединение, если расхождение системного времени клиента и сервера превышает допустимый порог. Команда date в telnet покажет текущее время ресивера. Если оно в 2020 году — синхронизируй NTP через настройки Enigma2.
Длинный ECM time и фризы
ECM time складывается из: задержки сети (пинг до сервера) + времени обработки на сервере + количества хопов. Каждый лишний хоп добавляет 50–150 мс. Линия с cccmaxhops = 5 может работать с ECM time 800+ мс даже при хорошем канале.
Что делать: уменьши cccmaxhops в oscam.server до 1–2. Это отрежет далёкие карты, но стабилизирует время ответа. Также проверь пинг до сервера: ping -c 10 server.example.com. Если средний пинг выше 80–100 мс — сервер географически далеко или маршрут плохой.
Ошибки CW NOT FOUND и пустой ECM-ответ
В логах OScam /tmp/oscam.log ищи строки вида:
2026/03/15 14:22:11 c (clientuser) chid 0000 [caid 0500 prov 040810]: CW not found
Это значит: ресивер запросил CW для CAID 0500, provider 040810, а ни один ридер не смог ответить. Или CAID не поддерживается, или ридер офлайн, или превышен лимит запросов. Установи уровень логирования в oscam.conf: loglevel = 255 — получишь максимум деталей для диагностики.
Как поднять собственный сервер OScam для раздачи
Этот раздел для тех, у кого есть легальная подписка на спутниковый пакет и физическая смарт-карта оператора. Раздача в рамках одного домохозяйства и условий договора оператора — это техническая задача, которую OScam решает хорошо.
Reader для локальной карты (smartreader, internal)
Если карта в слоте ресивера — используй protocol = internal:
[reader]
label = localcard
protocol = internal
device = /dev/sci0
caid = 0500
detect = cd
mhz = 357
cardmhz = 357
group = 1
au = 1
Если карта в USB-кардридере (например, Smargo SmartReader): protocol = smartreader, device = /dev/ttyUSB0. Параметр caid должен точно совпадать с CAID твоей карты — иначе OScam не инициализирует её корректно.
Открытие порта и создание пользователей
В oscam.conf задай CCcam-порт для раздачи:
[cccam]
port = 12000
Создай аккаунты в oscam.user для каждого клиента. Каждому — отдельная запись с уникальным логином/паролем. Если поднимаешь сервер за NAT (нет белого IP) — нужен проброс порта на роутере: внешний порт 12000 → IP ресивера, порт 12000. Без этого внешние клиенты не достучатся.
Если белого IP нет вообще — вариант через reverse tunnel (например, ngrok или wireguard), но это уже отдельная история с настройкой туннеля.
Ограничение hops и AU (обновление ключей)
cccmaxhops = 1 в аккаунте клиента означает: клиент получает карты только первого хопа (твои прямые карты), не может раздавать их дальше как сервер. Это ограничивает неконтролируемое распространение.
Параметр au = 1 в reader-секции включает передачу EMM-сообщений (Entitlement Management Message) — это обновление ключей карты. Без AU карта со временем перестаёт расшифровывать каналы, если оператор ротирует ключи. Включай au только на ридере с физической картой, не на проброшенных линиях.
Критерии выбора надёжной шаринг-линии
Конкретные сервисы называть не буду — реклама здесь не нужна. Но критерии, по которым стоит оценивать любого провайдера, вполне конкретные.
Стабильность аптайма и пинг до сервера
Первое, что проверяй — географическое расположение сервера. Если ты в Восточной Европе, а сервер в Латинской Америке, ECM time будет 400+ мс только на сетевой задержке. Попроси IP или домен и замерь пинг до того, как платить.
Аптайм 99%+ звучит хорошо, но реальную картину даёт только тестовый период. Нормальный провайдер предоставляет тест-линию на 24–48 часов. За это время можно оценить стабильность ECM time, количество reconnect'ов и поведение на разных каналах.
Корректные CAID под ваши спутники
Перед покупкой линии выясни, какие CAID и provider ID нужны именно тебе. Hotbird, Astra, Türksat, Amos — у каждого пакета свои CAID. Попроси у провайдера список поддерживаемых CAID и сверь с тем, что показывает Enigma2 в ServiceInfo на нужных каналах.
Линия может стоить дёшево, но покрывать пакеты, которые тебе не нужны. Это не выгодная покупка — это мусор за деньги.
Тестовый период и прозрачность параметров
Честный провайдер открыто сообщает: максимальное число одновременных подключений, лимит ECM/час, политику reconnect и наличие резервных серверов. Если эти параметры не указаны — жди сюрпризов в самый неподходящий момент.
И последнее. Самый надёжный вариант для просмотра закодированных пакетов — официальная подписка напрямую у оператора. Это и юридически чисто, и технически стабильно. Настройка шаринга — тема для тех, кто уже разобрался с легальной стороной вопроса.
Часто задаваемые вопросы
Где находится файл CCcam.cfg на ресивере?
Зависит от образа прошивки. Чаще всего это /etc/CCcam.cfg, но встречаются /var/etc/CCcam.cfg и /usr/keys/CCcam.cfg. Точный путь найдёт команда find / -name CCcam.cfg 2>/dev/null, выполненная через telnet — результат придёт за секунду.
Какой порт по умолчанию использует шаринг?
Стандарта нет — порт всегда берётся из выданной линии. У CCcam чаще всего встречается 12000, задаётся параметром SERVER LISTEN PORT в конфиге сервера. Веб-интерфейс OScam по умолчанию на порту 8888. Никогда не угадывай порт — смотри на данные конкретной линии.
Линия показывает Active, но каналы не открываются — почему?
Соединение с сервером есть, но линия не поддерживает нужный CAID или provider ID для этого канала. Открой ServiceInfo в Enigma2, посмотри CA IDs текущего канала и сравни с тем, что декларирует твоя линия. Также возможно, что оператор сменил ECM PID после обновления кодировки — тогда нужно обновить список каналов.
Что лучше выбрать — CCcam или OScam?
В 2026 году OScam — однозначно. Гибче, активно развивается, поддерживает несколько протоколов одновременно, даёт подробные логи и нормальный веб-интерфейс. CCcam проще в начальной настройке, но не обновляется уже более десяти лет. Типичная схема: OScam-сервер с CCcam-портом для раздачи — получаешь лучшее из обоих миров.
Почему высокий ECM time и фризы на каналах?
ECM time выше 600–700 мс стабильно вызывает подвисания. Причины: сервер физически далеко (большой пинг), перегруженная линия, длинная цепочка хопов (cccmaxhops завышен), плохой маршрут или слабый интернет-канал на ресивере. Начни с проверки пинга до сервера и уменьши cccmaxhops до 1–2.
Как проверить, открыт ли порт сервера?
Самый простой способ — telnet hostname port через telnet-сессию ресивера или с любого компьютера в той же сети. Если соединение установилось — порт доступен. Отказ или таймаут означает firewall, NAT без проброса или недоступный сервер. При самостоятельном поднятии сервера за роутером нужен явный проброс нужного порта на 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 или внешние мониторы.