CCcam: настройка сервера и конфиг — полное руководство 2026
Если ты читаешь это, скорее всего у тебя уже есть ресивер на Enigma2, и ты хочешь разобраться с cccam без воды и рекламы платных серверов. Разберём всё по порядку: как работает протокол, как выглядит правильный конфиг, куда смотреть когда ничего не работает.
Сразу скажу честно — cccam в 2026 году это legacy. Разработка остановлена несколько лет назад. Но протокол до сих пор работает, оборудование его поддерживает, и миллионы ресиверов его используют. Так что разобраться стоит, даже если потом мигрируешь на OScam.
Что такое CCcam и как работает протокол
По сути это клиент-серверный протокол для передачи control words (CW) по сети. На сервере стоит физическая смарт-карта с платной подпиской. Клиент отправляет зашифрованный ECM-запрос, сервер расшифровывает его через карту и возвращает CW. Ресивер использует это слово для раскодирования потока.
Весь обмен идёт по TCP. Стандартный порт — 12000. Задержка на хорошем соединении — 150–400 мс, что вполне комфортно для живого просмотра.
Принцип card sharing и роль ECM/EMM
ECM (Entitlement Control Message) — это зашифрованный пакет от вещателя, который содержит CW. Без карты расшифровать его нельзя. EMM (Entitlement Management Message) — служебные сообщения для обновления прав на карте. CCcam умеет проксировать и те, и другие, хотя с EMM у него исторически хуже, чем у OScam.
Клиент постоянно шлёт ECM-запросы — примерно каждые 10 секунд при смене CW. Если сервер отвечает медленнее 600–800 мс, картинка начинает фризить или чернеет на секунду.
Чем CCcam отличается от OScam и MgCamd
CCcam — закрытый проприетарный протокол. Исходников нет, последний известный релиз датируется 2012–2013 годами. OScam — открытый, активно разрабатывается сообществом, лучше работает с кэшем и EMM. MgCamd — ещё один клиент, более лёгкий, меньше жрёт памяти на старых железках.
Для новых инсталляций я бы выбирал OScam. Но если у тебя уже рабочий конфиг cccam — менять можно не торопиться, особенно если всё стабильно.
Порт 12000 и структура обмена пакетами
Клиент подключается к серверу по TCP:12000 (если не переопределено в конфиге). Первый обмен — хэндшейк с аутентификацией по username/password. После этого сессия остаётся открытой, и по ней гоняются ECM/CW пакеты.
CCcam также поддерживает протоколы newcamd и cs357x для обратной совместимости со старыми клиентами. Это удобно если в сети смешанный зоопарк из оборудования.
Установка CCcam на Enigma2 и Linux
Нет единого пакета — обычно скачивают готовый бинарник под свою архитектуру. Самое первое что нужно выяснить: какой процессор в ресивере. Большинство современных Enigma2-приставок — arm или armv7, старые Dreambox — mipsel. Ошибка с архитектурой самая частая: бинарник не запускается и не даёт никакой ошибки в консоли — просто молчит.
Загрузка бинарника под архитектуру (mipsel, arm)
Проверить архитектуру можно командой:
uname -m
cat /proc/cpuinfo | grep -i model
Если uname -m отдаёт mips — нужен mipsel-бинарник. Если armv7l или aarch64 — соответствующий arm-вариант. Для Vu+ Zero 4K и подобных современных боксов нужен aarch64.
Копирование в /usr/bin и права chmod 755
Бинарник кладётся в /usr/bin/CCcam. После копирования обязательно:
chmod 755 /usr/bin/CCcam
Без этого он не запустится. Проверить что процесс поднялся:
ps | grep CCcam
# или
ps aux | grep -i cccam
Если в выводе есть строка с путём к бинарнику — процесс живой. Двойная строка (два процесса) — проблема, об этом ниже.
Автозапуск через init.d и проверка процесса
Пути к конфигу и скриптам автозапуска отличаются в зависимости от прошивки:
- OpenATV: конфиг в
/etc/CCcam.cfg, softcam через/etc/init.d/softcam - OpenPLi: конфиг в
/etc/CCcam.cfg, управление через PLi-softcam менеджер - Vu+ (VTi): конфиг обычно в
/var/etc/CCcam.cfg, запуск через/etc/init.d/softcam.amlogic
Ручной рестарт процесса:
killall -9 CCcam
sleep 2
/usr/bin/CCcam &
Важный момент: если CCcam завершился некорректно, он иногда оставляет занятый порт 12000. Перед запуском лучше убедиться что порт свободен: netstat -tlnp | grep 12000.
Структура файла CCcam.cfg: F-линии и параметры
Конфиг читается построчно, каждый тип строки начинается с буквенного идентификатора. Регистр имеет значение — c: и C: это разные вещи. После двоеточия обязателен пробел — без него строка игнорируется молча, и ты час будешь искать проблему.
Синтаксис F-линии: F: user pass uphops downhops
F-линия создаёт пользователя которому разрешено подключаться к твоему серверу:
F: myuser mypassword 1 0 0
Расшифровка по позициям:
myuser— логин клиентаmypassword— пароль- первая цифра — uphops: сколько хопов «вверх» разрешено видеть клиенту
- вторая — downhops: глубина решары, которую клиент может раздавать дальше
- третья — дополнительный флаг (обычно 0)
Если у тебя два клиента с одинаковым username в двух разных F-линиях — будут конфликты авторизации. Второй подключившийся выбьет первого или оба получат ошибку. Каждый username должен быть уникальным.
Параметры C-линии для подключения как клиент
C-линия описывает удалённый сервер к которому ты подключаешься как клиент:
C: server.example.com 12000 mylogin mypass
Можно добавить несколько C-линий — CCcam попробует все по порядку. Но не злоупотребляй: длинные цепочки решары увеличивают ECM time и добавляют нестабильность.
Опции SERVER LISTEN PORT и WEBINFO LISTEN PORT
В верхней части конфига задаются глобальные параметры:
SERVER LISTEN PORT : 12000
WEBINFO LISTEN PORT : 16001
ALLOW TELNETINFO : yes
ALLOW WEBINFO : yes
NETD : no
DEBUG : 0
Если ALLOW WEBINFO : no — веб-интерфейс на порту 16001 будет недоступен. Многие забывают об этом и потом не могут понять почему браузер не открывает страницу статуса.
Управление hops через CCcam.providers
Файл /etc/CCcam.providers позволяет задать поведение для конкретных CAID и провайдер ID. Например, разрешить решару только для определённых пакетов или ограничить uphops по конкретному спутниковому пакету. Синтаксис там простой: строки вида CAID:ProviderID.
Кольцевание решары — реальная проблема. Если uphops выставлен слишком высоко, запрос может вернуться обратно через цепочку серверов к источнику. Картинка начинает фризить каждые несколько секунд. Лечится понижением uphops до 1 или 2.
Диагностика и устранение ошибок подключения
Первое место куда смотреть при проблемах — веб-интерфейс по адресу http://IP_ресивера:16001. Там видно состояние каждой C-линии цветом: зелёный — активна и работает, жёлтый — подключено но нет активности, красный — ошибка подключения.
Проверка статуса через веб-интерфейс :16001
На странице статуса видно ECM time для каждой карты — это миллисекунды от запроса до ответа. Нормальное значение — до 400 мс. Если постоянно 800+ — либо сервер перегружен, либо большие задержки в сети. Также видно количество декодированных каналов и активных клиентов.
Через telnet тоже можно смотреть статус:
telnet localhost 16001
Чтение лога и значения FREEZE / NO CARD
Лог CCcam обычно пишется в /tmp/CCcam.log или /var/log/CCcam.log. Просмотр в реальном времени:
tail -f /tmp/CCcam.log
NO CARD в логе — сервер не нашёл карту для этого CAID. FREEZE — CW не обновился вовремя, картинка застыла. Оба симптома часто указывают на несовпадение CAID или превышение времени ответа.
Ошибки firewall и проброс портов NAT
Если сервер за NAT-роутером — порт 12000 нужно пробросить. Проверить доступность снаружи:
nc -zv your.server.address 12000
Если соединение отваливается сразу — порт закрыт. Смотри правила iptables на сервере:
iptables -L -n | grep 12000
И проброс на роутере: порт 12000 TCP должен форвардиться на локальный IP ресивера.
Проблема несовпадения CAID и provider ID
Это самая хитрая ошибка — линия зелёная, подключение есть, но канал не открывается. Причина: клиент просит CAID которого нет на карте сервера, или provider ID не совпадает. В логе будет что-то вроде no matching reader или просто тишина по этому CAID.
Решение: сверить CAID нужного канала (смотреть в info на ресивере при просмотре канала) с тем что видно в веб-интерфейсе CCcam. Также убедиться что NTP настроен — рассинхронизация времени больше чем на несколько минут ломает шифрование ECM-обмена.
Как выбрать сервер card sharing: технические критерии
Не буду называть конкретных провайдеров — это бессмысленно, рынок постоянно меняется. Лучше объясню на что смотреть технически, и ты сам сможешь оценить качество любого сервера.
Аптайм и пинг до сервера ECM
Географическая близость сервера напрямую влияет на ECM time. Сервер в твоей стране даст 20–50 мс пинга, сервер на другом конце Европы — 80–150 мс. Само по себе не критично, но в сумме с задержками обработки это может выходить за 400 мс.
Аптайм лучше проверять не по заявлениям провайдера, а по своему логу за 24–48 часов. Считай количество reconnect-событий в CCcam.log. Больше 2–3 в сутки — сервер нестабильный.
Локальные карты против решары (reshare)
Локальная карта — физическая смарт-карта вридере сервера. Решара — когда сервер сам является клиентом другого сервера и перепродаёт доступ дальше. Цепочка решары из 3+ звеньев добавляет 100–300 мс к ECM time на каждом звене.
В веб-интерфейсе CCcam это видно: локальная карта показывается как local, решара — как share с указанием хопов. Хороший сервер имеет минимум 0–1 хоп для большинства пакетов.
Время отклика ECM и параметр uphops
Нормальный ECM time до 300 мс — всё летает. 300–500 мс — приемлемо. 500–800 мс — начинаются эпизодические фризы при быстрой смене каналов. Больше 800 мс постоянно — такой сервер лучше не использовать.
Измерить можно прямо через веб-интерфейс :16001 — там есть колонка с временем последнего ECM-ответа для каждой карты.
Миграция с CCcam на OScam
OScam — это то куда стоит переходить. Активная разработка, открытый код, лучше работает с EMM (обновление прав на картах), поддерживает кэширование CW между несколькими клиентами. На практике это означает меньше фризов и стабильнее работу при нескольких одновременных просмотрах.
Конвертация C-линий в [reader] секции oscam.server
C-линия в формате cccam:
C: server.example.com 12000 mylogin mypass
Превращается в секцию в /etc/oscam/oscam.server:
[reader]
label = my_cccam_server
protocol = cccam
device = server.example.com,12000
user = mylogin
password = mypass
caid = 0604,1830
reconnecttimeout = 30
Параметр caid опциональный, но лучше указать явно — ограничивает какие запросы идут через этот ридер.
Настройка cccam-протокола в oscam.conf
Базовый /etc/oscam/oscam.conf:
[global]
logfile = /tmp/oscam.log
maxlogsize = 100
usrfile = /tmp/oscam.user
[cs357x]
port = 0
[camd35]
port = 0
[newcamd]
port = 0
[cccam]
port = 12000
Если хочешь принимать подключения от CCcam-клиентов — секция [cccam] обязательна. Пользователи для входящих подключений описываются в /etc/oscam/oscam.user.
Преимущества кэширования и DCW
OScam умеет кэшировать CW — если два клиента смотрят один канал, второй запрос не идёт на сервер, а берётся из кэша. Это снижает нагрузку и уменьшает ECM time для второго клиента до единиц миллисекунд. CCcam такого не умеет.
Ещё один плюс — preferlocalcards = 1 в oscam.conf заставляет OScam сначала использовать локальные карты и только потом обращаться к удалённым ридерам. Логика приоритизации в cccam значительно примитивнее.
Какой порт по умолчанию использует CCcam?
TCP 12000 — для обмена ECM/CW между клиентом и сервером. Порт 16001 — для веб-интерфейса статуса. Оба задаются в CCcam.cfg через директивы SERVER LISTEN PORT и WEBINFO LISTEN PORT и могут быть изменены на любые свободные.
Где находится конфигурационный файл CCcam.cfg?
Зависит от прошивки: на OpenATV и OpenPLi обычно /etc/CCcam.cfg, на Vu+ с прошивкой VTi — /var/etc/CCcam.cfg. Если не найти — проверь командой find / -name CCcam.cfg 2>/dev/null.
Что означают цифры в F-линии (uphops/downhops)?
Формат: F: user pass uphops downhops flag. Uphops — сколько уровней вверх по решаре клиент видит. Downhops — на сколько уровней вниз клиент может раздавать карту дальше. Значение 0 в downhops запрещает клиенту пересылать карту третьим лицам.
Почему канал не открывается, хотя линия зелёная?
Зелёная линия означает только что TCP-соединение установлено. Канал может не открываться из-за несовпадения CAID или provider ID, превышения uphops, слишком медленного ECM time, или рассинхронизации системного времени. Настрой NTP и проверь CAID нужного канала в info на ресивере.
Стоит ли переходить с CCcam на OScam в 2026 году?
Да, однозначно стоит. CCcam не развивается с начала 2010-х. OScam активно поддерживается сообществом, лучше работает с EMM-обновлениями карт, поддерживает кэширование CW и многопоточность. Конвертация конфига занимает час, зато стабильность заметно вырастет.
Как проверить, открыт ли порт 12000 снаружи?
Быстрее всего: nc -zv your.server.ip 12000. Если ответ Connection refused или таймаут — порт закрыт. Проверь правила iptables (iptables -L -n) и проброс портов на роутере. Telnet тоже работает: telnet your.server.ip 12000 — при открытом порте увидишь набор символов хэндшейка.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.