OScam и CCcam: настройка сервера и протоколов
Если вы уже разбирались с шарингом и хотите наконец разобраться с конфигами — вы по адресу. Связка oscam cccam встречается повсеместно: один выступает сервером, другой клиентом, и между ними постоянно что-то идёт не так. Порты не открываются, ридеры коннектятся но каналы молчат, ECM падает в timeout — классика. Разберём всё по порядку: от разницы между двумя системами до чтения логов и диагностики.
OScam и CCcam: в чём разница и что выбрать
Путаница начинается с того, что слово "CCcam" обозначает сразу два разных понятия: конкретный программный продукт и сетевой протокол. Протокол CCcam — это способ передачи ECM-запросов и DCW-ответов между клиентом и сервером. Сам софт CCcam использует этот протокол, но делает это уже OScam, и многие другие эмуляторы тоже его понимают.
Что такое протокол CCcam и как он работает
Протокол CCcam работает поверх TCP, стандартный порт — 12000. Клиент подключается к серверу, авторизуется парой логин/пароль и получает список доступных карт. Дальше клиент отправляет ECM-пакет для расшифровки, сервер возвращает DCW — Control Word — которое и открывает канал.
Шифрование в протоколе слабое, handshake основан на SHA1. Это не баг, это особенность архитектуры 2005 года. Для внутренней сети — нормально, для публичного интернета — надо понимать риски.
OScam как современная замена: преимущества и недостатки
OScam — это мультипротокольный эмулятор карт, который умеет работать одновременно как сервер и как клиент по нескольким протоколам: CCcam, cs378x (аналог CCcam, но с шифрованием), newcamd, camd3 и другим. Активно разрабатывается, последние сборки 2026 года стабильно работают на Enigma2 через DVB-API.
Недостаток OScam один, но ощутимый: конфигурация. Несколько файлов, параметр group как ключевая связка между reader и user — и если не понять логику, будешь час смотреть на подключённый ридер и нерабочие каналы.
CCcam проще: один файл конфига, понятный синтаксис C: и F: строк. Но развитие остановилось, баги не фиксятся, и на современных сборках Enigma2 периодически вылезают проблемы с DVB-API.
Когда нужен CCcam, а когда OScam
CCcam имеет смысл, если у вас старый ресивер с прошивкой, которая не поддерживает современные сборки OScam, или если вы настраиваете что-то быстро и на один раз. Для серьёзной, долгосрочной установки — OScam. Стабильнее, гибче, активно поддерживается сообществом.
Совместимость OScam с протоколом CCcam
OScam полностью поддерживает протокол CCcam как на стороне клиента (reader с protocol = cccam), так и на стороне сервера (параметр cccam в [newcamd] секции или отдельный listener). Это значит, что вы можете держать OScam-сервер, к которому подключаются обычные CCcam-клиенты. Или наоборот — OScam как клиент к CCcam-серверу. Связка oscam cccam в любом направлении работает без костылей.
Структура конфигурационных файлов OScam
Главная причина, почему у людей не работает шаринг после, казалось бы, правильной настройки — они не понимают, что файлы не независимы. Параметр group в oscam.server и oscam.user должен совпадать. Читер не подберёт нужный ридер без совпадения групп. Это не очевидно из документации, и об этом почти никто не пишет.
Расположение конфигов на разных платформах
На Enigma2 (Dreambox, VU+, Vu+Uno, Zgemma и прочие) конфиги обычно лежат в одном из двух мест: /etc/tuxbox/config/ или /var/etc/. Точный путь зависит от сборки — OpenATV, OpenPLi, DreamElite используют разные дефолты. Надёжнее всего посмотреть в логе запуска OScam строку ConfigDir: — там будет точный путь.
На чистом Linux (Debian, Ubuntu, Raspberry Pi) стандартный путь после ручной установки — /etc/oscam/. Файлы: oscam.conf, oscam.server, oscam.user, oscam.services, oscam.dvbapi.
oscam.conf — глобальные параметры и веб-интерфейс
Минимальный рабочий oscam.conf выглядит так:
[global]
logfile = /tmp/oscam.log
loglevel = 64
maxlogsize = 500
[webif]
httpport = 8888
httpuser = admin
httppwd = admin
httprefresh = 10
Порт веб-интерфейса — 8888 по умолчанию, на некоторых сборках меняют на 83 или 8080. Веб-морда показывает статусы ридеров в реальном времени — без неё диагностика сильно сложнее.
oscam.server — описание readers
Каждый ридер — это отдельная секция. Пример для подключения по протоколу CCcam:
[reader]
label = myserver
protocol = cccam
device = example-server.com,12000
user = mylogin
password = mypassword
group = 1
cccversion = 2.3.0
cccmaxhops = 1
reconnecttimeout = 30
Параметр group = 1 — ключевой. Он связывает этот ридер с пользователями, у которых в oscam.user прописан тот же номер группы. Без совпадения групп ридер будет подключён, но ECM-запросы от клиентов к нему не пойдут.
cccversion — версия протокола. Важно, чтобы она совпадала или была совместима с версией сервера. Несовпадение версий даёт красивый коннект на уровне TCP, но расшифровка не работает или обрывается через несколько минут.
oscam.user — учётные записи клиентов
[account]
user = localclient
pwd = clientpassword
group = 1,2
au = 1
Параметр group здесь — список групп, из которых этот клиент может получать ключи. Если у вас два ридера (group=1 и group=2), и клиент прописан только в group=1 — второй ридер для него недоступен.
oscam.services и oscam.dvbapi
oscam.services позволяет ограничить доступ конкретного клиента определёнными CAID и SID. Полезно, если хотите разграничить доступ к пакетам. oscam.dvbapi нужен для локального декодирования через DVB-API — там указываются интерфейсы и адаптеры.
Настройка CCcam.cfg: клиент и сервер
Файл конфига лежит по пути /var/etc/CCcam.cfg на Enigma2 или /etc/CCcam.cfg на Linux. Синтаксис простой, строки начинаются с ключевых слов.
Строка C: для подключения к серверу
Строка подключения к удалённому серверу:
C: example-server.com 12000 mylogin mypassword no { 0:0:2 }
Формат: C: hostname port username password no/yes { reshare_options }. Последнее поле — ограничение по reshare. no означает, что карту не пересдаёшь дальше. { 0:0:2 } задаёт лимит hops при reshare.
Пустые строки и комментарии (начинаются с #) CCcam игнорирует. Можно держать несколько C: строк — CCcam будет использовать их как резервные серверы.
Строка F: для раздачи локальной карты клиентам
F: clientlogin clientpassword 1 0 0 0 { 001B:000000 }
Формат: F: username password reshare maxdown maxup ident { caid:providerid }. Строка F: создаёт учётную запись для клиента, который хочет подключиться к вашему CCcam-серверу. Если за NAT — нужен проброс порта 12000 на ваш ресивер/сервер, иначе клиенты снаружи не достучатся.
Параметры SERVER LISTEN PORT и WEBINFO LISTEN PORT
SERVER LISTEN PORT : 12000
WEBINFO LISTEN PORT : 16001
Порт 12000 — основной шаринговый, 16001 — веб-статистика CCcam. Веб-интерфейс CCcam довольно скромный по сравнению с OScam, но показывает подключённых клиентов и список карт.
Опции hops, distance и share limits
ALLOW PICTURE SHARING : no
ALLOW EMM CACHE : yes
CCcam VERSION : 2.3.2
IGNORE SERVICE RESTRICTIONS : yes
CCcam VERSION важен: если клиент объявляет версию, несовместимую с сервером, handshake завершается, но расшифровка может давать сбои. Лучше держать одинаковые версии на обоих концах. Параметр MAX HOPS ограничивает, на сколько прыжков уходит ваша карта в сеть — для прямого использования достаточно 1.
Диагностика и устранение неполадок шаринга
Большинство проблем с oscam cccam диагностируются за 10 минут, если знать, куда смотреть. Слепая перенастройка конфигов наугад — потеря времени.
Анализ логов: oscam.log и уровни логирования
По умолчанию loglevel = 64 (стандартные сообщения). Для диагностики включаем debug:
[global]
logfile = /tmp/oscam.log
loglevel = 255
Уровень 255 — максимальная детализация. Лог растёт быстро, поэтому после диагностики лучше вернуть 64. Смотреть лог можно прямо в веб-интерфейсе OScam (вкладка Logs) или через tail -f /tmp/oscam.log по SSH.
В логе ищем строки с нужным CAID. Например, для Viacess ищем 0500, для Nagravision — 1801, для Irdeto — 0600. Фильтр: grep "0500" /tmp/oscam.log.
Статусы ECM: dcw, rejected, timeout
dcw (got) — расшифровка прошла успешно, канал должен открыться. Если видите это в логе, но картинка не идёт — проблема уже не в шаринге, а в DVB-стеке или плеере.
rejected — ридер отклонил запрос. Причины: неверная группа (клиент не в группе ридера), запрошенный CAID недоступен на этом ридере, или сервис в чёрном списке oscam.services. Смотрим на совпадение group в oscam.server и oscam.user — это первое, что проверяем.
timeout — запрос ушёл, ответа нет. Сетевая задержка, перегруженный источник, или порт закрыт файрволом на сервере. ECM-время выше 3000 мс обычно означает либо дальний хоп (hops > 1), либо перегруженный сервер.
Проблема 'card not found' и неверный CAID/Provider ID
Если в логе видите no matching reader found или card not found — ридер есть, но он не обслуживает запрошенный CAID. Частая ситуация: канал поменял CAID или Provider ID после обновления пакета. Смотрим реальный CAID канала в веб-интерфейсе OScam (вкладка Services/Status), сравниваем с тем, что отдаёт ридер.
Отдельный случай — каналы с BISS. Для них нет карты как таковой, нужно вручную прописывать ключ в файл oscam.keys в формате F <SID> 00 <key>. OScam прочитает его автоматически, но только если файл лежит в правильном ConfigDir.
Freeze каналов, рассинхрон ECM и долгое открытие
Freeze при нормально открывшемся канале — почти всегда ECM-время. Норма для HD-каналов — до 300–400 мс. Если время прыгает до 1500–3000 мс, картинка будет периодически замерзать. HD-каналы требуют более частого обновления CW по сравнению с SD, поэтому задержка ощущается острее.
При нескольких ридерах с одинаковым CAID OScam автоматически балансирует нагрузку через loadbalancing. Но если приоритеты не настроены явно через параметр caid или services в oscam.server, может выбираться более медленный ридер. Параметр lb_mode в oscam.conf управляет алгоритмом выбора.
Рассинхрон версий протокола CCcam между клиентом и сервером даёт интересный эффект: соединение устанавливается, первые несколько каналов могут открыться, а потом начинаются обрывы. Проверяйте совпадение cccversion в oscam.server с реальной версией сервера.
Проверка соединения через telnet на порт 12000
Быстрая проверка доступности порта без лишних инструментов:
telnet example-server.com 12000
Если соединение открылось — порт доступен, TCP работает. Если Connection refused — порт закрыт или сервис не запущен. Если Connection timed out — между вами и сервером есть файрвол, который дропает пакеты.
Чеклист при отладке: пинг до сервера (latency), telnet на порт 12000, совпадение user/pass в oscam.server и на сервере, совпадение group между oscam.server и oscam.user, правильный CAID в запросе, открытость порта на сервере (если за NAT — проброс).
После обновления прошивки Enigma2 конфиги OScam иногда слетают — особенно если обновление перезаписывает /var/etc/. Решение простое: держите резервную копию директории с конфигами, восстанавливать займёт минуту. На некоторых сборках есть плагин для автобэкапа настроек — используйте его.
Как выбрать источник для шаринга: критерии без названий
Здесь принципиально важно: речь идёт только о работе с легально приобретёнными картами и собственными подписками. Тестирование оборудования, настройка домашней сети, проверка совместимости декодеров — всё это законные применения шаринга.
На что смотреть: стабильность ECM-времени и uptime
Первый критерий — ECM-время. Хороший источник даёт стабильные 100–300 мс без скачков. Если время гуляет от 200 до 2000 мс в течение дня — источник перегружен или нестабилен. OScam показывает среднее и максимальное ECM-время в веб-интерфейсе на странице Reader — смотрите там.
Второй критерий — частота rejected и timeout. Единичные ошибки нормальны. Если процент rejected больше 5–10% — что-то не так: либо ваш CAID не обслуживается, либо источник деградировал. Uptime меньше 95% в месяц — тоже красный флаг для чего-то, что должно работать постоянно.
Локальные карты против реселлеров
Прямая локальная карта — карта физически в кардридере вашего сервера или ресивера. Самый надёжный вариант: никаких посредников, ECM-время минимально (10–50 мс), нет зависимости от чужой инфраструктуры.
Пиринговый шаринг — карта где-то в интернете. ECM-время растёт с каждым хопом примерно на 50–150 мс. Надёжность зависит от того, насколько стабильно работает цепочка серверов между вами и источником.
Тестовый период и проверка перед оплатой
Нормальная практика при оценке любого источника — тест на 24–48 часов в разное время суток. Прайм-тайм (19:00–23:00) — самая высокая нагрузка. Если в это время ECM-время держится в норме и нет freeze — источник справляется. Тест только в ночное время ничего не скажет о реальной производительности.
В OScam включаем лог с loglevel = 64, через сутки смотрим статистику ридера: количество dcw, rejected, timeout. Нормальное соотношение — dcw больше 95%, всё остальное суммарно меньше 5%.
Юридические аспекты и легальные сценарии использования
Шаринг собственной карты между своими устройствами в одной домашней сети — технически и юридически иная ситуация, чем доступ к чужим картам. Если у вас оплаченная подписка и физическая карта, настройка локального OScam-сервера для нескольких ресиверов в доме — законный сценарий в большинстве юрисдикций. Доступ к картам, которые вам не принадлежат — другая история, и здесь каждый принимает решение самостоятельно, понимая последствия.
Частые вопросы
Какой порт по умолчанию использует протокол CCcam?
Стандартный порт для шаринга — 12000 (TCP). Веб-интерфейс CCcam обычно висит на 16001. В OScam порт для протокола CCcam задаётся в секции [reader] через параметр device: device = hostname,12000. Если сервер нестандартный — уточняйте порт у владельца сервера или в настройках своего аккаунта.
Может ли OScam работать с серверами по протоколу CCcam?
Да, полностью. В oscam.server указываете protocol = cccam, и OScam подключается как клиент к любому CCcam-совместимому серверу. Обратно тоже работает: OScam может принимать подключения от CCcam-клиентов. Это одна из причин, почему связка oscam cccam так распространена — они совместимы в любом направлении.
Почему reader подключается, но каналы не открываются?
Первое, что проверяем — параметр group. В oscam.server у ридера должна быть группа (например, group = 1), и в oscam.user у клиента та же группа должна быть прописана. Если группы не совпадают — ридер подключён, но запросы от клиента к нему не идут. Второй вариант — неверный CAID или SID, которых нет на этом ридере. Третий — ECM timeout из-за сетевых проблем.
Где лежат конфигурационные файлы OScam на Enigma2?
Зависит от сборки. Наиболее распространённые пути: /etc/tuxbox/config/ (старые сборки), /var/etc/ (OpenATV, OpenPLi), /etc/oscam/ (ручная установка на Linux). Надёжнее смотреть в логе запуска OScam — там есть строка ConfigDir: /path/to/configs, которая не врёт.
Что означает статус 'timeout' в ECM-логах?
Запрос на расшифровку ушёл к ридеру, но ответ не пришёл в отведённое время. Причины: сетевая задержка между вами и сервером, перегруженный источник (слишком много клиентов), или порт 12000 заблокирован файрволом где-то на пути. Проверяем через telnet на порт, смотрим на ping до сервера, и убеждаемся, что на стороне сервера нет ограничений по нагрузке.
Чем CCcam отличается от OScam простыми словами?
CCcam — старый простой софт и одноимённый протокол шаринга. Настраивается за 5 минут, один файл конфига, всё понятно. Но разработка остановилась, баги не исправляются. OScam — современный мультипротокольный эмулятор, умеет CCcam и ещё десяток других протоколов, активно поддерживается, стабильнее на современном железе. Конфигурация сложнее: несколько файлов, нужно понимать логику групп. Для серьёзной установки — OScam, для быстрого теста — 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 или внешние мониторы.