Кардшаринг сервер: настройка CCcam и OScam в 2026
Если ты уже знаешь, что такое кардшаринг сервер, и хочешь не читать очередной обзор «для чайников», а сразу разобраться с конфигами, портами и причинами, по которым каналы не открываются — ты попал куда нужно. Здесь конкретика: пути файлов, форматы директив, чеклист диагностики.
Что такое кардшаринг сервер и как он работает
Суть простая. Ресивер сталкивается с зашифрованным потоком и не может его декодировать без контрольного слова (Control Word, CW). Он отправляет ECM-запрос на кардшаринг сервер, тот обращается к физической смарт-карте, получает CW и возвращает его клиенту. Весь цикл должен укладываться примерно в 200–400 мс, иначе начинаются фризы.
Этот обмен идёт по специализированным протоколам — CCcam, newcamd, camd3, cs378x. Каждый из них имеет свой формат пакетов и способ авторизации.
Архитектура: клиент, сервер и протокол обмена
Сервер — это машина с физической картой (или несколькими). Клиент — ресивер или ПК с декодирующим ПО, который делает ECM-запросы. Между ними — протокол. CCcam и OScam могут работать как на стороне сервера, так и на стороне клиента, главное — чётко понимать, кто кому отдаёт CW.
В OScam это описывается через reader (откуда берём CW) и user (кому отдаём). В CCcam — через строки C: (подключение к серверу) и F: (раздача доступа своим клиентам).
Чем отличаются роли локального сервера и решары
Локальный сервер — физическая карта вставлена непосредственно в ридер (например, USB Smargo или встроенный картридер ресивера). Это hop 1. Решара (reshare) — когда сервер сам является клиентом другого сервера и перераспределяет чужие CW. Каждый промежуточный прыжок добавляет задержку и снижает стабильность.
Freeze на HD-каналах при нормально работающих SD — почти всегда признак большого hop. HD-каналы обновляют CW чаще (иногда каждые 5–6 секунд), и при hop 3–4 задержка становится критичной.
CCcam против OScam: когда что выбирать
CCcam настраивается быстро, формат конфига простой, и исторически большинство провайдеров выдают данные именно в формате CCcam. Для простого клиентского подключения — хороший выбор.
OScam гибче. Он поддерживает cache exchange (CacheEx), детальную фильтрацию по caid/ident, anti-cascading, несколько протоколов одновременно. Но требует понимания логики групп и маршрутизации ECM. Для сложных сетей с несколькими ридерами и тонкой фильтрацией — OScam предпочтительнее.
Установка и базовая настройка сервера
Большинство пользователей работают на Enigma2-ресиверах (Dreambox, Vu+, GigaBlue и подобные) или на обычном Linux. Принципы одинаковы, пути немного отличаются.
Подготовка системы и зависимостей (Linux/Enigma2)
На чистом Debian/Ubuntu перед установкой OScam нужны: libusb-1.0-0, libpcsclite1 (если используешь PC/SC-карты), libssl. На Enigma2 эти зависимости обычно уже в прошивке. Бинарник OScam берётся под конкретную архитектуру (mips, arm, x86_64) — неправильная архитектура просто не запустится.
Для CCcam ситуация проще: статически слинкованный бинарник обычно не требует дополнительных библиотек. Но убедись, что версия CCcam соответствует твоей архитектуре.
Каталоги конфигов: /etc/tuxbox/config и /usr/keys
Пути зависят от сборки прошивки. Вот реальная картина:
- OScam на OpenATV / OpenPLi:
/etc/tuxbox/config/— здесь лежатoscam.conf,oscam.server,oscam.user,oscam.services - OScam на некоторых сборках:
/var/keys/или/usr/keys/ - CCcam: основной конфиг —
/usr/keys/CCcam.cfg, на некоторых сборках —/etc/CCcam.cfg - OScam на классическом Linux:
/etc/oscam/— стандартный путь при сборке из исходников
Права на файлы конфигов: chmod 600 для файлов с паролями, владелец — тот пользователь, под которым запускается процесс. На Enigma2 обычно root.
Запуск демона и проверка процесса
На Enigma2 OScam запускается через init.d:
/etc/init.d/oscam start
/etc/init.d/oscam stop
/etc/init.d/oscam restart
На systemd-системе:
systemctl start oscam
systemctl enable oscam
systemctl status oscam
Проверить, что процесс живёт: ps aux | grep oscam или ps | grep oscam на Enigma2. Веб-интерфейс OScam доступен по адресу http://<IP_ресивера>:8888 — если в конфиге прописан httpport = 8888. Это первое место, куда смотреть при диагностике.
CCcam запускается аналогично — через init.d-скрипт или вручную: /usr/bin/cccam &. Лог пишется в /tmp/cccam.log.
Конфигурация CCcam.cfg: ключевые директивы
Формат CCcam.cfg — текстовый, без секций. Каждая строка — отдельная директива. Порядок строк не важен, регистр — важен.
Строки C: подключение к серверу
Формат строки подключения к удалённому серверу:
C: hostname 12000 username password
Где:
hostname— IP или домен сервера12000— порт (по умолчанию для CCcam, может быть любым)username/password— учётные данные, выданные провайдером
Можно добавить несколько строк C: для разных серверов. CCcam будет пробовать их по очереди. Если нужен конкретный порт для веб-интерфейса, добавь:
WEBINFO LISTEN PORT : 16001
Строки F: раздача доступа клиентам
Если твой ресивер одновременно является сервером для других клиентов:
F: client_user client_pass 1 0 0 0 { 0:0:1 }
Разбор полей:
client_user / client_pass— логин/пароль для подключающегося клиента- первое число — разрешить решару (1) или нет (0)
- второе число — au (автоматическое обновление entitlement)
- в фигурных скобках — SID-фильтр или
0:0:1для полного доступа
Порт, на котором CCcam слушает входящие соединения, задаётся директивой:
SERVER LISTEN PORT : 12000
Этот порт должен быть открыт в фаерволе и проброшен на роутере, если машина за NAT.
Параметры hops, reshare и SID-фильтры
Директива MAXHOPS ограничивает глубину решары для принятых CW:
MAXHOPS : 2
Значение 1 означает, что ты принимаешь только локальные карты (hop 1). Значение 2 — допускаешь одну промежуточную решару. Больше 3 — начинаются проблемы со стабильностью.
Глобальное ограничение решары для исходящих:
RESHARE : 1
SID-фильтры в строках F: позволяют выдавать клиенту доступ только к конкретным CAID. Пример — только Viaccess (0500):
F: user pass 0 0 0 0 { 0500:000000:1 }
Конфигурация OScam: server, user и reader
OScam разделяет конфигурацию по файлам: общие параметры, описание ридеров, пользователи. Это даёт гибкость, но требует понимания связей между секциями.
oscam.conf: глобальные параметры и протоколы
Минимальный рабочий oscam.conf:
[global]
logfile = /tmp/oscam.log
loglevel = 128
maxlogsize = 200
usrfile = /tmp/oscam.user
[webif]
httpport = 8888
httpuser = admin
httppwd = secret
httprefresh = 10
[cccam]
port = 12000
version = 2.3.0
build = 11490
reshare = 1
ignorereshare = 0
Секция [cccam] активирует встроенный CCcam-сервер в OScam. Клиенты подключаются к нему точно так же, как к обычному CCcam — по порту 12000.
oscam.server: описание ридеров и cccam-протокола
Файл oscam.server описывает, откуда OScam получает CW. Пример ридера для подключения к внешнему CCcam-серверу:
[reader]
label = provider_main
protocol = cccam
device = 192.168.1.100,12000
user = myuser
password = mypassword
caid = 0500,1810
group = 1
reconnecttimeout = 30
connectoninit = 1
Ключевые параметры:
label— произвольное имя ридера, используется в логахprotocol = cccam— протокол подключенияdevice— IP и порт сервера через запятуюcaid— фильтр по CAID; если не указать, ридер будет принимать всёgroup— группа ридера; должна совпадать с группой в oscam.user
Для физической карты через USB-ридер Smargo protocol меняется на smartreader или mouse, а device — на путь к устройству (/dev/ttyUSB0).
oscam.user: группы, AU и фильтрация по caid/ident
Файл oscam.user описывает клиентов, которым OScam отдаёт CW. Пример записи:
[account]
user = client1
pwd = password123
group = 1
caid = 0500
ident = 0500:042800
au = 1
monlevel = 0
maxconnections = 1
Связь через группы — это то, что многие упускают. Если у ридера group = 1, а у пользователя group = 2 — ECM-запрос от этого клиента никогда не дойдёт до этого ридера. Маршрутизация работает именно через совпадение групп.
Параметр ident фильтрует по провайдеру внутри CAID. Формат: CAID:ident. Если оставить только CAID без ident — OScam примет любой ident в рамках этого CAID.
При подключении нескольких серверов одновременно возможен конфликт caid/ident: два ридера с одинаковым CAID могут мешать друг другу. Решение — разнести ридеры по группам и явно привязать пользователей к нужным группам.
Диагностика и устранение типичных ошибок
Большинство проблем с кардшаринг сервером сводится к трём сценариям: соединение не устанавливается, соединение есть но нет картинки, картинка есть но фризит. Разберём каждый.
Соединение есть, но каналы не открываются (no CW / ECM timeout)
Это самая частая ситуация. Лог OScam покажет что-то вроде: ECM answer: TIMEOUT (500ms) или not found.
Чеклист проверки:
- Совпадают ли CAID между запросом и тем, что умеет ридер? Проверь в веб-интерфейсе: Readers → статус ридера → поддерживаемые CAID.
- Совпадают ли группы ридера и пользователя в
oscam.serverиoscam.user? - Есть ли нужный канал на сервере провайдера? Статус
no cardв веб-интерфейсе — карта не имеет подписки на этот канал. - Не превышен ли лимит
maxconnectionsдля твоего аккаунта? Провайдер мог ограничить количество одновременных подключений. - Синхронизировано ли системное время? Рассинхронизация на несколько минут ломает ECM-обработку на некоторых шифрованиях. Проверь:
date, и если нужно —ntpd -q -gилиntpdate pool.ntp.org.
Freeze и подвисания изображения
Картинка есть, но периодически замерзает на 1–3 секунды. Причины:
- Высокий hop. Проверь в веб-интерфейсе OScam или в CCcam WebIF значение hop для карты. Hop 3 и выше на HD — почти гарантированные фризы.
- Высокий пинг до сервера. Более 150–200 мс — рискованно. Проверь:
ping hostnameпрямо с ресивера. - Нестабильность соединения. Смотри на количество reconnect в логе. Частые переподключения говорят о проблемах с сетью или сервером.
- Работа за двойным NAT. Если провайдер даёт серый IP — пробросить порт невозможно без туннеля или VPN. Для клиентского подключения это не мешает, но если ты хочешь принимать входящие соединения — нужен белый IP или туннель (например, через WireGuard или SSH-тоннель).
Чтение логов OScam и расшифровка статусов
Лог OScam по умолчанию пишется в /tmp/oscam.log. Уровень детализации задаётся в oscam.conf параметром loglevel. Значение 128 — подробный режим, подходит для диагностики. В продакшне лучше снизить до 64 или 0, иначе лог раздуется быстро.
Ключевые статусы в веб-интерфейсе (раздел Readers):
connected— соединение с сервером установленоonline— ридер работает и карта доступнаno card— соединение есть, но карта не авторизует данный CAID/каналdisconnected— нет соединения; смотри на reconnect timeout и проверяй пинг
Для проверки доступности порта с ресивера: telnet hostname 12000 или nc -zv hostname 12000. Если коннект не устанавливается — порт закрыт фаерволом на стороне сервера, или не проброшен на роутере. На сервере проверить слушающие порты: netstat -tlnp | grep 12000 или ss -tlnp | grep 12000.
Как выбрать провайдера: критерии без названий
Провайдеров много. Большинство из них — решары с hop 3–5, продающие чужой доступ как свой «локальный сервер». Вот как отличить одно от другого.
Стабильность аптайма и пинг до сервера
Попроси тестовый доступ (большинство нормальных провайдеров дают 24–48 часов). За это время замерь пинг: ping -c 100 hostname. Средний пинг выше 80–100 мс для Европы — плохой знак. Смотри также на джиттер (разброс значений) — он важнее среднего значения.
Аптайм проверить сложнее, но можно оставить ресивер на ночь и утром посмотреть в логах количество reconnect. Больше 3–5 переподключений за 8 часов при нормальном интернете — нестабильный сервер.
Поддерживаемые caid и количество локальных карт
Спроси напрямую: какой hop у карт для нужных тебе пакетов? Честный ответ — hop 1 или hop 2. Уклончивый ответ («у нас отличные карты») означает, что провайдер сам не знает или не хочет говорить.
Проверить hop можно в OScam WebIF после подключения — он показывается в разделе Readers для каждого CAID. В CCcam WebIF — в разделе Cards.
Признаки ненадёжного источника: нет тестового доступа, поддержка отвечает только в мессенджерах без какой-либо документации, CAID в описании не совпадают с реально доступными после подключения.
Тестовый период и техподдержка
Нормальная техподдержка умеет отвечать на конкретные вопросы: «У меня CAID 0500, ident 042800 — есть ли это на вашем сервере?». Если в ответ получаешь «всё работает, попробуй переподключиться» — это не поддержка.
Ещё один маркер качества — прозрачность по CAID. Хороший провайдер заранее публикует список поддерживаемых CAID и ident. Если эта информация скрыта — вероятно, скрывать есть что.
Какой порт использует CCcam по умолчанию?
По умолчанию CCcam слушает на порту 12000. Задаётся директивой SERVER LISTEN PORT : 12000 в CCcam.cfg. Этот порт должен быть открыт в фаерволе и проброшен на роутере — без этого клиенты извне не смогут подключиться. На стороне клиента порт указывается в строке C: после hostname.
Где находится файл конфигурации OScam?
Зависит от прошивки. На OpenATV и OpenPLi — чаще всего /etc/tuxbox/config/. На некоторых сборках — /var/keys/ или /usr/keys/. На классическом Linux при сборке из исходников — /etc/oscam/. Основные файлы: oscam.conf, oscam.server, oscam.user. Путь к конфигу можно передать при запуске через параметр -c /path/to/config/.
Почему каналы не открываются при активном соединении?
Соединение установлено, но CW не возвращается — это классический сценарий. Первое, что проверить: совпадают ли CAID и ident между запросом и тем, что поддерживает ридер. Второе — совпадают ли группы в oscam.server (group ридера) и oscam.user (group пользователя). Если группы не совпадают, ECM-запрос до ридера просто не доходит. Третье — наличие нужной карты на сервере: статус no card в веб-интерфейсе говорит именно об этом.
В чём разница между CCcam и OScam?
CCcam — исторически первый и простой в настройке. Один файл конфига, понятный формат, большинство провайдеров выдают данные именно под него. OScam сложнее, но мощнее: поддерживает несколько протоколов одновременно, cache exchange, детальную фильтрацию по caid/ident, anti-cascading и гибкую маршрутизацию ECM через группы. Для простого клиентского подключения CCcam проще. Для сложной инфраструктуры с несколькими ридерами — OScam.
Что означает параметр hop в кардшаринге?
Hop — количество промежуточных серверов между физической картой и твоим ресивером. Hop 1 означает прямую локальную карту без посредников. Hop 2 — один промежуточный сервер. Каждый дополнительный hop добавляет задержку. На практике hop 3 и выше часто вызывает фризы на HD-каналах, потому что они обновляют CW чаще, чем SD, и задержка становится критичной.
Как проверить, открыт ли порт сервера?
С клиентской стороны: telnet hostname 12000 или nc -zv hostname 12000. Если соединение устанавливается — порт открыт. На самом сервере: netstat -tlnp | grep 12000 или ss -tlnp | grep 12000 — убедиться, что процесс реально слушает порт. Также проверь правила фаервола: iptables -L -n | grep 12000. Не забудь про роутер — при работе за NAT порт нужно пробросить явно.