CCcam и OScam: настройка, отличия и конфиги
Если вы поднимаете собственный сервер шаринга или разбираетесь, почему перестал работать декодер — рано или поздно упрётесь в выбор между cccam oscam. Оба решения живут уже больше десяти лет, но отличаются кардинально по архитектуре, гибкости и сложности настройки. Эта статья — для тех, кто уже держал в руках ресивер на Enigma2, знает что такое Dreambox или VU+, и хочет разобраться не по верхам, а с реальными конфигами и диагностикой.
CCcam и OScam: в чём ключевая разница
Коротко: CCcam — закрытый бинарник с простой настройкой и одним протоколом. OScam — открытый исходник с поддержкой десятка протоколов, читалок карт и гибкой фильтрацией. Первый проще поднять за пять минут. Второй — настоящая рабочая лошадка для серьёзных конфигураций.
Архитектура и принцип работы каждого softcam
CCcam работает как монолитный демон: один процесс, один конфигурационный файл, одна точка подключения клиентов. Весь функционал зашит внутри — вы либо принимаете его как есть, либо нет. Последняя версия 2.3.0 вышла давно, и с тех пор разработка фактически заморожена.
OScam устроен иначе. Это модульная система: отдельные читалки (readers), отдельные аккаунты пользователей, отдельные правила dvbapi. Каждый читалок независим — упал один, остальные продолжают работать. Плюс OScam умеет держать локальную физическую карту в USB-ридере (через PCSC или phoenixreader) и одновременно раздавать её по сети.
Типичный сценарий: OScam работает как сервер с локальной картой или сетевыми линиями, а CCcam — как клиент на другом ресивере, подключённый к этому серверу. Или наоборот: CCcam-сервер на одной машине, OScam-клиент на другой, подключённый по протоколу cccam.
Поддержка протоколов: CCcam, newcamd, cs357x, cs378x
CCcam знает только свой собственный протокол — тот самый, который работает на порту 12000 по умолчанию. Всё.
OScam поддерживает cccam (reader и server), newcamd, cs357x, cs378x, gbox, radegast, scam и ещё несколько. Это означает, что вы можете подключить OScam-сервер к CCcam-серверу выше по цепочке, принять линию по newcamd от одного провайдера, принять по cccam от другого — и раздавать всё это вниз по cs378x. Такая гибкость у CCcam просто недостижима.
Потребление ресурсов и стабильность на слабых приставках
На старых Dreambox 500S с 64 МБ RAM разница ощутима. CCcam потребляет меньше памяти в покое — порядка 4–6 МБ RSS. OScam в минимальной конфигурации — 8–12 МБ, но при большом числе читалок и пользователей может уйти выше. На современных ресиверах типа VU+ Uno или Octagon это уже не проблема.
По стабильности OScam выигрывает — при правильной настройке он работает неделями без рестарта. CCcam иногда уходит в зависание при определённых сценариях переподключения, особенно при нестабильном интернете.
Когда выбирать CCcam, а когда OScam
CCcam — если нужно быстро подключить одну линию и не хочется разбираться с конфигами. Буквально одна строка в файле, и всё работает.
OScam — если нужна локальная карта, несколько источников с приоритетами, фильтрация по caid/provid, мониторинг через веб-интерфейс, или если вы хотите понимать, что именно происходит с каждым ECM-запросом. Для серьёзной работы — только OScam.
Установка и структура конфигурационных файлов
Здесь конкуренты обычно дают два-три абзаца без единого реального пути. Давайте разберём конкретно.
Пути к конфигам: /etc/CCcam.cfg и /etc/tuxbox/config/oscam/
Для CCcam конфигурационный файл один: /etc/CCcam.cfg. Он же — единственная точка входа. Логи обычно пишутся в /tmp/CCcam.log.
Для OScam ситуация зависит от образа прошивки. На OpenPLi и OpenATV стандартный путь — /etc/tuxbox/config/oscam/. На некоторых нестандартных образах конфиги лежат в /etc/oscam/ или даже в /usr/keys/oscam/. Перед настройкой обязательно проверьте, где именно ваш бинарник ищет конфиги: запустите oscam --help или посмотрите строку запуска в init-скрипте.
На OpenATV 7.x путь обычно /etc/tuxbox/config/oscam/. На OpenPLi 9.x — тот же. На нестандартных сборках типа OpenVIX или EGAMI — нередко /etc/oscam/. Держите это в голове, если копируете конфиги с одного образа на другой.
Базовые файлы OScam: oscam.conf, oscam.server, oscam.user, oscam.dvbapi
Минимальный рабочий oscam.conf выглядит так:
[global]
logfile = /tmp/oscam.log
maxlogsize = 200
preferlocalcards = 1
saveinithistory = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = mypassword
httprefresh = 10
[dvbapi]
enabled = 1
au = 1
pmt_mode = 0
request_mode = 0
boxtype = dreambox
Файл oscam.server описывает читалки — откуда берём карты или линии:
[reader]
label = my_cline
protocol = cccam
device = server.example.com,12000
user = myuser
password = mypass
caid = 0500,1810
group = 1
ccmaxhops = 2
Файл oscam.user описывает клиентов, которым OScam раздаёт:
[account]
user = client1
pwd = clientpass
group = 1
caid = 0500
au = 1
uniq = 0
Файл oscam.dvbapi — это маппинг и приоритеты для декодирования. Без него OScam не будет автоматически декодировать каналы через dvbapi. Подробнее о нём — в разделе про ошибки.
Установка через feed/IPK на Enigma2 и компиляция из исходников
На Enigma2 самый простой путь — установка через менеджер плагинов или командой opkg install oscam из репозитория образа. Версия из репозитория OpenATV на момент 2026 года обычно свежая, но может не включать все модули (например, без поддержки PCSC).
Если нужна кастомная сборка — с нужными модулями и оптимизацией под конкретный процессор — компилируется из исходников с GitHub. Сборочная команда минимальная:
cmake -DWEBIF=1 -DREAD_SECA=1 -DPROTOCOL_CCCAM=1 -DPROTOCOL_NEWCAMD=1 ..
make -j4
Права доступа и автозапуск через init/systemd
Бинарник OScam должен иметь права на исполнение и (если работает с физическими картами) доступ к устройствам /dev/ttyUSB* или /dev/pcsc. На Enigma2 автозапуск обычно через /etc/init.d/oscam — скрипт ставится автоматически при установке через opkg.
На обычном Linux-сервере — systemd-юнит в /etc/systemd/system/oscam.service с Restart=on-failure и RestartSec=5. Не забудьте systemctl enable oscam.
Настройка соединения клиент-сервер
Вот где большинство туториалов дают формат без объяснения каждого параметра. Разберём построчно.
Строка C-line: формат host port user pass
В CCcam.cfg строка подключения к серверу выглядит так:
C: hostname.server.com 12000 myusername mypassword
Пробелы между полями обязательны. Порт 12000 — стандартный для протокола CCcam, но сервер может использовать любой другой. Если у вас несколько линий — каждая на отдельной строке. Порядок имеет значение: при недоступности первой CCcam пробует следующую.
Параметр reshare в CCcam.cfg определяет, насколько глубоко вы раздаёте карты своим клиентам. RESHARE: 1 означает только прямое шаринг, без дальнейшей передачи. Высокий hop (3–5 и выше) — признак перепроданной цепочки, и именно он убивает ECM time.
Настройка newcamd-линии и обмен ключами DES
Newcamd-линия в CCcam.cfg:
N: hostname.server.com 15000 myuser mypassword 01 02 03 04 05 06 07 08 09 10 11 12 13 14
Последние 14 байт — это DES-ключ. Он должен совпадать на клиенте и сервере — иначе подключение не установится вообще, без каких-либо осмысленных ошибок в логе. Именно поэтому проблемы с DES часто выглядят как "линия есть, но карты нет".
Ещё один тонкий момент: newcamd передаёт ровно одну карту на линию. В отличие от CCcam-протокола, где одно соединение может нести дерево reshare с десятками карт. Если сервер раздаёт несколько caid — на каждый нужна отдельная N-линия.
И обязательно проверьте NTP. Если часы на клиенте и сервере расходятся больше чем на несколько минут — DES-хендшейк может падать со случайными ошибками. На Enigma2 NTP-синхронизация включается в настройках системы; убедитесь, что она работает.
Проброс портов на роутере и работа за NAT
Если CCcam-сервер работает в локальной сети — нужен проброс порта 12000 (или вашего) на роутере. Стандартная схема в веб-интерфейсе роутера: External Port 12000 → Internal IP 192.168.1.x → Internal Port 12000, протокол TCP.
Сложнее с двойным NAT — когда провайдер сам даёт вам серый IP (CGNAT). В этом случае проброс портов с роутера просто не работает: ваш публичный IP принадлежит провайдеру, не вам. Варианты выхода: VPN с выделенным IP, reverse tunnel через VPS (например, ssh -R 12000:localhost:12000 user@vps), или запрос у провайдера выделенного адреса (платно, но надёжно).
При работе за NAT без проброса клиенты извне не достучатся до вашего сервера. Никакой магии тут нет.
Проверка статуса через веб-интерфейс и логи
Веб-интерфейс OScam открывается по адресу http://IP-приставки:8888. Там видно: какие читалки подключены, сколько ECM-запросов обработано, время ответа по каждому читалку, список подключённых клиентов. Это первое место, куда смотреть при проблемах.
Логи в реальном времени: tail -f /tmp/oscam.log. Каждая строка — событие. Успешный ECM выглядит примерно так:
2026/03/15 14:22:01 c (ecm) username caid 0500 provid 000000 srvid 1234 ecm time 450 ms OK
450 мс — нормально. 2000+ мс — проблема. "NO CARD" вместо "OK" — карта не нашлась вообще.
Диагностика и устранение типичных ошибок
Большинство проблем с cccam oscam попадают в четыре категории. Разберём каждую с реальными причинами, а не общими советами.
Ошибка no card / no matching reader
Это самая частая ошибка в OScam. В логе она выглядит как no matching reader или no card для конкретного caid/provid/srvid.
Причины по порядку проверки:
- Читалок с нужным caid нет вообще — проверьте секцию
[reader]в oscam.server, параметрcaid - Читалок с нужным caid есть, но группы не совпадают — у reader'а group = 1, а у account group = 2. Это молчаливый фейл.
- Параметр
identв reader'е слишком строгий — вы указали конкретный provid, а канал приходит с другим - Читалок есть, но он не подключён — смотрите статус в веб-интерфейсе, вкладка Readers
Долгое время ECM и фризы изображения
ECM time выше 1000–1500 мс — и изображение начинает фризить каждые несколько секунд. Причины:
Высокий hop. Если ваша карта пришла через цепочку reshare длиной 4–5 узлов — каждый узел добавляет задержку. Нормальный hop — 1–2. Три и выше — уже подозрительно, четыре и более — почти гарантированные фризы.
Перегруженный сервер. Сервер с сотнями клиентов и одной картой физически не успевает обрабатывать все ECM-запросы. Следствие — очередь и рост времени ответа.
Плохой пинг. Проверьте: ping hostname.server.com. Пинг выше 100–150 мс уже влияет на качество, выше 300 мс — почти гарантированные проблемы с HD-каналами.
Проблемы с dvbapi и неверным caid/provid
Файл oscam.dvbapi (лежит в той же папке, что и остальные конфиги OScam) определяет, как OScam взаимодействует с демультиплексором приставки. Если файл пустой или отсутствует — OScam попытается декодировать всё подряд, что часто приводит к конфликтам.
Минимальный пример oscam.dvbapi:
P: 0500:000000
P: 1810:000000
I: 0B00:000000
Строки P: — приоритет (priority), I: — игнорировать. Если канал использует caid 0500 с provid 020810, а у вас в файле стоит 0500:000000 — иногда это работает (000000 = любой provid), иногда нет, зависит от версии OScam. При проблемах — пишите конкретный provid.
На одном транспондере могут быть каналы с разными caid одновременно. OScam смотрит oscam.dvbapi сверху вниз и берёт первый подходящий приоритет. Поставьте более надёжный/локальный caid выше.
Анализ логов: rc-коды и таймауты
OScam использует rc-коды для описания результата ECM-запроса:
| rc-код | Значение |
|---|---|
| 0 (OK) | ECM расшифрован успешно |
| 1 (NOTOK) | Карта ответила отказом |
| 2 (TIMEOUT) | Ответ не пришёл в отведённое время |
| 3 (SLEEPING) | Читалок в режиме ожидания |
| 4 (CACHE1/2/3) | Ответ взят из кэша |
| -1 (NO CARD) | Нет подходящей карты/читалка |
Массовые TIMEOUT в логах — проблема с сетью или перегрузка сервера. Массовые NOTOK — либо неверная пара caid/provid, либо карта заблокирована провайдером. Чередование OK и TIMEOUT — нестабильное соединение, смотрите пинг и качество линии.
Команда для диагностики в реальном времени: tail -f /tmp/oscam.log | grep -E "(ecm|TIMEOUT|NO CARD)" — отфильтрует лишнее и покажет только ECM-события.
Как выбрать надёжный источник линий: критерии без имён
Этот раздел — без названий провайдеров и реселлеров. Только критерии, по которым стоит оценивать любой источник линий.
На что смотреть: стабильность ECM, аптайм, локальные карты
Первый критерий — ECM time. Попросите тестовую линию и смотрите в веб-интерфейсе OScam: стабильное время 300–700 мс — хорошо. Скачки от 200 до 2000 мс в течение часа — нестабильность, которая будет мешать постоянно.
Второй — наличие локальных карт. Сервер с физической картой в ридере даёт минимальный hop и предсказуемое время ответа. Сервер, который сам является клиентом ещё трёх серверов выше — нет.
Третий — аптайм. Спросите, как долго сервер работает без перезапусков. Нормальный показатель для хорошо настроенного OScam-сервера — 30+ дней без рестарта.
Признаки перепроданных и нестабильных линий
Высокий hop (3 и выше) — почти всегда признак многоуровневого reshare. Ваша ECM-цепочка проходит через несколько серверов, и если любой из них перегружен или упал — вы теряете сигнал.
Фризы в определённое время суток (вечером, в выходные) — признак перегрузки сервера. Слишком много клиентов на одну карту.
Смена IP сервера без предупреждения — признак нестабильной инфраструктуры. Надёжный сервер либо имеет статический IP, либо стабильный hostname с актуальным DNS.
Тестовый период и проверка пинга до сервера
Перед оплатой — всегда просите тестовую линию на 24–48 часов. За это время можно поймать суточный цикл нагрузки. Пинг до сервера проверяйте с реального устройства, не с ПК в другой сети: ping -c 50 hostname.server.com и смотрите среднее и максимальное значения.
Если сервер находится в другой стране с пингом 200+ мс — это почти гарантированные проблемы с быстрыми каналами, которые обновляют ключ каждые 10 секунд.
Безопасность: почему не стоит делиться своими линиями публично
Публикация своих C-линий или N-линий в открытом виде — прямой путь к бану аккаунта на сервере выше. Большинство серверов отслеживают количество одновременных подключений и блокируют аккаунты при превышении.
Публичные бесплатные линии — отдельная история. Они работают нестабильно почти по определению: слишком много клиентов, частая смена паролей, непредсказуемый аптайм. Для тестирования — сойдёт. Для постоянного использования — нет.
И никогда не передавайте свои данные через незашифрованные каналы. DES в newcamd шифрует трафик, но сами учётные данные нужно хранить локально и не отправлять в чаты и форумы.
Часто задаваемые вопросы
Можно ли запускать CCcam и OScam одновременно на одной приставке?
Технически — запустить можно, но они будут конфликтовать за dvbapi-интерфейс и демультиплексор. Два softcam не могут одновременно захватывать dvbapi — первый запущенный занимает его, второй висит без дела. Правильная схема: один работает как сервер (например, OScam с локальной картой), второй подключается к нему как клиент и занимается только декодированием через dvbapi. В этом случае dvbapi захватывает только один из них.
Какой порт использует CCcam по умолчанию?
Порт 12000 — стандартный для протокола CCcam. Его можно изменить в конфигурационном файле сервера, но именно 12000 используется по умолчанию везде. Если ваш сервер CCcam слушает нестандартный порт — его нужно пробрасывать на роутере именно этот порт, а не 12000. Клиент в строке C: должен указывать тот же порт, который слушает сервер.
Где находится файл oscam.dvbapi и за что он отвечает?
Файл лежит в той же директории, что и остальные конфиги OScam — обычно /etc/tuxbox/config/oscam/oscam.dvbapi или /etc/oscam/oscam.dvbapi. Он определяет приоритет декодирования по caid:provid (строки P:), какие caid игнорировать (строки I:), и маппинг для нестандартных ситуаций. Без этого файла OScam работает, но может некорректно выбирать карту при наличии нескольких caid на одном транспондере.
Что означает большое ECM time и фризы картинки?
ECM time — время от отправки запроса на расшифровку до получения ключа. Норма — до 1000 мс, идеал — 200–500 мс. При значениях выше 1500–2000 мс изображение начинает фризить, потому что ключ приходит позже, чем нужен декодеру. Причины: перегруженный или далёкий сервер, высокий hop (3+), плохой пинг, или слишком много клиентов на одну карту. Проверяйте в веб-интерфейсе OScam на вкладке Readers — там видно ECM time по каждому читалку отдельно.
Чем newcamd отличается от протокола CCcam?
newcamd — открытый протокол с шифрованием на основе DES-ключа (14 байт). Каждая newcamd-линия передаёт ровно одну карту. CCcam-протокол поддерживает дерево reshare — одно соединение может нести доступ к десяткам карт с разными caid, плюс управление hop и reshare-уровнями. OScam поддерживает оба протокола и в режиме сервера может раздавать одновременно по CCcam и newcamd клиентам разных типов.
Почему OScam пишет no matching reader?
Нет читалка, который мог бы обработать конкретный caid/provid канала. Проверяйте по порядку: есть ли в oscam.server читалок с нужным caid; совпадают ли параметры group у reader'а и account в oscam.user; не слишком ли строгий параметр ident (конкретный provid вместо 000000); подключён ли читалок вообще (статус в веб-интерфейсе). Несовпадение group — самая частая "невидимая" причина этой ошибки.
Practical checklist for smooth viewing
Even the best CCCam or OSCam line needs two or three simple preparations. Update your receiver firmware, reset the ECM cache once a week and keep 15–20% free space on the USB stick or internal flash so that the reader can store keys without delays.
When tuning a dish, aim for MER/BER reserve: a two‑degree offset or a loose F‑connector often causes the “freezing” that users blame on cardsharing. Keep a short patch cord to test alternative routers, and save two profiles in OSCam — one for TCP, one for UDP — so you can switch instantly if your ISP starts filtering a protocol.
Utgard.tv monitors each hub 24/7, but you can speed up diagnostics by keeping a short log of your receiver actions. Note the time when you changed the channel, which CAID was active and whether you used Wi‑Fi or Ethernet. This tiny “journal” helps engineers reproduce your environment in the lab and return with a solution in minutes instead of hours.
- Keep two line slots enabled: if the first server hits a maintenance window, the second one instantly takes over without re-entering credentials.
- Run a monthly speed and latency test. Stable 1–2 Mbps with ping <80 ms is enough for SD/HD, but if jitter exceeds 20 ms, switch the router to wired mode.
- Save the Utgard.tv status page and Telegram bot @utgard_tv_bot to bookmarks — they publish maintenance notices before SEMrush or uptime monitors raise alerts.