/

Настройка CCcam и OScam: полное руководство 2026

Главная Статьи Настройка CCcam и OScam: полное руководство 2026

Дата публикации

07.06.2026

Настройка CCcam и OScam: полное руководство 2026

Настройка CCcam и OScam на сервере — задача, которая выглядит простой только в теории. На практике сталкиваешься с конфиг-файлами без нормальной документации, загадочными сообщениями в логах и пирами, которые подключаются, но картинка всё равно фризит. Я разберу всё по порядку: реальные пути к файлам, рабочие примеры конфигураций и диагностику конкретных ошибок.

Эта статья рассчитана на тех, кто уже понимает, что такое DVB, имеет рабочий ресивер или Linux-сервер и хочет разобраться в деталях — не читать общие слова, а получить конкретные команды и настройки.

CCcam и OScam: в чём разница и что выбрать

Коротко: CCcam проще настроить за 10 минут, OScam сложнее, но даёт в разы больше контроля. Это не вопрос вкуса — это вопрос того, что именно вам нужно от сервера.

Архитектура CCcam: проприетарный демон

CCcam — это проприетарный бинарник. Исходников нет, активная разработка остановилась много лет назад, последние актуальные версии крутятся где-то около 2.3.x. Конфиг читается из одного файла, синтаксис простой, всё работает из коробки — если ваш случай стандартный.

Проблема в том, что когда что-то идёт не так — а оно идёт — вы смотрите в закрытый чёрный ящик. Логи минимальные, диагностика почти нулевая. Понять, почему конкретная карта не отвечает, по логам CCcam крайне сложно.

OScam: открытый исходный код и гибкость

OScam (Open Source Conditional Access Module) активно поддерживается сообществом. Репозиторий на GitHub регулярно обновляется, есть сборки под Enigma2, OpenPLi, обычный Debian/Ubuntu. Архитектура модульная: отдельно reader (работа с картой), отдельно account (клиентские подключения), отдельно глобальные настройки.

Веб-интерфейс на порту 8888 — это отдельный разговор. Можно в реальном времени видеть ECM time по каждому каналу, статус каждого reader, количество клиентов. Это реально работает и спасает при диагностике.

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

Параметр CCcam OScam
Активная разработка Нет Да
Детализация логов Минимальная Высокая (уровни 0–255)
Поддерживаемые протоколы CCcam, newcamd (частично) CCcam, newcamd, camd35, cs378x, gbox
Веб-интерфейс Нет Есть (порт 8888)
Порог вхождения Низкий Средний
Гибкость reader Низкая Очень высокая

Когда имеет смысл связка CCcam + OScam на одном сервере

Часто встречается такая схема: OScam работает как основной кардридер — читает карту, управляет клиентами, ведёт подробные логи. CCcam при этом запущен параллельно исключительно для совместимости с пирами, которые умеют только CCcam-протокол.

Главное условие — они не должны занимать одни и те же порты. OScam слушает, например, cs378x на 15001, CCcam — свой порт 12000. Конфликта нет, оба работают. Но об этом подробнее в разделе про порты.

Структура и пути конфиг-файлов

Здесь большинство инструкций в интернете бесполезны — дают один путь, а у вас другой образ и всё в другом месте. Разберём реальную картину.

CCcam.cfg: расположение и базовые директивы

Стандартный путь на Enigma2-ресиверах — /var/etc/CCcam.cfg. На некоторых сборках встречается /etc/CCcam.cfg. Файл читается при старте демона, после изменений нужен рестарт.

Минимальный рабочий конфиг выглядит так:

SERVER LISTEN PORT : 12000
USERNAME : myuser
PASSWORD : mypassword
RESHARE : 1
KEEPCONNECTED : 1

# подключение к пиру (C-line)
C: peer.example.com 12000 peeruser peerpass

# локальный файл с картой
F: /var/keys/SoftCam.Key

Директива RESHARE определяет глубину перераздачи: 0 — только ваши карты, 1 — ваши + карты пиров. KEEPCONNECTED удерживает соединение активным.

Файлы OScam: oscam.conf, oscam.server, oscam.user

OScam разделяет конфигурацию на несколько файлов. Это удобно — редактируете только нужный раздел, не трогая остальные.

oscam.conf — глобальные параметры и настройки протоколов:

[global]
logfile                = /tmp/.oscam/oscam.log
maxlogsize             = 1000
preferlocalcards       = 1
saveinithistory        = 1

[cs357x]
port                   = 15000

[newcamd]
port                   = 15001@0102:000000

[webif]
httpport               = 8888
httpuser               = admin
httppwd                = admin123
httprefresh            = 10

oscam.server — настройка reader (физическая карта или удалённый сервер):

[reader]
label                  = local_card
protocol               = internal
device                 = /dev/sci0
caid                   = 0500
detect                 = cd
mhz                    = 357
group                  = 1
emmcache               = 1,3,2

oscam.user — учётные записи клиентов:

[account]
user                   = client1
pwd                    = secretpass
group                  = 1
au                     = 1

Права доступа и кодировка файлов

Это мелочь, которая ломает всё. Файлы с паролями (oscam.user, CCcam.cfg) должны иметь права 600 — только владелец читает и пишет. Остальные конфиги — 644.

chmod 600 /etc/oscam/oscam.user
chmod 644 /etc/oscam/oscam.conf
chown root:root /etc/oscam/*

Кодировка — UTF-8 без BOM. BOM (Byte Order Mark) в начале файла ломает парсинг конфига — OScam тихо падает или игнорирует секцию. Проверить и убрать BOM можно командой file oscam.conf или через nano/vim с явным указанием кодировки. Часовой пояс сервера тоже имеет значение: если он расходится с локальным временем пира на несколько часов — некоторые реализации отклоняют EMM по временной метке.

Где искать конфиги на Enigma2 и на обычном Linux

На Enigma2-боксах пути зависят от образа:

  • OpenPLi, OpenATV: /etc/tuxbox/config/
  • DreamElite, Team Blue: /usr/keys/
  • Стандартный OScam-пакет: /etc/oscam/

На обычном Debian/Ubuntu после установки через apt или сборки из исходников — /etc/oscam/. Если собирали с нестандартным --config-dir, смотрите свой cmake-лог.

Отдельная боль — образы с read-only /etc. После перезагрузки конфиги слетают. Решение: хранить конфиги на /data или другом разделе с записью и делать симлинки, либо добавить монтирование overlay в fstab.

Порты, протоколы и сетевые настройки

Путаница с портами — одна из главных причин, почему настройка CCcam и OScam на сервере превращается в часы отладки. Разберём каждый протокол отдельно.

Протокол CCcam (cccam) и порт 12000

CCcam по умолчанию слушает порт 12000 (TCP). Директива в конфиге — SERVER LISTEN PORT : 12000. Формат C-line для подключения к пиру:

C: hostname_или_IP порт логин пароль
C: 192.168.1.100 12000 user1 pass1

Порт можно менять — никакого технического ограничения нет. Меняют обычно, чтобы избежать автоматического сканирования стандартных портов или разрешить конфликт при совместном запуске нескольких демонов.

Протокол newcamd и порт 15000

Newcamd работает по TCP, стандартный диапазон — 15000–15050. В OScam секция [newcamd] позволяет задать порт с привязкой к конкретному CAID:

[newcamd]
port = 15000@0500:000000;15001@0604:000000
key  = 0102030405060708091011121314

Ключ key — 14-байтный DES-ключ для шифрования соединения. Должен совпадать у сервера и клиента.

cs378x (camd35 over TCP) и UDP-вариант camd35

Camd35 в UDP-варианте работает на порту 34000. Протокол cs378x — это camd35 поверх TCP, порт произвольный, обычно в диапазоне 15000–17000. В OScam:

[cs357x]
port = 15000

[cs378x]
port = 16000

cs378x предпочтительнее для нестабильных соединений — TCP гарантирует доставку пакетов, UDP нет. На хорошем канале разница незаметна.

Проброс портов на роутере и firewall

Если сервер за NAT — нужен проброс портов на роутере. Типовые правила iptables для открытия порта CCcam:

iptables -A INPUT -p tcp --dport 12000 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
iptables -A INPUT -p udp --dport 34000 -j ACCEPT

Для ufw:

ufw allow 12000/tcp
ufw allow 8888/tcp

Проверить, что порт реально слушается:

netstat -tulpn | grep 12000
ss -tulpn | grep oscam

Проверить снаружи: telnet your_external_ip 12000. Если соединение устанавливается — порт открыт. Если Connection refused — либо демон не запущен, либо firewall блокирует.

Отдельный случай — двойной NAT: провайдер даёт серый IP, и проброс портов на вашем роутере ничего не даст, потому что трафик режется ещё на уровне провайдера. Решения: запросить белый IP у провайдера, использовать VPN-туннель (WireGuard, OpenVPN) или rent VPS для ретрансляции. IPv6-only провайдеры добавляют ещё одну проблему — большинство конфигов CCcam/OScam написаны под IPv4, и вам придётся явно прописывать IPv6-адреса и проверять, что демон слушает на ::, а не только на 0.0.0.0.

Пошаговая настройка сервера OScam

Настройка CCcam и OScam на сервере начинается с OScam — он сложнее, но именно он будет делать основную работу в большинстве схем.

Установка и первый запуск демона

На Debian/Ubuntu:

apt update && apt install oscam

Или сборка из исходников (актуальный HEAD с GitHub):

git clone https://github.com/oscam-emu/oscam-emu.git
cd oscam-emu
cmake -DHAVE_DVBAPI=1 -DWITH_LIBUSB=1 .
make -j$(nproc)
cp oscam /usr/local/bin/

Первый запуск с отладкой:

oscam -b -r 2 -c /etc/oscam/

Флаг -b — фоновый режим, -r 2 — уровень логирования. Логи пишутся в /tmp/.oscam/oscam.log (если не переопределено в конфиге). Сразу открывайте лог в отдельном окне: tail -f /tmp/.oscam/oscam.log.

Настройка reader для локальной карты

Физическая смарт-карта в слоте ресивера — это reader типа internal. Для внешнего USB-ридера — тип pcsc или smartreader.

[reader]
label                  = canal_card
protocol               = internal
device                 = /dev/sci0
caid                   = 0500
detect                 = cd
mhz                    = 357
cardmhz                = 357
group                  = 1
emmcache               = 1,3,2
logLevel               = 255

/dev/sci0 — стандартный путь на Enigma2. На Linux с USB-ридером будет /dev/ttyUSB0 или /dev/ttyS0. Если карта не определяется — сначала проверьте ls /dev/sci* и dmesg | tail -20.

Создание учётных записей в oscam.user

[account]
user                   = peer1
pwd                    = strongpass123
group                  = 1,2
caid                   = 0500,0604
au                     = 1
uniq                   = 1
maxau                  = 1

[account]
user                   = localbox
pwd                    = localpass
group                  = 1
au                     = 1

Параметр uniq = 1 запрещает одновременные подключения с одним логином. caid ограничивает доступ конкретными системами условного доступа.

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

Для подключения к удалённому серверу через CCcam-протокол добавьте в oscam.server:

[reader]
label                  = remote_peer
protocol               = cccam
device                 = peer.host.com:12000
user                   = myuser
password               = mypass
caid                   = 0500
group                  = 2
reconnecttimeout       = 30

После рестарта OScam откройте веб-интерфейс: http://server_ip:8888. Раздел "Readers" покажет статус каждого reader. Зелёный — карта отвечает. Раздел "ECM" — время ответа в миллисекундах. Нормальный ECM time для локальной карты — 200–400 мс. Для удалённого пира — зависит от пинга, обычно 400–1500 мс.

Диагностика типичных ошибок

Самое ценное, чего нет в большинстве инструкций — это диагностика по конкретным сообщениям из логов. Вот реальные случаи.

Ошибка connection refused и закрытый порт

Если пир видит connection refused — значит либо демон не запущен, либо порт не слушается, либо firewall режет соединение. Алгоритм проверки:

  1. Убедитесь, что процесс запущен: ps aux | grep oscam
  2. Проверьте, что порт слушается: ss -tulpn | grep 12000
  3. Проверьте правила firewall: iptables -L -n | grep 12000
  4. Попробуйте подключиться с самого сервера: telnet 127.0.0.1 12000

Если локально работает, но снаружи нет — проблема в NAT или firewall провайдера. Если не работает даже локально — смотрите конфиг и логи запуска.

CARD NOT INSERTED и проблемы с reader

Сообщение CARD NOT INSERTED или card unresponsive в логах OScam означает проблему с физическим reader. Частые причины:

  • Неправильный путь к устройству (/dev/sci0 vs /dev/sci1)
  • Неверная частота карты (mhz) — попробуйте 357, 368, 600
  • Карта не поддерживает ATR на данном ридере
  • Права доступа к /dev/sci0 — пользователь oscam должен иметь доступ

Включите максимальный уровень логирования для reader: добавьте logLevel = 255 в секцию [reader] и перезапустите. Лог покажет детали ATR-обмена.

Высокий ECM time и фризы изображения

Фризы — это почти всегда следствие высокого ECM time. Порог, при котором начинаются проблемы — примерно 3000–5000 мс. Причины:

Сетевая задержка до пира. Проверьте пинг: ping peer.host.com. Если RTT больше 100–150 мс — это уже влияет на ECM time. Пинг 300+ мс — гарантированные фризы на плотном потоке.

Перегрузка карты. Одна карта физически не может обработать бесконечное количество ECM-запросов параллельно. Если к вашему серверу подключено много клиентов — смотрите очередь ECM в веб-интерфейсе OScam.

Несовпадение provider ID. Карта отвечает локально, но ECM от конкретного канала отклоняется с ecm rejected. Причина — канал использует provider ID, который не прописан в конфиге reader или в привилегиях аккаунта. Проверьте в логе строки вида CAID: 0500 / PROVIDER: 000011 и добавьте нужный provider в providers в секции reader.

Чтение логов CCcam и OScam

CCcam пишет в /tmp/CCcam.log. Полезная команда для поиска проблемного канала:

grep -i "rejected\|refused\|error" /tmp/CCcam.log | tail -50

Для OScam — поиск по CAID и provider:

grep "0500:000011" /tmp/.oscam/oscam.log | grep -i "reject\|ecm" | tail -30

Включить расширенное логирование в OScam: запустить с -r 255 или изменить logLevel в oscam.conf. Уровень 128 — подробная информация об ECM. Уровень 255 — всё, включая низкоуровневый обмен с картой. На продакшне держите уровень 64–128, иначе лог растёт по несколько мегабайт в час.

Как выбрать надёжного провайдера (без названий)

Настройка CCcam и OScam на сервере — это только техническая часть. Качество сервиса определяется тем, у кого вы берёте линию. Здесь я не буду называть конкретные сервисы — их много, рынок меняется, и любая реклама устаревает раньше, чем статья.

Критерии стабильности: аптайм и ECM time

Хороший провайдер даст вам статистику аптайма за последние 30 дней — минимум 99%. Всё ниже 98% — это уже нестабильно для основного просмотра. ECM time должен быть указан честно: ожидаемые значения для Европы — 300–800 мс, для трансконтинентальных серверов — 800–2000 мс.

Если провайдер не может или не хочет назвать средний ECM time — это плохой знак. Скорее всего, сервер перегружен или карта не их.

Поддерживаемые протоколы и форматы линий

Нормальный провайдер поддерживает минимум два протокола из: CCcam, newcamd, cs378x. Если только один — возникнут проблемы с совместимостью. Уточните, в каком формате выдаётся линия: C-line для CCcam, N-line для newcamd. Нужна полная строка с хостом, портом, логином и паролем — не просто "отправим на email через 3 часа".

Спросите, какие CAID поддерживаются. Для разных спутниковых операторов нужны разные CAID (Viaccess — 0500, Nagravision — 1800, Irdeto — 0604, Cryptoworks — 0D00). Если нужны конкретные пакеты — уточняйте это до оплаты.

Тестовый период и техническая поддержка

48-часовой тест — стандарт нормального сервиса. За это время можно реально проверить стабильность и ECM time в ваших условиях. Если тест не дают вообще или дают только 1–2 часа — скорее всего, сервис знает, что за более долгий тест клиент увидит проблемы.

Техническая поддержка должна отвечать на конкретные технические вопросы: "почему CAID 0500 с provider 000011 даёт ecm rejected?" Если в ответ приходит "перезагрузите ресивер" — это не поддержка.

Признаки ненадёжного сервиса

Красные флаги, которые я видел лично:

  • ECM time стабильно выше 3000 мс в "нормальном" режиме
  • Сервер недоступен в прайм-тайм (20:00–23:00) — классика перегруженного шаринга
  • Порт меняется без предупреждения — карту двигают между серверами
  • Отсутствие мониторинга: вы узнаёте об аутаже только когда картинка пропадает
  • Поддержка реагирует только на жалобы, но не предупреждает о плановых работах

И главный признак перепродажи без гарантий: провайдер не может объяснить, почему конкретный канал не работает. Если у них реальная карта и мониторинг — они это знают.

Часто задаваемые вопросы

Какой порт по умолчанию использует CCcam?

Стандартный порт CCcam — 12000 (директива SERVER LISTEN PORT в CCcam.cfg). Его можно изменить на любой незанятый TCP-порт. Для newcamd стандартный порт — 15000, для cs378x — произвольный TCP, обычно в диапазоне 15000–17000. UDP-вариант camd35 по умолчанию использует порт 34000.

Чем OScam лучше CCcam для сервера?

Несколько причин. Открытый исходный код — OScam активно развивается, CCcam давно заброшен. Гибкое логирование с уровнями от 0 до 255 позволяет диагностировать любую проблему. Веб-интерфейс на порту 8888 даёт реальный мониторинг ECM time и статуса reader. Поддержка большого числа протоколов: CCcam, newcamd, camd35, cs378x, gbox. CCcam проще в базовой настройке, но для серьёзной эксплуатации OScam на голову выше.

Почему пир подключается, но изображение фризит?

Почти всегда — высокий ECM time. Проверьте три вещи: пинг до сервера пира (если больше 150 мс — это уже фактор), ECM time в веб-интерфейсе OScam (нормально — до 1500 мс, фризы начинаются от 3000+), и логи на rejected ECM — возможно, конкретный канал использует provider ID, который не авторизован на этой карте.

Где находится файл конфигурации OScam?

Зависит от образа и сборки. На большинстве Enigma2-боксов — /etc/tuxbox/config/oscam/ или /usr/keys/. На стандартном Linux после установки пакета — /etc/oscam/. Основные файлы: oscam.conf, oscam.server, oscam.user. Если не можете найти — запустите find / -name "oscam.conf" 2>/dev/null.

Как проверить, что порт сервера открыт?

Изнутри: ss -tulpn | grep 12000 или netstat -tulpn | grep 12000 — покажет, слушается ли порт. Снаружи: telnet your_ip 12000 — если соединение установилось, порт доступен. Не забудьте проверить правила iptables и проброс портов на роутере, если сервер за NAT.

Можно ли запускать CCcam и OScam одновременно?

Да, это рабочая схема. Главное условие — разные порты. Типичная конфигурация: OScam работает как основной кардридер и слушает cs378x на порту 15001, CCcam запущен параллельно на порту 12000 для совместимости с пирами, которые поддерживают только CCcam-протокол. Убедитесь, что в конфигах указаны разные порты и нет конфликта по /dev/sci0 — оба демона не могут одновременно работать с одним физическим ридером.

О статье

  • Практические советы и инструкции
  • Материалы по спутниковому ТВ
  • Поддержка и помощь 24/7