CCcam cardsharing: настройка сервера и клиента 2026
Если вы попали сюда, то уже знаете что такое DVB-ресивер и примерно понимаете зачем нужен cardsharing cccam. Эта статья — не для новичков, которые ищут объяснение "что такое спутниковое телевидение". Здесь конкретика: конфигурационные файлы, команды, диагностика, типовые ошибки. Я прошёл через всё это на нескольких инсталляциях — делюсь тем, что реально работает в 2026.
Что такое CCcam и как работает протокол cardsharing
CCcam — это программный сервер для условного доступа (CA), написанный анонимными разработчиками и распространяемый как закрытый бинарник. Последняя стабильная версия — 2.3.x. Проект давно не обновляется официально, но для классической схемы cardsharing cccam он по-прежнему работает надёжно.
Принцип работы: ECM, CW и DCW
Схема проста, но важно понимать каждый шаг. Зашифрованный канал передаёт вместе с потоком ECM — Entitlement Control Message. Это короткий пакет, содержащий зашифрованный Control Word (CW) — ключ для декодирования видео в данный момент (меняется каждые ~10 секунд).
Ваш ресивер без подписки не может расшифровать CW из ECM самостоятельно. Он отправляет ECM по TCP на CCcam-сервер. Сервер передаёт ECM физической смарт-карте через PCSC-ридер (Phoenix, SmartReader+, или встроенный). Карта возвращает расшифрованный Control Word — его называют DCW (Decrypted Control Word). Сервер отправляет DCW обратно клиенту. Всё это занимает 300–500 мс при нормальной сети.
Ресивер получает DCW, декодирует видео. Канал открыт. Цикл повторяется каждые ~10 секунд при смене CW.
Отличия CCcam от OScam, NewCamd и MgCamd
NewCamd — более старый протокол, работает через UDP, проще по архитектуре. MgCamd — клиентская часть, которая умеет подключаться к NewCamd и CCcam-серверам. Это не серверы, а клиенты.
OScam — это другая история. Открытый код, активная разработка, поддержка CCcam, NewCamd, CAMD35, gbox в одном демоне. В 2026 OScam — технически превосходящее решение: лучше статистика, гибче конфиг, нормальная диагностика. CCcam проще поднять "с нуля" за 20 минут, но при серьёзной нагрузке или сложных схемах OScam выигрывает по всем параметрам.
Архитектура сервер-клиент и роль reader/user
В терминах CCcam: reader — это источник карт (физическая карта через PCSC или подключение к другому серверу через C-line). User — это клиент, которому раздаются права через F-line. Один сервер может одновременно быть клиентом (получать карты по C-line) и сервером (отдавать по F-line) — это и есть классическая реселлерская схема.
Установка CCcam сервера на Linux
CCcam распространяется как бинарник под ARM и x86. Установка несложная, но есть нюансы с правами и зависимостями.
Требования: Debian/Ubuntu, smartcard reader
Нужен Debian 11/12 или Ubuntu 22.04 LTS. Для работы с физическими картами — PCSC-совместимый ридер: Phoenix, SmartReader+, или любой USB CCID. Установите зависимости:
apt-get install libpcsclite1 pcscd libccid libcrypto++-dev
Если планируете работать только как реселлер (получать карты по C-line без физической карты) — pcscd не нужен, но libcrypto нужен обязательно.
Установка бинарника CCcam в /usr/bin/
chmod +x CCcam
cp CCcam /usr/bin/CCcam
chown root:root /usr/bin/CCcam
Проверьте что бинарник запускается:
CCcam --help
Если видите ошибку "no such file" при явно существующем файле — скорее всего это ARM-бинарник на x86 или нет 32-битных библиотек. На x86_64 Debian установите:
dpkg --add-architecture i386
apt-get update
apt-get install libc6:i386 libstdc++6:i386
Структура каталога /var/etc/ и права доступа
CCcam ищет конфиг в /var/etc/CCcam.cfg по умолчанию (некоторые сборки — в /etc/CCcam.cfg). Создайте директорию:
mkdir -p /var/etc
touch /var/etc/CCcam.cfg
chmod 600 /var/etc/CCcam.cfg
Права 600 важны — в конфиге будут пароли. Логи пишутся в /var/log/CCcam, создайте файл заранее:
touch /var/log/CCcam
Запуск как systemd-сервис
Большинство инструкций в интернете предлагают запуск через init.d-скрипты. В 2026 на Debian 12 это анахронизм. Создайте systemd unit:
cat > /etc/systemd/system/cccam.service << 'EOF'
[Unit]
Description=CCcam Cardsharing Server
After=network.target pcscd.service
Wants=pcscd.service
[Service]
Type=forking
ExecStart=/usr/bin/CCcam
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
EOF
Активируйте и запустите:
systemctl daemon-reload
systemctl enable cccam
systemctl start cccam
systemctl status cccam
В строке статуса должно быть active (running). Если failed — смотрите journalctl -u cccam -n 50.
Конфигурация CCcam.cfg: F-line, C-line и N-line
Вот где большинство инструкций облажались — дают готовый конфиг без объяснения параметров. Разберём каждый блок.
C-line: подключение к удалённому серверу
C-line описывает подключение вашего сервера к чужому серверу как клиент:
C: hostname.example.com 12000 myusername mypassword
Формат: C: <host> <port> <username> <password>. Можно добавить дополнительные параметры:
C: hostname.example.com 12000 myusername mypassword 1 0 0 0 { 0500:000000 }
Числа после пароля: hop count (сколько уровней переотправки допускает сервер), затем флаги. В фигурных скобках — ограничение по CAID. 0500:000000 означает только Viaccess (CAID 0500) без ограничений по provider ID. Если оставить { } или опустить — принимаются все доступные CAID.
F-line: создание пользователя на своём сервере
F-line — это пользователь, которому вы отдаёте карты:
F: clientusername clientpassword 1 0 0 0 { 0:0:1 }
Параметры: hop count (1 — прямая карта, 2 — реселл), затем разрешения AU (auto-update EMM: 1=да, 0=нет), share limit (0 — без ограничений). { 0:0:1 } в конце означает все CAID. Параметр AU=1 важен: без него клиент не получает EMM-обновления, и через какое-то время карта перестанет работать у него — ключи устареют.
Несколько пользователей — несколько F-line, каждая на отдельной строке.
N-line: интеграция с NewCamd-серверами
Если у вас есть NewCamd-сервер и нужно получить от него карты:
N: hostname.example.com 15050 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14
После пароля следует 14-байтовый DES-ключ (по умолчанию: 01 02 03 04 05 06 07 08 09 10 11 12 13 14). N-line используется реже, но если ваш апстрим работает через NewCamd — это единственный вариант.
Параметры SERVER LISTEN PORT, WEBINFO LISTEN PORT
SERVER LISTEN PORT = 12000
WEBINFO LISTEN PORT = 16001
12000 — дефолтный порт, на котором сервер принимает клиентов (C-line с другой стороны). Меняйте его — сканеры портов знают дефолт. WEBINFO LISTEN PORT = 16001 открывает веб-интерфейс: http://your-server:16001/ — там видны подключённые клиенты, их IP, время подключения, CAID карт, статус reader. Очень полезно для диагностики. Но закройте этот порт снаружи через iptables — он не требует авторизации по умолчанию.
Минимальный рабочий конфиг выглядит примерно так:
SERVER LISTEN PORT = 15050
WEBINFO LISTEN PORT = 16001
C: upstream-server.example.com 12000 mylogin mypass
F: localclient password1 1 0 0 0 { 0:0:1 }
Настройка клиента на ресивере (Enigma2, OpenATV)
Большинство современных ресиверов с Enigma2 (VU+, Dream, GI, Formuler) поддерживают CCcam через плагин softcam. На OpenATV 7.x или OpenPLi 9.x процедура одинаковая.
Установка CCcam plugin через ipk/opkg
opkg update
opkg install enigma2-plugin-softcams-cccam
Если пакет не находится — проверьте source-репозитории в /etc/opkg/. На некоторых сборках CCcam идёт как часть пакета softcam-feed, который нужно добавить отдельно.
Размещение CCcam.cfg в /etc/tuxbox/config/
На ресивере конфиг лежит не в /var/etc/, а здесь:
/etc/tuxbox/config/CCcam.cfg
Создайте или отредактируйте его, добавив C-line вашего сервера:
C: your-server.example.com 15050 clientusername clientpassword
После редактирования перезапустите softcam:
/etc/init.d/softcam restart
Или через меню ресивера: Plugins → Softcam Manager → Restart.
Привязка к softcam-priority.conf
Если у вас несколько softcam (скажем, CCcam и OScam параллельно) — настройте приоритеты в /etc/tuxbox/config/softcam-priority.conf. Формат:
0500:000000 = CCcam
0B00:000000 = OScam
CAID 0500 — Viaccess, 0B00 — Conax. Это говорит системе, какой softcam использовать для каких каналов. Без этого файла система выбирает softcam произвольно, что иногда приводит к неочевидным проблемам.
Проверка через telnet и tail -f /tmp/ecm.info
Самый быстрый способ проверить что всё работает:
tail -f /tmp/ecm.info
При переключении на зашифрованный канал вы увидите что-то вроде:
ECM: CAID=0500 Provider=040810 ECMTime=312ms Source=CCcam
ECMTime в диапазоне 200–600 мс — норма. Выше 800 мс — начнутся фризы. Выше 1500 мс — канал будет постоянно замерзать.
Через telnet можно посмотреть статус CCcam:
telnet localhost 16001
Диагностика и решение частых ошибок
Вот раздел, ради которого большинство и приходит. Собрал сюда всё что встречал в реальной жизни.
Freezing/фризы: причины и измерение latency
Фризы почти всегда — это ECM time. Смотрите /tmp/ecm.info и меряете. Если время стабильно 300–400 мс — проблема не в сети. Если скачет от 200 до 1500 мс — нестабильная сеть или перегруженный сервер.
Проверьте ping до сервера. Если ping 80–100 мс, а ECM time 600–800 мс — сервер перегружен или у него проблемы с ридером. Если ping 300+ мс — выбирайте другой сервер, физически ближе к вам.
Что ещё помогает: уменьшить hop count в C-line (чем меньше — тем быстрее), отключить C-line к серверам, которые не используете (каждое подключение создаёт нагрузку), убедиться что на сервере нет лишних reader.
Ошибка 'card not found' и проблемы с EMM
Карта работает локально (PCSC), но клиенты получают "no card" — классика. Почти всегда это права доступа к устройству:
ls -la /dev/ttyUSB0
CCcam должен иметь доступ к устройству ридера. Добавьте пользователя в группу dialout (или запускайте CCcam от root — грязно, но работает для диагностики):
usermod -a -G dialout cccam_user
Если карта требует EMM-обновлений (большинство современных карт), но в C-line стоит AU=0 — клиент не получит обновлённые ключи. Через несколько часов или дней канал перестанет открываться. Решение: выставить AU=1 в F-line для клиента, и убедиться что сам reader корректно обрабатывает EMM.
Сервер виден, но каналы не открываются (CAID mismatch)
Самая частая причина — CAID карты не совпадает с CAID канала. Каждая система шифрования имеет свой CAID:
- 0500 — Viaccess
- 0B00 — Conax
- 0D00, 0D02 — Cryptoworks
- 1800 — Nagravision
- 0600 — Irdeto
- 0100 — SECA/Mediaguard
- 0E00 — PowerVU
Проверьте через /tmp/ecm.info какой CAID запрашивает канал. Потом на сервере через WEBINFO (порт 16001) проверьте какие CAID доступны на reader. Если не совпадают — у вас не та карта для этого канала. Никакая настройка это не исправит.
Отдельный случай: CAID совпадает, но provider ID — нет. Например, CAID 0500 (Viaccess), но canal зашифрован с provider 040810, а карта даёт provider 032830. Разные пакеты на одной системе шифрования — карта не откроет этот канал.
Анализ логов через tail -f /var/log/CCcam
CCcam пишет подробные логи. Полезные паттерны для grep:
tail -f /var/log/CCcam | grep -E "(logged|error|ECM|reader|card)"
Строка client 192.168.1.5: logged in as clientusername — клиент подключился успешно. reader: card inserted — физическая карта обнаружена. ECM: no card found for CAID 0500 — нет подходящего ридера. Если в логах только подключения и нет ни одной строки про ECM — клиент подключился, но не переключается на зашифрованный канал.
Безопасность и легальные аспекты
Протокол CCcam передаёт данные практически в открытом виде. Это не параноя — любой tcpdump на промежуточном узле покажет содержимое сессии. Провайдеры и DPI-системы умеют детектировать CCcam-трафик по сигнатурам.
Шифрование трафика через VPN/SSH-туннель
Простейший вариант — SSH-туннель. На клиенте:
ssh -N -L 12000:localhost:15050 [email protected]
Потом в CCcam.cfg клиента подключаетесь на localhost:12000 — трафик пойдёт через зашифрованный SSH. Минус: SSH туннель не особо стабилен, падает при разрыве соединения.
Лучше — WireGuard. Поднимаете WireGuard-пир между клиентом и сервером, CCcam подключается по внутреннему IP туннеля. WireGuard в 2026 — стандарт de facto, ставится за 10 минут, работает стабильно. Конфиг в /etc/wireguard/wg0.conf, управление через wg-quick up wg0.
Stunnel — ещё один вариант, если WireGuard недоступен. Заворачивает TCP CCcam в TLS. Конфиг на сервере:
[cccam-server]
accept = 12001
connect = 127.0.0.1:15050
cert = /etc/stunnel/server.pem
Защита от сканирования портов
Закройте порты CCcam для всех, кроме доверенных IP. iptables:
iptables -A INPUT -p tcp --dport 15050 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 15050 -j DROP
iptables -A INPUT -p tcp --dport 16001 -j DROP
Веб-интерфейс (16001) закрывайте всегда — он не имеет авторизации по умолчанию и показывает всё о вашей конфигурации.
Хорошая практика: сменить SERVER LISTEN PORT с дефолтного 12000 на что-то из диапазона 30000–50000. Сканеры портов проверяют 12000 первым.
Легальное использование: личная карта в собственной сети
Юридически cardsharing cccam в рамках закона — это использование собственной легально приобретённой подписки внутри вашей личной домашней сети. То есть: у вас одна карта, несколько ресиверов в доме, CCcam-сервер на домашнем Linux-боксе. Это аналог использования одного Netflix-аккаунта на нескольких устройствах дома.
Расшаривание чужих оплаченных подписок, коммерческая продажа F-line доступа — это другое. В большинстве европейских стран это противоречит условиям договора с провайдером и часто нарушает законодательство об авторских правах. Суды в Германии, Великобритании и ряде других стран уже выносили решения по таким делам.
Как выбрать качественный CCcam-сервер: критерии
Конкретных провайдеров называть не буду — рынок постоянно меняется, хорошие сервисы закрываются, плохие появляются. Расскажу что смотреть.
Метрики стабильности: uptime, ECM time, hop count
Три главных числа:
- Uptime ≥99%. Меньше — это 87+ часов простоя в год. Хорошие провайдеры публикуют uptime-статистику, часто через uptimerobot.com или похожие сервисы.
- ECM time <500 мс. В идеале 150–300 мс. Попросите тестовый период и измерьте самостоятельно через
/tmp/ecm.info. Рекламные "среднее время 200 мс" — не верьте на слово. - Hop 1. Это значит прямая карта, не реселл. Hop 2 — реселлер. Hop 3+ — реселлер реселлера. Каждый hop добавляет задержку и точку отказа. Проверить hop в WEBINFO или в логах CCcam.
География серверов и пиринг
Сервер в 200 мс от вас по пингу даст ECM time 400–500 мс при нормальной нагрузке. Сервер в 20 мс — 150–250 мс. Физическое расстояние важно. Спрашивайте у провайдера где физически стоит сервер — Нидерланды, Германия, Франция дают хорошие показатели для европейских пользователей.
Пиринг тоже влияет. Сервер на дата-центре Hetzner или OVH с хорошим пирингом будет стабильнее, чем сервер на дешёвом VPS с плохой связностью.
Признаки ненадёжного провайдера
Несколько сигналов которые я считаю красными флагами:
- Hop 3+ при позиционировании как "прямые карты"
- Требование предоплаты за 6–12 месяцев без тестового периода
- Нет информации о конкретных CAID и спутниковых пакетах
- Техподдержка только через Telegram без email/тикет-системы
- Сайт существует меньше 6 месяцев
- Нет мониторинга uptime с историей
И наоборот — хороший признак: провайдер даёт тестовый период 24–48 часов без оплаты. Значит сами уверены в стабильности. Провайдер, который боится дать тест — обычно знает почему.
Какой порт по умолчанию использует CCcam?
Порт 12000 — дефолтный для серверного протокола (параметр SERVER LISTEN PORT в CCcam.cfg). Веб-интерфейс — порт 16001 (WEBINFO LISTEN PORT). Оба рекомендуется менять: 12000 сканируется автоматически, 16001 не имеет авторизации по умолчанию. Измените в CCcam.cfg и не забудьте обновить правила iptables.
В чём разница между C-line и F-line?
C-line — вы подключаетесь к чужому серверу как клиент, получаете карты. F-line — вы создаёте пользователя на своём сервере, отдаёте карты клиенту. Если у вас обе строки в одном конфиге — вы получаете карты по C-line и раздаёте через F-line: классический реселл. N-line работает так же как C-line, но для NewCamd-протокола вместо CCcam.
Что делать если ECM time превышает 800 мс и появляются фризы?
По шагам: 1) Проверьте ping до сервера — если больше 150 мс, проблема в сети или географии. 2) Проверьте hop count в C-line — hop 3+ добавляет задержку на каждом узле. 3) Отключите C-line к серверам, которые не используете. 4) Попросите провайдера проверить загрузку CPU сервера. 5) Если ничего не помогает — смотрите в сторону OScam с его более гибким менеджментом соединений или смените сервер на географически ближайший.
CCcam или OScam — что выбрать в 2026?
Если настраиваете с нуля — OScam. Открытый код, активная разработка, поддерживает CCcam, NewCamd, CAMD35 и gbox в одном демоне. Конфиги в /etc/oscam/oscam.conf, oscam.server, oscam.user — гибче и читаемее. CCcam — закрытый бинарник, последний стабильный релиз 2.3.x, разработка фактически остановлена. Единственный аргумент за CCcam: он проще для первого запуска за 20 минут. Для чего-то серьёзного — OScam.
Можно ли запустить CCcam-сервер без физической смарт-карты?
Сервер запустится, но ECM расшифровывать нечем. Можно работать как реселлер: получать карты от upstream-сервера через C-line (hop 1) и раздавать своим клиентам через F-line (hop 2). Это полностью рабочая схема. Физическая карта нужна только если вы хотите быть точкой происхождения (hop 1), а не реселлером.
Как проверить что клиент успешно подключился к серверу?
На сервере: откройте http://your-server:16001/ — в разделе Connected Clients должен появиться IP клиента с временем подключения. В логах /var/log/CCcam будет строка вида client 192.168.1.5: logged in as clientusername. На клиенте: cat /tmp/ecm.info при переключении на зашифрованный канал покажет source, CAID и ECM time — если source показывает ваш сервер, всё работает.
Безопасно ли передавать CCcam-трафик в открытом виде?
Нет. Протокол CCcam не шифрует данные, трафик легко обнаруживается по сигнатурам. DPI-системы провайдеров и сетевые администраторы видят CCcam-сессии без особых усилий. Минимальная защита — завернуть соединение в WireGuard-туннель или SSH-проброс портов. Для серьёзной инфраструктуры WireGuard — стандарт: /etc/wireguard/wg0.conf, запуск через wg-quick up wg0, CCcam подключается по внутреннему адресу туннеля.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.