Настройка шаринга CCcam и OScam: полное руководство 2026
Если вы уже знаете, что такое контрольное слово и зачем вообще нужен шаринг — эта статья для вас. Здесь не будет воды про "что такое спутниковое ТВ". Разберём настройку шаринга по-настоящему: конкретные файлы, синтаксис, команды и диагностика, когда что-то идёт не так.
Я прошёл через дюжину конфигураций на Enigma2-боксах и Linux-серверах, и большинство проблем — одни и те же. Неверная группа, закрытый порт, кривая C-line. Давайте разберём всё по порядку.
Что такое настройка шаринга и какие протоколы участвуют
Суть проста: когда ресивер встречает зашифрованный пакет, он отправляет ECM-запрос (Entitlement Control Message) на сервер с картой. Сервер расшифровывает контрольное слово (CW) и отдаёт его обратно. Ресивер использует CW для декодирования картинки. Весь этот обмен должен уложиться примерно в 300–500 мс — иначе начнутся фризы.
EMM-сообщения — это уже про управление правами самой карты, но для клиентской настройки шаринга они обычно не нужны. Важно понимать: один и тот же сервер может одновременно быть клиентом одной линии и сервером для другой. Это стандартная топология.
Протокол CCcam (CWS) и его особенности
CCcam — это проприетарный протокол, разработанный специально для card sharing. Работает через TCP, порт чаще всего 12000, но может быть любым — как договоришься с источником. Авторизация идёт через username/password в C-line.
Из плюсов: простота. Добавил строку в конфиг — и через несколько секунд соединение есть. Из минусов: слабая гибкость, нет тонких фильтров по CAID, при нагрузке хуже себя ведёт, чем OScam.
Протокол CAMD35/newcamd в OScam
OScam поддерживает несколько протоколов одновременно: camd35, newcamd, cccam, radegast. Newcamd исторически используется во многих схемах, особенно там, где нужна авторизация с DES-ключом. CAMD35 проще, работает без DES.
В конфиге reader протокол указывается явно: protocol = cccam или protocol = newcamd. Это определяет, как именно OScam общается с источником карты.
Чем отличается клиент от сервера в схеме шаринга
Клиент — это тот, кто запрашивает CW. Сервер — тот, кто отдаёт. В CCcam клиент прописывает C-line (C:), сервер прописывает F-line (F:) для выдачи доступа. В OScam клиент — это reader с удалённым источником, сервер — это [account] в oscam.user, которому разрешён доступ.
На практике один Enigma2-бокс с физической картой может быть сервером для нескольких клиентов в локальной сети — это самый надёжный сценарий, потому что исключает цепочку решара.
Когда выбирать CCcam, а когда OScam
CCcam — если нужно быстро поднять клиента на старом боксе, минимум файлов, минимум настроек. OScam — если планируете сервер, нужна детальная статистика, несколько ридеров, fallback-логика или фильтры по CAID. Я бы советовал сразу привыкать к OScam — он стабильнее под нагрузкой и даёт намного больше информации для диагностики.
Настройка клиента CCcam: файл CCcam.cfg
Настройка шаринга через CCcam начинается с одного файла. Никаких директорий, никаких подконфигов — всё в одном месте.
Расположение файла: /var/etc/CCcam.cfg
На Enigma2-боксах (OpenATV, OpenPLi, E2iPlayer) стандартный путь — /var/etc/CCcam.cfg. На некоторых образах встречается /etc/CCcam.cfg. Проверьте через SSH командой find / -name "CCcam.cfg" 2>/dev/null — найдёт сразу.
Файл обычный текстовый, редактируется через nano или vi прямо на боксе, либо через FTP-клиент (FileZilla, WinSCP). Кодировка — UTF-8 без BOM, иначе могут быть проблемы с чтением.
Строка C-line: синтаксис и параметры
Формат C-line выглядит так:
C: hostname port username password [no/yes] [no/yes]
Пример реальной строки:
C: share.example.net 12000 myclient mysecretpass no no
Первый булеан — разрешать ли передачу карт (reshare) дальше. Второй — принимать ли EMM (обновление прав карты). Для обычного клиента оба ставятся в no. Если хотите, чтобы клиент сам мог передавать карты другим — первый в yes, но это уже серверный сценарий.
Hostname может быть как IP-адресом (93.184.216.34), так и доменом. Домен надёжнее при динамическом IP на стороне сервера.
Параметры F-line и share-настройки
F-line — это разрешение для клиента, который подключается к вашему CCcam-серверу:
F: clientusername clientpassword 1 0 0 0 { 0:0:1 }
Третий параметр (1) — уровень решара: сколько "прыжков" от карты разрешено передавать этому клиенту. 0 — только карты с локального ридера, без решара. Четвёртый (0) — разрешение на EMM.
В фигурных скобках через двоеточие прописываются ограничения по CAID:provid:serviceid. 0:0:1 означает доступ ко всем картам без фильтров.
Перезапуск демона и проверка подключения
После правки конфига CCcam нужно перезапустить:
killall -9 CCcam
/etc/init.d/CCcam start
Или через один скрипт, если он есть:
/etc/init.d/CCcam restart
Веб-интерфейс CCcam доступен на порту 16001 — но только если в конфиге прописано WEBINFO PORT: 16001. Открываете в браузере http://192.168.1.X:16001, видите список C-lines со статусами CONNECTED/OFFLINE. Если статус OFFLINE — либо неверный пароль, либо закрытый порт, либо сервер недоступен.
Настройка сервера и клиента OScam: dvbapi, server, user
OScam разделяет конфигурацию на несколько файлов — каждый отвечает за свою часть. Сначала это кажется избыточным, но на практике это большое удобство: меняешь ридер — трогаешь только oscam.server, меняешь пользователя — только oscam.user.
Структура конфигов: oscam.conf, oscam.server, oscam.user, oscam.dvbapi
Стандартный путь конфигов на Linux-сервере: /etc/oscam/. На Enigma2 с плагином OScam это чаще /etc/tuxbox/config/ или /var/keys/ — зависит от дистрибутива.
- oscam.conf — глобальные настройки: порты веб-интерфейса, логирование, dvbapi
- oscam.server — описание ридеров (источников карт или линий)
- oscam.user — аккаунты клиентов, которые подключаются к вашему OScam-серверу
- oscam.dvbapi — привязка к DVB-адаптеру ресивера
Секция [dvbapi] и привязка к ресиверу
В oscam.conf секция [dvbapi] выглядит так:
[dvbapi]
enabled = 1
user = dvbapi
boxtype = dreambox
au = 1
Параметр user здесь — это имя специального аккаунта в oscam.user, который OScam использует для внутренних ECM-запросов от ресивера. Создайте его отдельно с нужными правами. boxtype — тип бокса: dreambox, dbox2, neutrino, и т.д. Неверный тип — и dvbapi не заработает.
Важный момент: если на боксе одновременно запущены CCcam и OScam, они будут конфликтовать за dvbapi-интерфейс. Два демона не могут одновременно управлять дескрамблером. Один из них должен быть выключен — это частая причина, когда "всё настроено, а картинка не идёт".
Настройка reader для приёма карты или линии
В oscam.server ридер для подключения к внешней CCcam-линии:
[reader]
label = myline
protocol = cccam
device = share.example.net,12000
user = myclient
password = mysecretpass
group = 1
cccversion = 2.3.0
reconnecttimeout = 30
Параметр group — ключевой. Он должен совпадать с группой в oscam.user для того аккаунта, которому разрешено использовать этот ридер. Несовпадение группы — самая частая причина ошибки "no matching reader" в логах.
Для локальной физической карты в картридере:
[reader]
label = localcard
protocol = internal
device = /dev/sci0
group = 1
detect = cd
mhz = 357
cardmhz = 357
Веб-интерфейс OScam на порту 8888
В oscam.conf в секции [webif]:
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httprefresh = 10
Если httpport не указан или закомментирован — веб-интерфейс просто не запустится. Никакого сообщения об ошибке не будет. Заходите на http://192.168.1.X:8888, видите таблицу ридеров, аккаунтов и ECM-time в реальном времени.
Проверка работы и диагностика шаринга
Хорошая диагностика — это половина успешной настройки шаринга. OScam даёт достаточно информации, чтобы понять, где именно ломается цепочка.
Чтение логов OScam и анализ ECM-time
Смотрим лог в реальном времени:
tail -f /var/log/oscam/oscam.log
Или если логирование идёт в системный журнал:
journalctl -fu oscam
Нормальная строка успешного ECM выглядит примерно так:
2026/04/15 21:33:12 c user dvbapi (127.0.0.1) found (1 ms) by myline (0500/000000/1234/00)
Время в скобках — это ECM-time. До 300 мс — отлично. 300–500 мс — приемлемо. Выше 700 мс — начнутся фризы. Выше 1000 мс — канал вообще не откроется на многих боксах.
Статусы подключения в веб-интерфейсе
В таблице ридеров OScam на порту 8888 смотрите колонку Status. CONNECTED — ридер работает, карта/линия отвечает. OFFLINE — нет соединения. CARDOK — локальная карта читается. CARDNOT — карта не определена.
CONNECTED, но каналы не открываются — это уже проблема с правами: либо нужный CAID не входит в эту линию, либо group не совпадает, либо провайдер пакета просто не присутствует на этой карте.
Типичные коды ошибок и что они значат
- no matching reader — нет ни одного ридера с нужной группой или нужным CAID. Проверьте group в oscam.server и oscam.user.
- group mismatch — прямая ошибка несовпадения групп. Значение group в [reader] должно быть перечислено в поле group аккаунта в oscam.user.
- card not found — ридер подключён, но карта не отвечает на этот CAID. Линия может просто не содержать нужный пакет.
- decode error — карта есть, но CW не расшифровывается. Часто — несовпадение версии эмулятора или повреждённые данные EMM.
Проверка открытия каналов разных пакетов
Переключитесь на канал, зайдите в веб-интерфейс OScam и смотрите вкладку "Live Log". Вы увидите, какой CAID запрашивается для этого канала. Сравните с тем, что реально отдаёт ваш ридер (вкладка Readers → Cards). Если CAID есть в карте, но канал не открывается — смотрите на версию прошивки эмулятора: иногда конкретный SID (Service ID) требует обновлённых ключей.
Как выбрать провайдера линии: критерии без привязки к именам
Провайдеров линий — десятки, и большинство рекламируют себя примерно одинаково. Вот на что я смотрю реально при выборе.
На что смотреть: стабильность ECM-time и аптайм
Главный показатель — ECM-time в часы пиковой нагрузки (вечер, 20:00–23:00). Попросите тестовую линию и погоняйте её именно в это время, а не в 3 ночи. Нормальный провайдер с локальной картой даёт стабильные 50–150 мс. Если видите скачки до 400–800 мс в пике — это многоуровневый решар с перегруженным источником.
Аптайм важен не меньше. Провайдер, у которого линия падает на 10 минут каждый день в одно и то же время — это красный флаг, не случайность.
Локальные карты vs решары
Локальная карта у провайдера — это когда физическая смарт-карта стоит прямо в его сервере. ECM-time минимальный, нет промежуточных звеньев, которые могут упасть. Это лучший вариант.
Решар (reshare) — это когда провайдер сам является клиентом другого сервера и перепродаёт доступ. Каждое звено добавляет 20–80 мс к ECM-time и новую точку отказа. Трёхуровневый решар в пиковые часы легко даёт 600+ мс и периодические фризы, даже если ваш интернет идеален — проблема может быть у источника второго или третьего уровня.
Тестовый период и техподдержка
Нормальный провайдер даёт тест на 24–48 часов без оплаты. Меньше 24 часов — недостаточно, чтобы оценить стабильность. Техподдержка должна отвечать хотя бы в течение нескольких часов. Если на тестовый запрос отвечают через два дня — с проблемами в платном периоде будет то же самое.
Красные флаги ненадёжного источника
- Обещания "100% аптайм" без тестового доступа — маркетинговая ложь
- Нет информации о том, какие именно CAID и пакеты включены в линию
- ECM-time в тесте нестабильный: 80 мс, потом 600 мс, потом снова 80 — явный признак решара с нестабильным источником
- Линия идёт только через один IP без альтернативного хоста — упадёт сервер, и вы без доступа
- Карты "отваливаются" после 21:00 и восстанавливаются ночью — перегрузка из-за слишком большого числа клиентов на одну карту
Безопасность и стабильность соединения
Даже при правильной настройке шаринга соединение может быть нестабильным из-за сетевых проблем или неверной конфигурации автозапуска.
Проброс портов и работа за NAT
Если ваш бокс или сервер находится за роутером, а вы хотите принимать входящие подключения (то есть быть сервером для других) — нужен проброс портов. В роутере настраивается Port Forwarding: внешний порт 12000 → внутренний IP 192.168.1.X, порт 12000. То же для веб-интерфейса, если нужен доступ снаружи.
Если провайдер использует двойной NAT (CGNAT) — у вас нет белого IP, проброс невозможен. В этом случае ваш бокс может работать только как клиент, не как сервер. Для проверки: ваш внешний IP (через 2ip.ru или аналог) должен совпадать с IP на роутере. Если нет — вы за CGNAT.
Защита от лишних подключений в конфиге
В oscam.user для каждого аккаунта можно жёстко ограничить доступ:
[account]
user = client1
pwd = pass123
group = 1
maxconnections = 1
caid = 0500,0B00
au = 1
Параметр maxconnections = 1 не даст одному аккаунту подключиться с двух устройств одновременно. caid ограничивает, какие пакеты этот клиент вообще может запрашивать. Это важно, если вы раздаёте линию нескольким людям — каждый получает только свой пакет.
Автозапуск демона при перезагрузке
На Enigma2 автозапуск обычно прописан уже в плагине. На Linux-сервере добавьте в cron:
@reboot /usr/bin/oscam -b -c /etc/oscam/ &
Или создайте systemd-юнит /etc/systemd/system/oscam.service — это надёжнее:
[Unit]
Description=OScam card server
After=network.target
[Service]
ExecStart=/usr/bin/oscam -b -c /etc/oscam/
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Активируйте: systemctl enable oscam && systemctl start oscam. С параметром Restart=on-failure демон поднимется автоматически, если упадёт.
Резервная линия и failover в OScam
Это то, чего почти нет в документации CCcam, но в OScam реализовано отлично. Добавьте второй ридер с параметром fallback = 1:
[reader]
label = backupline
protocol = cccam
device = backup.example.net,12000
user = backupuser
password = backuppass
group = 1
fallback = 1
OScam будет использовать этот ридер только если основной не ответил за reconntimeout секунд. Переключение происходит автоматически, без вашего участия. При восстановлении основного ридера OScam возвращается к нему. Это сделает вашу настройку шаринга значительно устойчивее к обрывам у провайдера.
Частые вопросы
Где лежит файл конфигурации CCcam на ресивере?
Стандартный путь на Enigma2 — /var/etc/CCcam.cfg. На некоторых образах (например, старых DreamElite) он может быть в /etc/CCcam.cfg. Быстро найти: find / -name "CCcam.cfg" 2>/dev/null. После любой правки файла обязательно перезапустите демон — killall -9 CCcam, затем запуск через init-скрипт.
Какой порт используется для шаринга по умолчанию?
Единого стандарта нет — порт согласовывается с источником линии. CCcam чаще всего работает на 12000, его веб-интерфейс — на 16001. OScam использует тот порт, который вы прописали в reader; веб-интерфейс обычно настраивают на 8888. Если провайдер линии даёт порт 15000 — используйте 15000, не меняйте под себя.
Почему открываются не все каналы при правильном конфиге?
Три основные причины. Первая — линия просто не содержит нужный CAID или пакет: смотрите в OScam, какой CAID запрашивает канал, и сравнивайте с тем, что реально есть в ридере. Вторая — решар не отдаёт все карты из-за ограничений на уровне решара выше. Третья — ECM-time слишком высокий, и канал таймаутится прежде, чем получает CW. Лог OScam покажет, какая именно из этих причин.
Чем OScam лучше CCcam для настройки сервера?
OScam даёт полноценный контроль: раздельные конфиги для каждой сущности, фильтры по CAID и провайдеру, fallback-reader для автоматического переключения на резервную линию, детальная статистика ECM-time по каждому аккаунту и ридеру. CCcam проще для быстрого старта клиента, но как сервер — значительно слабее под нагрузкой и почти не поддаётся тонкой настройке.
Что означает высокий ECM-time и как его снизить?
ECM-time — это время, за которое ваш ресивер получает контрольное слово от источника. Выше 500–700 мс начинаются фризы, выше 1000 мс канал вообще может не открыться. Причины: длинная цепочка решара (каждый уровень добавляет задержку), сетевые задержки между вами и источником, перегруженный сервер провайдера. Снижается выбором линии с локальной картой и стабильным каналом до источника.
Как проверить, что линия вообще подключилась?
В веб-интерфейсе CCcam на порту 16001 статус C-line должен быть CONNECTED. В OScam на порту 8888 в таблице ридеров ищите статус CONNECTED или CARDOK. В логе успешное подключение видно как "connected to..." или "card found". Статус OFFLINE — либо неверные данные авторизации, либо закрытый порт на стороне сервера, либо сервер недоступен. Проверьте telnet hostname 12000 — если соединение устанавливается, порт открыт.
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.