Настройка 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 или внешние мониторы.