Настройка CCcam и OScam: конфиги и порты 2026
Если ты уже установил эмулятор на ресивер или Linux-сервер и теперь смотришь на пустой конфиг, не понимая, с чего начать — эта статья для тебя. Настройка CCcam и OScam на сервере: конфиг, порты, протокол — тема, которую большинство гайдов разбирает поверхностно. Здесь будет конкретика: реальные пути, реальные команды, реальный разбор ошибок.
Без воды. Поехали.
CCcam vs OScam: чем отличаются и что выбрать
CCcam — закрытый бинарник, который появился ещё в середине 2000-х и долгое время был стандартом де-факто для Enigma2-ресиверов. Простой в настройке, работает из коробки. Но разработка фактически остановилась, последняя версия 2.3.x вышла несколько лет назад и с тех пор ничего нового.
OScam — другой разговор. Open-source, активный форк на GitHub, поддерживает кучу протоколов: cccam, newcamd, gbox, radegast, cs378x. Настраивается гибко до уровня отдельного reader'а или аккаунта. Это и плюс, и минус одновременно — порог входа выше.
Архитектура и поддерживаемые протоколы
CCcam работает по собственному закрытому протоколу. Клиент подключается к серверу по C-линии, всё. Никаких дополнительных опций по протоколу — только CCcam over TCP, порт 12000 по умолчанию.
OScam внутри строится на модулях. Каждый reader — это отдельная секция в oscam.server с явным указанием протокола: protocol = cccam, protocol = newcamd, protocol = cs378x. На одном сервере можно одновременно держать readers по разным протоколам к разным источникам. Это реально удобно.
Когда оправдан CCcam, а когда OScam
CCcam берёшь, когда нужно быстро поднять простую схему, источник даёт только C-линию, и возиться с конфигами нет времени. На старых Dreambox 500/800 он часто работает стабильнее именно из-за меньшего потребления ресурсов.
OScam выбирай, если источник даёт newcamd-линии, нужна тонкая настройка приоритетов, лимитов, фильтрация по CAID/провайдеру. Или если ты поднимаешь серверную часть сам и хочешь контролировать каждого подключённого клиента через oscam.user.
Совместимость с ресиверами Enigma2 и Linux
На Enigma2-прошивках (OpenATV, OpenPLi, OpenSPA) оба эмулятора устанавливаются через feed — пакеты enigma2-plugin-softcams-cccam и enigma2-plugin-softcams-oscam. На чистом Linux (Ubuntu, Debian, Raspberry Pi) — собираешь OScam из исходников или берёшь готовый бинарник с репозитория OScam.eu.
Важный момент: на одном ресивере не запускай оба одновременно. Конфликт cam-эмуляторов даст постоянные фризы или вообще чёрный экран — они будут делить DVB API и мешать друг другу. Выбери один.
Структура и пути конфигурационных файлов
Первая проблема, с которой сталкиваются новички — не понимают, где вообще лежат конфиги. Пути отличаются в зависимости от прошивки и дистрибутива.
CCcam.cfg: основные директивы и формат C-линий
На Enigma2 (OpenATV, OpenPLi) конфиг обычно лежит по адресу /etc/CCcam.cfg. На некоторых образах — /var/etc/CCcam.cfg. Проверь командой:
find / -name "CCcam.cfg" 2>/dev/null
Формат C-линии для подключения к удалённому серверу:
C: hostname 12000 username password
Здесь: hostname — IP или доменное имя сервера, 12000 — порт (стандартный), username и password — данные от провайдера. Никаких лишних символов, никаких пробелов в конце строки — CCcam это не прощает.
Основные директивы в CCcam.cfg:
SERVERPORT: 12000— порт, на котором CCcam слушает входящие подключения (если ты сам сервер)RESHARE: 0— глубина ресшара (0 = не ресшарить)LOGFILE: /tmp/cccam.log— путь к лог-файлуWEBINFO LISTEN PORT: 16001— порт веб-интерфейсаALLOW REBOOT: 0
N-линии (если ты раздаёшь клиентам) выглядят так:
N: clienthostname 12000 username password 01 02 00 00 00 00 00 00 00 00 00 00 00 00
OScam: oscam.conf, oscam.server, oscam.user, oscam.dvbapi
OScam использует несколько файлов вместо одного. Это поначалу раздражает, потом понимаешь логику.
oscam.conf — главный файл, секция [global]:
[global]
logfile = /var/log/oscam.log
maxlogsize = 512
preferlocalcards = 1
saveinithistory = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = admin123
httprefresh = 10
oscam.server — настройка каждого reader'а. Пример для CCcam-источника:
[reader]
label = my_cccam_source
protocol = cccam
device = hostname,12000
user = username
password = password
cccversion = 2.3.0
cccmaxhops = 1
reconnecttimeout = 30
group = 1
Пример для newcamd:
[reader]
label = my_newcamd_source
protocol = newcamd
device = hostname,15001
key = 0102030405060708091011121314
user = username
password = password
group = 1
oscam.user — аккаунты клиентов, которые подключаются к твоему серверу:
[account]
user = client1
pwd = clientpass
group = 1,2
au = 1
monlevel = 0
maxconnections = 1
oscam.dvbapi — настройка взаимодействия с DVB API для декодирования:
[dvbapi]
enabled = 1
au = 1
pmt_mode = 0
request_mode = 0
Где лежат конфиги на Enigma2 и в /usr/local/etc
Зависит от прошивки. Вот реальная карта путей:
| Прошивка / система | Путь конфигов OScam |
|---|---|
| OpenATV 7.x | /etc/tuxbox/config/oscam/ |
| OpenPLi 9.x | /etc/oscam/ |
| OpenSPA 8.x | /etc/tuxbox/config/oscam/ |
| Linux (вручную) | /usr/local/etc/oscam/ или /etc/oscam/ |
| Older OE-based images | /var/etc/oscam/ |
Если конфиги лежат не там, где ты ожидаешь, запусти OScam с флагом -c чтобы явно указать путь: oscam -c /my/config/path/. Это убивает половину проблем с "не видит конфиг".
Порты, протоколы и сетевая настройка
Сетевая часть — где ломается большинство настроек. Здесь нужна аккуратность. Настройка CCcam и OScam на сервере: конфиг, порты, протокол требует понимания не только какой порт открыть, но и как именно трафик до него доходит.
Порт 12000 для CCcam и WebInfo
CCcam по умолчанию слушает на порту 12000 (TCP). Это серверный порт — открывать его нужно только если ты раздаёшь линии клиентам. Если ты только клиент (подключаешься к чужому серверу), входящие подключения на 12000 тебе не нужны.
WebInfo-интерфейс — отдельный порт, задаётся директивой WEBINFO LISTEN PORT: 16001 в CCcam.cfg. По умолчанию он может быть отключён. Чтобы увидеть статус соединений в браузере, открывай http://ip-ресивера:16001.
Для OScam веб-интерфейс задаётся в oscam.conf через httpport = 8888. По умолчанию слушает на всех интерфейсах — в продакшне лучше добавить httpbindaddr = 127.0.0.1 если внешний доступ не нужен.
Протокол newcamd и его порты
Newcamd — один из старейших протоколов кардшаринга, но всё ещё распространён. Работает по TCP, порт выбирается произвольно на стороне сервера, чаще всего это диапазон 15000–15010.
Ключевой параметр newcamd — 14-байтный DES-ключ (key в oscam.server). Стандартный ключ по умолчанию: 0102030405060708091011121314. Если сервер использует другой ключ — подключение будет устанавливаться, но аутентификация упадёт. Это частая причина "линия подключается, но не работает".
В OScam для newcamd-сервера (если раздаёшь клиентам сам) добавь в oscam.conf:
[newcamd]
key = 0102030405060708091011121314
port = 15001@CAID:providID
Формат port = 15001@0500:000000 означает: порт 15001 для CAID 0x0500. Каждый CAID — отдельный порт.
Проброс портов на роутере и firewall
Если сервер стоит за NAT (а обычно так и есть), нужен проброс порта на роутере. Для CCcam: TCP 12000 → внутренний IP ресивера/сервера. Для OScam: пробрасываешь конкретный порт из oscam.server.
Правила iptables для сервера:
# Открыть порт CCcam
iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
# Открыть порт OScam WebIF
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
# Сохранить
iptables-save > /etc/iptables/rules.v4
Для ufw проще:
ufw allow 12000/tcp
ufw allow 8888/tcp
ufw reload
Есть одна неочевидная проблема: двойной NAT у провайдера. Некоторые ISP (особенно мобильные операторы на 4G/LTE) выдают "серые" IP — ты думаешь, что пробросил порт, но трафик всё равно не доходит, потому что снаружи стоит ещё один NAT провайдера. Проверь свой внешний IP через curl ifconfig.me и сравни с тем, что видит роутер. Если не совпадают — нужно либо VPN, либо обращаться к провайдеру за белым IP.
Блокировка портов мобильным оператором — отдельная история. Многие операторы блокируют нестандартные входящие порты. Порт 12000 часто попадает под блокировку. Выход: туннелировать через порт 443 или 80 (они почти никогда не блокируются), либо использовать VPN.
Диагностика и устранение типовых ошибок
Большинство проблем решаются чтением логов. Не гугли симптомы — сначала открой лог.
Линия подключается, но нет картинки (ECM не проходит)
Это самая распространённая ситуация. Соединение есть, WebInfo показывает линию зелёной, но канал не открывается. Причины по частоте:
1. Высокий hop (ресшар далеко от источника). Каждый hop добавляет задержку. При hop 3+ ECM-запрос просто не успевает вернуться в таймаут. В CCcam ищи в логе строки типа ECM time: 4500ms — всё что больше 3000ms уже проблема. В oscam.server ставь cccmaxhops = 1 чтобы брать только локальные карты и hop 1.
2. Рассинхрон времени. Это убивает многие протоколы дешифровки. NTP обязателен. На Enigma2: ntpdate -u pool.ntp.org. Потом добавь в cron:
*/30 * * * * ntpdate -u pool.ntp.org > /dev/null 2>&1
3. Нужный CAID отсутствует у провайдера. Открой лог OScam и найди строку no matching reader for ECM — это означает, что ни один reader не может обработать этот CAID. Проверь, что твой источник реально держит нужный пакет.
4. Неверный протокол на reader. Если источник работает по newcamd, а ты прописал protocol = cccam — подключение может установиться (TCP handshake пройдёт), но дешифровка не работает.
Status: OFF / connection error в WebInfo
CCcam WebInfo показывает "Status: OFF" для линии. Причины:
- Порт закрыт на сервере источника или у тебя в firewall
- Неверный hostname/IP в C-линии — особенно если провайдер сменил сервер
- Неверный username или password (case-sensitive)
- Сервер источника недоступен (проверь
ping hostnameиtelnet hostname 12000) - Превышен лимит подключений на аккаунт
Команда для быстрой проверки доступности порта:
timeout 5 bash -c "echo > /dev/tcp/hostname/12000" && echo "OPEN" || echo "CLOSED"
Чтение логов CCcam и OScam
Для CCcam лог обычно в /tmp/cccam.log или по пути из конфига. Смотреть в реальном времени:
tail -f /tmp/cccam.log
Для OScam — лог задаётся в oscam.conf. Включи детальный вывод через WebIF: Config → Logging, установи logfile и loglevel = 64 (максимум для отладки). В продакшне ставь loglevel = 4 чтобы не заспамить диск.
Смотреть лог OScam:
tail -f /var/log/oscam.log | grep -E "ECM|reader|CAID"
Проверить, что сервер реально слушает нужные порты:
# Современный способ (предпочтительно)
ss -tlnp | grep -E "12000|8888|15001"
# Классический
netstat -tlnp | grep oscam
Если порт не появляется в выводе — процесс либо не запущен, либо упал при старте. Проверь ps aux | grep oscam и смотри начало лога на ошибки парсинга конфига.
Критерии выбора надёжного источника линий
Допустим, ты разобрался с настройкой CCcam и OScam на сервере: конфиг, порты, протокол — всё по инструкции, но картинка всё равно фризит. Проблема может быть не в твоей конфигурации, а в качестве источника.
На что смотреть: аптайм, ping и стабильность
Нормальный ping до сервера источника — до 50ms. При 100ms+ будут периодические фризы на зашифрованных каналах с коротким ECM-интервалом (некоторые каналы обновляют ключи каждые 5-10 секунд). При 200ms+ — это уже почти гарантированные артефакты.
Аптайм провайдера — смотри на реальную статистику, а не на маркетинговые "99.9%". Хороший показатель: сервер не уходил в даун дольше 30 минут за последние 30 дней. Проверить это можно только по собственному опыту или отзывам — других способов нет.
Количество hop должно быть минимальным. Идеал — hop 0 (локальная карта на сервере провайдера). Hop 1 — приемлемо. Hop 2 — уже риск задержек. Hop 3 и выше — красный флаг.
Локальные карты vs решары
Локальная карта означает, что физическая смарт-карта вставлена в картридер сервера провайдера. ECM-запрос обрабатывается прямо там. Это быстро, стабильно, независимо от третьих сторон.
Ресшар (reshare) — это когда провайдер сам является клиентом другого сервера и перепродаёт линии. Цепочка: ты → провайдер → другой провайдер → локальная карта. Каждое звено добавляет задержку и точку отказа. Если среднее звено упадёт — падает всё.
Определить ресшар самостоятельно сложно, но в OScam лог покажет hop count для каждого ECM. В CCcam WebInfo смотри на поле "Hop" в таблице статуса — если там не 0 и не 1, это ресшар.
Признаки нестабильного источника
Вот конкретные симптомы, которые говорят о плохом источнике, а не о проблемах с твоей конфигурацией:
- ECM-время скачет: то 200ms, то 3500ms без изменений с твоей стороны
- Фризы строго в прайм-тайм (19:00–23:00) — сервер перегружается под нагрузкой
- Одни каналы работают, другие нет — неполный набор CAID/провайдеров
- Периодические дисконнекты каждые несколько часов
- Лог показывает
card not foundна каналах, которые должны работать
Если видишь эти признаки после того, как убедился, что твоя настройка CCcam и OScam на сервере: конфиг, порты, протокол — корректна, проблема на стороне источника. Время менять провайдера.
Частые вопросы
Какой порт по умолчанию использует CCcam?
CCcam слушает на порту 12000 (TCP) — это серверный порт для входящих клиентов. WebInfo-интерфейс задаётся отдельно директивой WEBINFO LISTEN PORT: 16001 в CCcam.cfg. Порты можно менять, но 12000 — стандарт, который поддерживают почти все источники линий.
Где находится файл CCcam.cfg?
На большинстве Enigma2-ресиверов — /etc/CCcam.cfg. На некоторых образах, включая старые DreamElite и VTi — /var/etc/CCcam.cfg. Если не знаешь точно, запусти find / -name "CCcam.cfg" 2>/dev/null — найдёт за секунды.
Чем OScam лучше CCcam?
OScam — open-source с активной разработкой. Поддерживает несколько протоколов одновременно (newcamd, cccam, gbox, cs378x), позволяет настроить каждый reader и аккаунт индивидуально, имеет удобный WebIF с реальной статистикой ECM. CCcam проще в настройке, но фактически заморожен и поддерживает только собственный протокол.
Почему линия подключается, но нет изображения?
ECM-запрос не проходит. Самые частые причины: высокий hop (больше 1-2), нужного CAID нет у источника, рассинхрон системного времени (нужен NTP), неверно указан протокол в oscam.server, или 14-байтный ключ newcamd не совпадает с сервером. Смотри лог — tail -f /var/log/oscam.log покажет конкретную причину.
Как проверить, что сервер слушает нужный порт?
Команда ss -tlnp | grep 12000 — покажет, слушает ли процесс на порту 12000. Для более старых систем: netstat -tlnp | grep oscam. Если порта нет в выводе — процесс не запущен или упал. Дополнительно проверь firewall: iptables -L -n | grep 12000 или ufw status.
Что означает Status: OFF в WebInfo?
Reader недоступен. Либо порт закрыт на стороне источника, либо неверные данные в C-линии (hostname, порт, логин, пароль — всё case-sensitive), либо хост источника вообще недоступен. Проверь командой telnet hostname 12000 — если не подключается, проблема сетевая, а не в конфиге.