Настройка CCcam и OScam сервера в 2026: гайд
Если вы уже установили OScam или CCcam и теперь смотрите на пустой конфиг, не понимая, с чего начать — этот материал для вас. Настройка CCcam сервера на OScam: конфиг, порты, протокол — именно та связка, где большинство людей застревают на несколько часов. Здесь нет воды, только рабочие примеры и объяснение каждого параметра.
Сразу оговорюсь: все C-line в примерах содержат плейсхолдеры вида your.server.host, username, password. Вставлять реальные данные — ваша задача.
Архитектура card sharing: как связаны сервер, reader и клиент
Роли сервера и клиента в схеме CCcam/OScam
Схема простая: есть удалённый сервер с физической картой (или каскадом карт), есть ваш ресивер или Linux-машина, которая к нему подключается как клиент. OScam чаще всего работает как промежуточный слой — он принимает запросы от плеера или тюнера через dvbapi, отправляет ECM-запрос на reader (который и есть ваше подключение к удалённому серверу) и возвращает ключ дешифровки.
CCcam может работать и как сервер, и как клиент одновременно. OScam же более гибкий — он умеет работать с несколькими reader разных типов, расставлять приоритеты по CAID и вести подробный лог.
Чем отличается протокол CCcam от newcamd и mgcamd
CCcam работает на порту 12000 по умолчанию. Newcamd — на 15000. Это два разных протокола с разной структурой пакетов и разным способом аутентификации. CCcam использует собственный бинарный протокол с системой hop (количество ретрансляций от исходной карты), newcamd — более старый протокол, ориентированный на прямое соединение клиент-сервер без понятия hop.
Mgcamd — это отдельный эмулятор/клиент, который умеет работать с newcamd и gbox. В связке CCcam+OScam его обычно не используют. OScam понимает оба протокола через свои reader-типы: cccam и newcamd.
Где физически лежат конфиги: /etc/tuxbox/config, /var/keys, /etc/oscam
Это зависит от платформы. На Enigma2 (OpenATV, OpenPLi, OpenSPA) конфиги OScam обычно лежат в:
/etc/tuxbox/config/oscam/— oscam.conf, oscam.server, oscam.user, oscam.dvbapi/var/etc/oscam/— альтернативный путь на некоторых сборках
На чистом Linux-сервере (Debian, Ubuntu) — стандартный путь /etc/oscam/. CCcam.cfg чаще всего ищите в /etc/CCcam.cfg или /var/keys/CCcam.cfg. Точный путь ConfigDir передаётся при запуске демона через параметр -c /путь/к/конфигам. Проверьте скрипт запуска: cat /etc/init.d/oscam.
Важный момент, который часто игнорируют: конфиг, который нормально работает на Linux-сервере, может не стартовать на Enigma2 именно из-за другого ConfigDir. Демон просто не найдёт файлы и молча упадёт.
Базовая настройка OScam: oscam.conf, server, user и dvbapi
Секция [global] и [dvbapi] в oscam.conf
Файл oscam.conf — точка входа для всего. Минимальная рабочая конфигурация выглядит так:
[global]
logfile = /tmp/oscam.log
debuglevel = 64
maxlogsize = 2000
pidfile = /tmp/oscam.pid
nice = -1
WaitForCards = 1
[dvbapi]
enabled = 1
au = 1
pmt_mode = 0
request_mode = 0
boxtype = dreambox
user = dvbapi
debuglevel = 64 — стандартный уровень для нормальной диагностики. Значение 255 даёт максимум информации, но лог растёт очень быстро. На продакшне ставьте 64 или вообще 0, когда всё работает. boxtype меняйте под свою платформу: dreambox, openxcas, pc и т.д.
Настройка reader в oscam.server (тип cccam, протокол, host, port)
Вот где начинается настройка CCcam сервера на OScam — конфиг, порты, протокол собираются в одном блоке reader:
[reader]
label = my_cccam_reader
protocol = cccam
device = your.server.host,12000
user = username
password = password
group = 1
cccversion = 2.3.0
cccmaxhops = 10
inactivitytimeout = 30
reconnecttimeout = 15
keepalive = 1
Разберём параметры, которые обычно не объясняют:
- inactivitytimeout — сколько секунд ждать до разрыва неактивного соединения. 30 секунд — нормально, ставить меньше 15 не стоит.
- reconnecttimeout — через сколько секунд пытаться переподключиться после обрыва. 15 — разумное значение, 5 — слишком агрессивно.
- keepalive = 1 — держать соединение живым пингами. Без этого на некоторых серверах через несколько минут тишины сессия падает.
- cccversion — версия протокола CCcam. Большинство серверов принимают 2.3.0, некоторые старые — 2.1.4. Если не подключается, попробуйте 2.0.11.
Создание клиента в oscam.user и привязка group
Файл oscam.user нужен, если OScam сам раздаёт доступ другим клиентам или если dvbapi требует авторизации:
[account]
user = dvbapi
password = dvbapi
group = 1
au = 1
betatunnel = 1
Параметр group в oscam.user и group в oscam.server должны совпадать — через эту связку OScam понимает, какой пользователь имеет доступ к какому reader. Распространённая ошибка: reader в group 2, пользователь в group 1 — соединение есть, каналы не открываются.
Включение WebIf для мониторинга на порту 8888
Добавьте в oscam.conf:
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httprefresh = 10
httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255
После рестарта OScam открывайте http://192.168.x.x:8888 в браузере. Здесь видно статус каждого reader, время ECM, количество запросов. Без WebIf диагностировать проблемы вслепую — потеря времени.
Настройка CCcam.cfg: строки C-line, F-line и приоритеты
Синтаксис C-line: host port username password
Формат C-line строгий, пробелы важны:
C: your.server.host 12000 username password
Никаких кавычек, никаких лишних символов. Если в пароле есть пробел — это проблема, переспросите у поставщика. Одна строка = одно подключение к серверу. Можно добавить несколько C-line для fallback.
F-line для раздачи своим клиентам
F-line создаёт учётную запись, по которой другие могут подключаться к вашему CCcam:
F: localclient localpassword 1 0 0 0 { 0:0:2 }
Формат: F: username password reshare группа_каналов флаги { ограничения }. Параметр reshare = 1 разрешает клиенту пересылать карты дальше, 0 — нет. Для локальных клиентов ставьте 0, чтобы карты не утекали.
Параметры CCcam: SERVER LISTEN PORT и WARNING ACOSC
Полный минимальный CCcam.cfg выглядит так:
SERVER LISTEN PORT : 12000
NEWCAMD LISTEN PORT : 15000
C: your.server.host 12000 username password
F: localclient localpassword 1 0 0 0 { 0:0:2 }
SHARE ONLINE CLIENTS : 1
DEBUG : 0
WARNING ACOSC — это предупреждение о конфликте с другим процессом, использующим dvbapi-сокет. Если видите это в логе CCcam, значит на ресивере одновременно запущены и CCcam, и OScam, и оба пытаются захватить /tmp/camd.socket. Один нужно остановить или переключить его на работу через сеть, а не через сокет.
Управление приоритетами CAID через PROVIDER
В CCcam.cfg можно задать приоритет для конкретных CAID:
PRIORITY CAID : 0500
IGNORE CAID : 1800
В OScam это гибче — через oscam.dvbapi можно прописать конкретные комбинации CAID:Provider и направить их на нужный reader. Если у вас два reader и один быстрее для определённого пакета — настраивайте через group и caid в oscam.server.
Диагностика и решение типичных ошибок подключения
Статус reader: CONNECTED, OFFLINE и DISCONNECTED в WebIf
CONNECTED — соединение установлено, reader работает. DISCONNECTED — соединение было, но оборвалось; OScam пытается переподключиться. OFFLINE — соединение не установлено вообще, обычно с момента старта.
OFFLINE сразу после запуска — первым делом проверьте host и port в oscam.server. Потом проверьте, не закрыт ли порт фаерволом на удалённой стороне. CONNECTED, но каналы не открываются — несовпадение CAID или group. Это самая коварная ситуация.
Анализ лога oscam.log и уровней debug (-d)
Смотрите лог в реальном времени:
tail -f /tmp/oscam.log | grep -E "ECM|reader|CAID|ERROR"
Полезные паттерны для grep:
# Только ошибки подключения
grep -i "unable\|failed\|error\|offline" /tmp/oscam.log
# ECM-статусы
grep "ECM" /tmp/oscam.log | tail -50
# Статус reader
grep "my_cccam_reader" /tmp/oscam.log | tail -20
Запуск OScam с повышенным debug из командной строки: oscam -c /etc/oscam -d 255 -b. Флаг -b запускает в background с полным логгированием.
Проблемы ECM/EMM: timeout, no card, rejected
Что значат типичные ошибки в логе:
- no matching reader — нет reader, который поддерживает запрошенный CAID. Проверьте group и CAID в oscam.server, добавьте
caid = 0500явно если нужно. - card not found — reader подключён, но карты с нужным CAID нет. Либо неверный CAID в oscam.dvbapi, либо сервер не имеет нужного пакета.
- ECM timeout — запрос ушёл, ответ не пришёл за отведённое время. Почти всегда сетевая проблема или перегруженный сервер.
- rejected — сервер явно отказал. Скорее всего неверный пароль или превышен лимит подключений по аккаунту.
Проверка портов через netstat, telnet и firewall/iptables
Базовая проверка доступности порта:
telnet your.server.host 12000
Если соединение зависло — порт недоступен. Если сразу пришёл ответ или Connection refused — порт жив, дальше смотрим на аутентификацию.
Проверить, что OScam слушает нужный порт локально:
netstat -tlnp | grep oscam
ss -tlnp | grep 8888
Проблема с NAT встречается часто: порт открыт локально, OScam слушает, но снаружи недоступно. Нужен проброс портов на роутере. Если ваш провайдер (интернет-провайдер, не card sharing) режет входящие соединения на нестандартных портах — смените порт CCcam на что-то вроде 8080 или 443.
# Проверить правила iptables
iptables -L -n | grep 12000
# Открыть порт если закрыт
iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
После обновления образа Enigma2 права на конфиги и бинарники часто слетают. Если OScam не стартует после обновления прошивки:
chmod 644 /etc/tuxbox/config/oscam/*.conf
chmod 755 /usr/bin/oscam
Как выбрать провайдера card sharing: критерии без имён
Этот раздел не про конкретные сервисы — их называть не буду. Про то, на что смотреть при выборе.
Стабильность аптайма и количество хопов до карты
Hop count — количество ретрансляций от исходной физической карты до вас. Hop 1 = карта стоит прямо на том сервере, к которому вы подключаетесь. Hop 2 = сервер сам является клиентом другого сервера. Чем больше хопов, тем выше ECM time и тем нестабильнее соединение.
Нормальный ориентир: hop 1-2 с ECM time до 400 мс — хорошо. Hop 3+ с ECM time 600-800 мс — уже на грани. Выше 800 мс начнутся фризы на каналах с частыми обновлениями ключей.
Поддержка нужных CAID и пакетов
Перед подключением уточните, какие именно CAID поддерживает сервер. CAID — это идентификатор системы шифрования: 0500 (Viaccess), 0604 (Irdeto), 09C4 (NDS/Videoguard) и так далее. Не все серверы имеют карты для всех систем. Если вам нужен конкретный пакет — проверьте CAID до оплаты.
Скорость отклика ECM и местонахождение сервера
Физическое расстояние до сервера напрямую влияет на ECM time. Сервер в той же стране даст пинг 20-30 мс, в Европе при нахождении в СНГ — 60-100 мс. Это ещё терпимо. Сервер на другом континенте — пинг 150-200 мс, и hop 1 уже может давать ECM time 600+ мс. Высокий пинг до сервера в другой стране даёт фризы даже при идеальном hop 1 — физику не обмануть.
Признаки ненадёжного источника
Несколько красных флагов, на которые стоит обратить внимание:
- Обещания "hop 0" — такого не бывает, карта всегда на стороне сервера, минимум hop 1.
- Нет тестового периода или демо-доступа — нормальный сервис даёт 24-48 часов на проверку.
- Аптайм заявлен 99.9%, но нет никакого мониторинга или статус-страницы для проверки.
- Один человек продаёт доступ без какой-либо технической документации по подключению.
- ECM time в рекламе не указан вообще — значит, скрывают.
Настройка CCcam сервера на OScam: конфиг, порты, протокол — половина успеха. Вторая половина — качество источника линий. Хорошо настроенный OScam не вытянет плохой сервер с hop 5 и ECM time 1500 мс.
И ещё момент про два reader на одну карту: если вы добавили два reader с одинаковым CAID для резервирования, OScam будет пытаться балансировать между ними. Это может дать конфликт приоритетов и неожиданный рост ECM time. Используйте параметр cccmaxhops и явно задавайте приоритет через group и порядок reader в oscam.server — первый reader имеет приоритет.
Если нужна отказоустойчивость, правильнее настроить fallback = 1 на втором reader, чтобы он включался только при недоступности первого, а не конкурировал с ним постоянно.
Ещё раз про oscam.dvbapi — файл, который многие вообще не трогают и потом удивляются. Вот минимальный рабочий пример:
P: 0500:032830
P: 0500:007400
P: 0604:000000
Формат: P: CAID:ProviderID. Если этот файл пустой или не соответствует тому, что предоставляет ваш reader — каналы не откроются даже при статусе CONNECTED. Настройка CCcam сервера на OScam: конфиг, порты, протокол будет правильной, а каналы всё равно не пойдут именно из-за несовпадения в oscam.dvbapi.
Какой порт по умолчанию использует CCcam и OScam?
CCcam слушает на порту 12000 (задаётся строкой SERVER LISTEN PORT : 12000 в CCcam.cfg). Newcamd — порт 15000 (NEWCAMD LISTEN PORT : 15000). WebIf OScam по умолчанию на порту 8888, задаётся параметром httpport в секции [webif] файла oscam.conf. Все три порта можно изменить на любые незанятые.
Где находится файл конфигурации OScam?
На Enigma2 — обычно /etc/tuxbox/config/oscam/ или /var/etc/oscam/. На чистом Linux — /etc/oscam/. Основные файлы: oscam.conf, oscam.server, oscam.user, oscam.dvbapi. Точный путь определяется параметром -c при запуске демона — смотрите скрипт /etc/init.d/oscam или systemctl cat oscam.
Почему reader показывает статус OFFLINE в WebIf?
Чаще всего три причины: неверный device (host или port) в oscam.server, порт закрыт фаерволом на стороне сервера, или неправильный username/password. Проверяйте последовательно: telnet your.server.host 12000, потом смотрите oscam.log с debuglevel = 128 — там будет точная причина отказа.
Чем отличается C-line от F-line в CCcam.cfg?
C: — исходящее подключение, ваш CCcam подключается как клиент к удалённому серверу. F: — создаёт учётную запись, по которой другие клиенты могут подключаться к вашему CCcam. Грубо говоря: C-line — это вы берёте карты, F-line — это вы даёте карты.
Что означает высокий ECM time и как его снизить?
ECM time — время в миллисекундах от отправки запроса на декодирование до получения ключа. Выше 800-1000 мс начинаются видимые фризы, особенно на каналах с частыми ECM-обновлениями. Снижается выбором ближнего по географии сервера, уменьшением hop count, отключением лишних reader через group, и явным указанием приоритетного CAID в oscam.server. Два конкурирующих reader на одну карту тоже поднимают ECM time — используйте fallback = 1 на резервном.
Можно ли одновременно использовать CCcam и OScam на одном ресивере?
Да, но нужно правильно распределить роли. Самый распространённый вариант: OScam как основной демон работает с dvbapi (перехватывает запросы тюнера), а CCcam настроен как reader в oscam.server с протоколом cccam. Главное — не допустить конфликта по dvbapi-сокету /tmp/camd.socket: только один процесс должен его захватывать. Если видите WARNING ACOSC в логе CCcam — именно это и происходит.