Настройка CCcam в OScam: конфиг, протокол, порты 2026

Если вы дошли до этой статьи, значит OScam уже запущен и C-line на руках есть, но читер не коннектится или карты не появляются. Тема cccam in oscam выглядит простой на первый взгляд — добавил reader, перезапустил, готово. На практике оказывается, что половина мануалов в интернете либо устаревшие, либо пропускают ключевые детали вроде привязки group или правильного cccversion. Разберём всё по порядку, с реальными конфигами.

Конфигурационные файлы OScam по умолчанию лежат в /usr/local/etc/ или /var/keys/ — зависит от сборки. Чтобы точно узнать путь, запустите ps aux | grep oscam и посмотрите на параметр --config-dir. Некоторые дистрибутивы кладут конфиги в /etc/oscam/.

Как OScam работает с протоколом CCcam: reader против sharing

OScam умеет работать с CCcam в двух режимах. Первый — принимать карты с внешнего CCcam-сервера (client-режим), второй — раздавать карты CCcam-клиентам (server-режим). Это совершенно разные настройки, и они живут в разных файлах.

CCcam как client-протокол (приём C-line) в oscam.server

Чтобы OScam подключался к CCcam-серверу и получал карты, нужна секция [reader] в файле oscam.server с параметром protocol = cccam. Именно здесь указываются host, порт, логин и пароль из C-line.

OScam не читает CCcam.cfg. Никакой импорт файла не предусмотрен. Строку вида C: server.example.com 12000 user pass нужно вручную разобрать на параметры reader-секции. Чуть ниже покажу как именно.

CCcam как server-протокол (раздача) в oscam.conf

Если вы хотите раздавать карты CCcam-клиентам (например, приставкам с CCcam-прошивкой или другим OScam-инстансам), это настраивается через секцию [cccam] в oscam.conf и учётные записи в oscam.user. Два разных файла, два разных направления трафика.

Разница между cccam и cccam_ext

В OScam есть два варианта протокола: cccam и cccam_ext. Последний — расширенная версия с поддержкой дополнительных функций, включая передачу EMM. На практике для большинства задач достаточно стандартного cccam. cccam_ext используется, если сервер специально поддерживает расширения и это оговорено.

Важный момент: если OScam собран без поддержки CCcam-протокола, параметр protocol = cccam просто не сработает, а в логе появится ошибка. Проверить можно командой oscam --capabilities — в списке должно быть protocol: cccam.

Где OScam хранит конфиги: /usr/local/etc и /var/keys

Структура файлов стандартная: oscam.conf — глобальные настройки и секции протоколов, oscam.server — reader-секции для входящих карт, oscam.user — учётки для клиентов, oscam.srvid — база каналов. Все в одной директории, путь к которой определяется при компиляции или флагом --config-dir.

Настройка приёма C-line: секция reader в oscam.server

Это самая частая задача — у вас есть C-line от провайдера, и нужно заставить OScam с ней работать.

Преобразование C: line в параметры reader

Возьмём типичную C-line:

C: my.server.com 12000 myuser mypassword

Вот как она превращается в секцию reader:

[reader]
label                = mycccam_line
protocol             = cccam
device               = my.server.com,12000
user                 = myuser
password             = mypassword
group                = 1
cccversion           = 2.3.0
cccmaxhops           = 10
inactivitytimeout    = 30
reconnecttimeout     = 15

Параметр device — это host и порт через запятую. Без пробелов. Эту ошибку делают чаще всего.

Некоторые C-line содержат дополнительные флаги в фигурных скобках: C: my.server.com 12000 user pass { 0:0:2 }. Цифры в фигурных скобках обычно обозначают параметры reshare и hop. В OScam они не переносятся напрямую — вместо этого используйте cccmaxhops в reader-секции.

Обязательные параметры: label, protocol, device, user, password

Без label OScam не сможет идентифицировать reader в логах и webif. Ставьте осмысленные имена, особенно если reader несколько. protocol = cccam — обязателен, без него OScam не поймёт, что делать с device. device, user, password — очевидно.

Параметры cccversion, cccmaxhops, cccwantemu

cccversion — версия протокола CCcam, которую OScam будет эмулировать при хендшейке с сервером. Распространённые значения: 2.0.11, 2.1.4, 2.2.1, 2.3.0. Если сервер настроен на конкретную версию и вы укажете другую — получите отказ логина или нестабильную работу. Спрашивайте у провайдера, или пробуйте 2.3.0 как наиболее распространённую.

cccmaxhops ограничивает глубину хопов карт, которые reader принимает. Значение 10 — достаточно для большинства случаев. Если хотите только локальные карты (hop 0) или прямые (hop 1), ставьте 1.

cccwantemu = 1 нужен в редком случае: когда сервер отдаёт карты только тем клиентам, которые явно запросили эмуляцию. По умолчанию — 0. Если карты не появляются именно от конкретного сервера — попробуйте включить.

group, caid, ident и фильтрация карт

Параметр group — это клей, который соединяет reader с пользователями при раздаче. Reader с group = 1 отдаёт карты только тем user'ам в oscam.user, у которых тоже стоит group = 1. Если group не совпадают — карты есть, но до клиентов не доходят. Классическая ловушка.

caid и ident — фильтры для конкретных систем и провайдеров. Если указать, reader будет принимать только карты нужных CAID. Удобно при нескольких reader с пересекающимися CAID — можно чётко разграничить приоритеты. Но на этапе отладки лучше убрать эти фильтры, чтобы исключить их как причину проблем.

Полный пример рабочей секции

[reader]
label                = provider_main
protocol             = cccam
device               = my.server.com,12000
user                 = mylogin
password             = secretpass
group                = 1,2
cccversion           = 2.3.0
cccmaxhops           = 10
cccwantemu           = 0
inactivitytimeout    = 30
reconnecttimeout     = 15
logport              = 0

Несколько reader с пересекающимися CAID? Назначайте им разные group и управляйте приоритетом через cacheex или порядок в oscam.server — OScam опрашивает reader сверху вниз.

Настройка раздачи CCcam: секция [cccam] в oscam.conf и oscam.user

Если вы хотите раздавать карты клиентам по протоколу CCcam, конфигурация делится на две части.

Параметр port в [cccam] и формат version/build

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

[cccam]
port                 = 12000
version              = 2.3.0
build                = 3
reshare              = 1
reshare_mode         = 0
ignorereshare        = 0
updateinterval       = 240
keepconnected        = 1

Порт 12000 — стандарт де-факто для CCcam, но вы можете поставить любой свободный. Главное — он должен совпадать с портом в C-line, которую вы выдаёте клиентам, и быть открыт в фаерволе.

version и build — это то, что OScam будет сообщать клиентам при хендшейке. Значения 2.3.0 / 3 работают с большинством современных клиентов.

Создание клиента в oscam.user

Каждый CCcam-клиент должен иметь учётку в oscam.user:

[account]
user                 = client1
password             = clientpass
group                = 1
au                   = 1
cccmaxhops           = 1
cccreshare           = 1
cccignorereshare     = 0

Обратите внимание на group = 1 — он должен совпадать с group reader'ов, карты из которых этот клиент должен получать. Без этого клиент подключится, но карт не увидит.

cccmaxhops, cccreshare и uphops/downhops

Это два разных параметра, которые часто путают, и это важно.

cccmaxhops — сколько хопов карта может пройти, прежде чем OScam её примет или отдаст. Значение 1 означает "только прямые карты". Если ваш источник сам получает карты через несколько хопов, а вы поставили cccmaxhops = 1 — карт не будет.

cccreshare — разрешение клиенту переотдавать вашу линию дальше. 0 — запрещено, 1 — разрешено на один уровень. Для безопасности ставьте 0, если не хотите, чтобы ваши карты расходились неконтролируемо.

Привязка group между reader и user

Логика такая: reader с group = 1 кладёт карты в "корзину" группы 1. User с group = 1 видит эту корзину. Если у reader group = 2, а у user group = 1 — карт не будет, даже если reader работает и карты есть. Простая схема, но она ломает половину установок у новичков.

При нескольких reader с разными CAID удобно назначать разные group и точечно управлять доступом: один user видит только Hotbird-пакет, другой — и Hotbird, и Astra.

Проверка раздачи через веб-интерфейс

Webif OScam по умолчанию доступен на порту 8888 (или 8080 — зависит от сборки). В разделе Status видны все подключённые reader и их статус, в разделе Users — активные клиентские сессии. Если клиент подключился по CCcam, он появится в списке с указанием протокола. Количество карт, которые видит клиент, отображается в колонке Cards.

Диагностика и типичные ошибки подключения

Большинство проблем с cccam in oscam решается чтением лога. Но сначала нужно знать, что именно искать.

Reader в статусе CONNECTED но карт нет (no cards)

Это самая распространённая ситуация. Reader показывает CONNECTED, а в webif в колонке карт — 0. Причин несколько, и они проверяются по порядку.

Первое — проверьте cccmaxhops. Если сервер отдаёт карты с hop 2 или 3, а у вас стоит cccmaxhops = 1, они просто отфильтруются. Временно поставьте cccmaxhops = 99 для теста.

Второе — group. Reader должен быть в той же group, что и запрос на раздачу. Если карты "приходят" в group 2, а обработчики смотрят group 1 — результат нулевой.

Третье — сервер может намеренно не отдавать share. Некоторые сервера настроены так, что по CCcam отдают только при условии cccwantemu = 1 на стороне клиента. Попробуйте включить.

Ошибки в логах: connection error, login failed

login failed почти всегда означает неверный user/password или несовпадение cccversion. Проверьте оба. Некоторые сервера жёстко проверяют version при хендшейке — 2.0.11 и 2.3.0 могут восприниматься по-разному.

connection error или постоянные переподключения — проблема на сетевом уровне: сервер недоступен, порт закрыт фаерволом (вашим или на стороне сервера), или хост резолвится в неверный IP. Проверьте пингом и telnet'ом: telnet my.server.com 12000.

Проблемы с cccmaxhops и пропавшими CAID

Бывает, что часть каналов работает, а другие нет. Это почти всегда вопрос хопов или CAID-фильтров. В webif в разделе reader'а можно посмотреть, какие именно карты он видит. Если нужного CAID там нет — либо сервер его не отдаёт, либо он отфильтрован параметром caid в reader-секции.

Чтение oscam.log и включение debug-уровней

Запустите OScam с расширенным логированием:

oscam -c /usr/local/etc -d 64 -l /tmp/oscam.log

Маска -d 64 включает debug для reader'ов. Полная маска -d 255 даёт всё подряд — полезно, но шумно. В конфиге можно настроить через oscam.conf:

[global]
logfile              = /tmp/oscam.log
loghistorysize       = 4096
debuglevel           = 64

Фильтруйте лог по label reader'а: grep "provider_main" /tmp/oscam.log. Ищите строки с login, CONNECTED, cards — там вся история подключения.

Проверка портов и фаервола (iptables)

Проверка, что OScam слушает нужный порт:

netstat -tulpn | grep 12000

Или через ss, если netstat недоступен:

ss -tulpn | grep 12000

Добавить правило iptables для входящих подключений клиентов:

iptables -A INPUT -p tcp --dport 12000 -j ACCEPT

Если OScam за NAT, клиентам нужен внешний IP, а не внутренний. Проброс порта на роутере: внешний 12000 → внутренний IP:12000. В C-line, которую выдаёте клиентам, указывайте внешний IP или домен, а не 192.168.x.x.

Как выбрать источник C-line: критерии без рекламы

Реализация cccam in oscam — это техническая часть. Но качество работы на 50% зависит от качества самой C-line. Вот на что смотреть при оценке источника.

Стабильность аптайма и пинг до сервера

Пинг до сервера должен быть ниже 100 мс для комфортной работы. При 200+ мс зэппинг между каналами будет заметно медленнее. Проверить просто: ping my.server.com. Аптайм должен быть выше 99% — всё ниже означает регулярные просадки в прайм-тайм.

Тестовый период — обязательное условие нормального провайдера. Несколько дней достаточно, чтобы оценить стабильность в разные временные промежутки: ночь, утро, вечер пятницы — нагрузка разная.

Число хопов и локальные карты

Чем меньше хопов — тем быстрее ответ на ECM-запрос. Идеал — hop 0 (локальная карта непосредственно в сервере) или hop 1. При hop 3+ задержки накапливаются, и некоторые каналы начинают моргать.

В webif OScam в разделе reader'а видно, с каким hop пришли карты. Это хорошая диагностика качества источника уже после подключения.

Поддержка нужных CAID и пакетов

Перед подключением уточните, какие именно CAID поддерживаются. Популярные: 0x0500 (Viaccess), 0x0600 (Irdeto), 0x0B00 (Conax), 0x0D00 (CryptoWorks), 0x0E00 (PowerVU), 0x1800 (Nagravision), 0x0100 (Seca). Если нужного CAID нет — остальные параметры не важны.

Также уточните, поддерживается ли нужный пакет на конкретном транспондере. CAID может быть, но пакет — нет.

Прозрачность условий и тестовый период

Хороший признак — когда провайдер заранее указывает ограничения: количество одновременных подключений, допустимое число хопов для реshare, политику по EMM. Это означает, что условия чёткие и неожиданностей будет меньше.

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

Частые вопросы

Использует ли OScam файл CCcam.cfg?

Нет. OScam не читает CCcam.cfg и не умеет его импортировать. Строку C-line нужно вручную разобрать и внести в reader-секцию файла oscam.server: host и порт в параметр device, логин в user, пароль в password, и обязательно protocol = cccam.

Какой порт по умолчанию для CCcam в OScam?

Жёсткого стандартного порта нет. Де-факто в сообществе принят порт 12000, но OScam позволяет поставить любой. Порт задаётся параметром port в секции [cccam] файла oscam.conf (для раздачи) и должен совпадать с портом в C-line и правилах фаервола.

Reader показывает CONNECTED, но карт ноль — почему?

Чаще всего виноват cccmaxhops — если карты приходят с хопом выше указанного, они отфильтровываются. Второй кандидат — несовпадение group между reader и user. Третий — сервер не раздаёт share по умолчанию, попробуйте cccwantemu = 1. Уберите все CAID/ident-фильтры на время диагностики.

Что означает cccversion и почему важно его указывать?

Это версия протокола CCcam, которую OScam объявляет при хендшейке с сервером. Если версия не совпадает с тем, что ожидает сервер, вы получите login failed или нестабильную работу. Пробуйте 2.3.0 как наиболее распространённую, или уточняйте у провайдера. Несовпадение 2.0.11 против 2.3.0 — реальная причина отказов.

Чем отличаются cccmaxhops и cccreshare?

cccmaxhops — это фильтр глубины: сколько хопов карта может пройти, чтобы OScam её принял или передал дальше. cccreshare — это разрешение: может ли клиент переотдавать вашу линию другим. Первый влияет на то, какие карты вы видите. Второй — на то, как далеко они расходятся от вас. Для безопасности ставьте cccreshare = 0 для клиентов, которым вы не доверяете ретрансляцию.

Как включить подробное логирование для отладки CCcam-ридера?

Запустите OScam с флагом -d 64 для debug reader'ов, или -d 255 для полного вывода. Лог пишется в файл, указанный через -l /path/to/oscam.log или параметр logfile в oscam.conf. Фильтруйте по label reader'а: grep "mylabel" /tmp/oscam.log — ищите строки с login, CONNECTED, cards received.

Практические советы для стабильного просмотра

Даже самая стабильная линия 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 или внешние мониторы.