Cardserver на Windows: установка CCcam и OScam 2026

Большинство мануалов по настройке кардшаринга написаны под Linux или прошивки ресиверов — Enigma2, OpenPLi. Когда доходит до запуска cardserver windows, инструкций почти нет, и люди начинают изобретать велосипед. Я собрал в одном месте всё, что нужно: от выбора окружения до диагностики по логам.

Можно ли вообще запустить cardserver на Windows и какой софт выбрать

Коротко: да, можно. Но не напрямую. Windows не является нативной платформой ни для CCcam, ни для OScam — оба написаны под Linux. Разница в том, что OScam собирается и работает под Cygwin или WSL2, а CCcam — нет.

CCcam под Windows: почему нативной сборки нет

CCcam — это закрытый проприетарный бинарник, собранный только под Linux ARM/MIPS и x86 Linux. Официального Windows-порта не существует и, судя по всему, никогда не планировалось. Попытки запустить его через Wine тоже не дают результата — слишком глубокая завязка на Linux-специфичные системные вызовы.

Единственный способ получить CCcam на Windows — запустить его внутри виртуальной машины с Linux. Об этом ниже.

OScam через Cygwin — рабочий вариант под Windows

OScam — open source, и его можно собрать под Cygwin (Unix-окружение для Windows). Это работает. Я сам тестировал на Windows 10 22H2 и Windows 11 23H2 — oscam.exe запускается, веб-интерфейс доступен, клиенты подключаются по CCcam-протоколу на порт 12000.

Но у Cygwin есть свои нюансы: права доступа к файлам работают не так, как в Linux, автозапуск как службы требует отдельных танцев, а антивирусы периодически блокируют бинарник. Для теста и разовых задач — нормально. Для постоянного сервера — лучше WSL2.

Альтернатива: запуск в WSL2 или виртуальной машине

WSL2 (Windows Subsystem for Linux 2) — это полноценное Linux-ядро внутри Windows. Там OScam собирается и запускается так же, как на обычном Debian/Ubuntu, без костылей Cygwin. Проброс портов между WSL2 и хостом нужно настраивать вручную, но это несложно.

VirtualBox или Hyper-V с Debian 12 — самый стабильный вариант для продакшена. Полная изоляция, нормальный systemd, нет проблем с правами и DLL. Из минусов — нужны ресурсы на VM и нельзя просто забыть выключить компьютер.

Метод Сложность Стабильность Автозапуск
Cygwin Средняя Удовлетворительная Сложно
WSL2 Средняя Хорошая Через Task Scheduler
Linux VM Высокая Отличная systemd/init

Установка OScam на Windows через Cygwin: пошагово

Разберём путь через Cygwin — он самый быстрый для тех, кто не хочет разворачивать полноценную VM. Скачать Cygwin можно с официального сайта cygwin.com, установщик называется setup-x86_64.exe.

Установка Cygwin и нужных пакетов (gcc, make, libusb)

При установке Cygwin в разделе выбора пакетов нужно отметить следующее:

  • Devel: gcc-core, gcc-g++, make, cmake, git, binutils
  • Libs: libusb1.0-devel, libncurses-devel, libssl-devel, zlib-devel
  • Utils: wget, curl, nano

Если что-то из этого пропустить, сборка упадёт с ошибкой на этапе configure. Лучше поставить всё сразу, чем потом перезапускать setup по три раза.

Получение готового бинарника или сборка из исходников

Можно найти готовые Cygwin-билды oscam.exe — они собраны с определённым набором ридеров и протоколов. Удобно, но не всегда актуально. Если нужна конкретная версия или поддержка специфического железа — лучше собрать самому.

Команды для сборки внутри Cygwin-терминала:

git clone https://github.com/oscam-emu/oscam-patched
cd oscam-patched
cmake -DCMAKE_BUILD_TYPE=Release \
      -DWEBIF=1 \
      -DPROTOCOL_CCCAM=1 \
      -DPROTOCOL_NEWCAMD=1 \
      -DREADER_SMARTREADER=1 .
make -j4

После успешной сборки в текущем каталоге появится oscam.exe.

Структура каталога и расположение конфигов

Рабочий каталог удобно держать по пути C:\cygwin64\home\user\oscam\. Внутри создать папку config\ для конфигов и log\ для логов. Итоговая структура:

C:\cygwin64\home\user\oscam\
├── oscam.exe
├── config\
│   ├── oscam.conf
│   ├── oscam.server
│   └── oscam.user
└── log\
    └── oscam.log

Запуск oscam.exe и проверка лога

Запуск в фоне с указанием папки конфигов:

./oscam.exe -b -c /cygdrive/c/cygwin64/home/user/oscam/config -l /cygdrive/c/cygwin64/home/user/oscam/log/oscam.log

Флаг -b запускает процесс в фоне. Проверить, что всё поднялось, можно через tail -f oscam.log или открыв веб-интерфейс в браузере по адресу http://127.0.0.1:8888.

Настройка конфигурационных файлов сервера

Три файла — oscam.conf, oscam.server, oscam.user — это основа. Без понимания, как они связаны между собой, настройка превращается в угадайку.

oscam.conf — секции [global], [cs357x], [webif]

[global]
logfile = /cygdrive/c/cygwin64/home/user/oscam/log/oscam.log
maxlogsize = 1000
waitforcards = 1
preferlocalcards = 1

[webif]
httpport = 8888
httpuser = admin
httppwd = changeme123
httprefresh = 10

[cccam]
port = 12000

preferlocalcards = 1 говорит серверу сначала пробовать декодировать через физическую карту, и только потом обращаться к внешним ридерам. Если работаешь только с C-линиями — можно убрать.

oscam.server — описание ридера/карты

Пример для физического картридера:

[reader]
label = local_card
protocol = mouse
device = /dev/ttyS0
detect = cd
mhz = 600
cardmhz = 600
group = 1
emmcache = 1

Пример C-линии как внешнего ридера:

[reader]
label = external_cline
protocol = cccam
device = provider.example.com,12000
user = yourlogin
password = yourpassword
group = 1
cccversion = 2.3.0

oscam.user — учётные записи клиентов

[account]
user = client1
pwd = password123
group = 1
au = 1
cccmaxhops = 2
ccckeepalive = 1

Параметр group здесь и в oscam.server должен совпадать — именно через группы OScam маршрутизирует запросы от клиента к ридеру. Если group не совпадает, клиент подключается, но декодирование не работает. Это самая частая причина "нет картинки" у новичков.

Порты: protocol port для CCcam (по умолчанию 12000) и newcamd

CCcam-протокол в OScam слушает на порту 12000 по умолчанию. Newcamd-порт задаётся отдельно в секции [newcamd], стандартно используют 15000. Оба можно менять — и менять стоит, особенно если машина торчит в интернет.

Проброс портов, firewall и доступ извне

Локально всё работает, а снаружи — нет. Классика. Здесь три возможных узких места: брандмауэр Windows, NAT на роутере, и динамический IP провайдера.

Открытие порта в брандмауэре Windows

Windows Defender Firewall по умолчанию блокирует все входящие соединения. Нужно создать правило для входящего трафика. Через PowerShell (от администратора):

New-NetFirewallRule -DisplayName "OScam CCcam" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 12000 `
  -Action Allow

Или через GUI: Панель управления → Брандмауэр → Дополнительные параметры → Правила для входящих подключений → Создать правило → Порт → TCP 12000.

Также имеет смысл добавить правило на уровне программы для oscam.exe — тогда при смене порта не придётся переделывать правило вручную.

Проброс порта на роутере (NAT) и проверка доступности

На роутере нужно пробросить TCP-порт 12000 на локальный IP машины с Windows — обычно это что-то вроде 192.168.1.100. Где именно находится этот раздел — зависит от прошивки: Virtual Server, Port Forwarding, NAT — разные названия, одно и то же.

После настройки проверить доступность можно через telnet ваш_внешний_ip 12000 с другой машины или через онлайн-сервисы проверки портов. Если timeout — либо firewall ещё блокирует, либо NAT не пробросился, либо двойной NAT у провайдера.

Динамический IP и зачем нужен DDNS

Домашний интернет почти всегда даёт динамический IP — он меняется после каждого переподключения или раз в несколько дней. Клиенты не смогут подключаться по фиксированному адресу.

Решение — DDNS-сервис: он даёт постоянное доменное имя (например, myserver.ddns.net), которое автоматически обновляется, когда меняется IP. Большинство роутеров умеют работать с такими сервисами напрямую — настраивается в разделе Dynamic DNS. Либо ставится отдельная клиентская программа на Windows, которая следит за изменением IP и обновляет запись.

Безопасность: ограничение по IP и смена дефолтных портов

В oscam.user можно ограничить, с каких IP разрешено подключение клиенту:

[account]
user = client1
pwd = password123
group = 1
au = 1
allowedip = 1.2.3.4,5.6.7.8

Это не замена нормальному файрволу, но дополнительный рубеж. Плюс смените порт с 12000 на что-то случайное — это срежет большую часть автоматического сканирования.

Диагностика типичных ошибок подключения

Лог — главный инструмент. Если oscam.log пуст или сервер не стартует — читаем stderr. Если поднялся — смотрим статусы в webif.

Клиент не подключается: проверка connected статуса в webif

Открываем http://127.0.0.1:8888, вкладка Users. Статус клиента должен быть CONNECTED. Если DISCONNECTED — клиент либо не доходит до сервера (firewall/NAT), либо логин/пароль неверные, либо IP не в allowedip.

Вкладка Readers покажет статус ридера: CONNECTED означает, что карта инициализирована и готова к работе.

Карта не инициализируется (reader error / no card)

Если физический картридер определяется в Windows (виден в Диспетчере устройств), но OScam его не видит в Cygwin — проблема почти всегда в libusb. Нужно установить драйвер через Zadig: заменить стандартный драйвер картридера на WinUSB или libusbK, после чего Cygwin получит доступ к устройству через libusb.

Ещё одна проблема — USB-порты с агрессивным энергосбережением. Windows может отключать питание USB-устройства в режиме простоя, и карта уходит в "no card". Исправляется в Диспетчере устройств → свойства USB-хаба → Управление питанием → снять галку "Разрешить отключение этого устройства для экономии энергии".

Ошибки decode и неверный group/au

Клиент подключён, ридер подключён, но каналы не открываются. В 90% случаев виноват group. Проверьте:

  • В oscam.server: group = 1
  • В oscam.user: group = 1
  • Значения должны совпадать

Если с group всё в порядке — смотрите au = 1 в oscam.user. Без этого EMM-обновления не проходят, и некоторые каналы могут не открываться. Также проверьте CAID в логе — ридер должен поддерживать тот CAID, который запрашивает клиент.

Сервер падает или не стартует под Cygwin

Самые частые причины:

  • cygwin1.dll не в PATH. При запуске oscam.exe вне Cygwin-терминала (например, через двойной клик или Task Scheduler) DLL может не найтись. Нужно добавить C:\cygwin64\bin в системный PATH, либо запускать через bat-файл, который сначала прописывает PATH.
  • Windows Defender блокирует бинарник. Антивирус видит незнакомый PE-файл с сетевой активностью и удаляет его. Добавьте папку oscam в исключения Defender до запуска.
  • Конфликт порта 12000. Запустите netstat -ano | findstr 12000 в cmd — если порт занят другим процессом, найдите его через Task Manager по PID и либо остановите, либо смените порт в oscam.conf.
  • Нет автозапуска после перезагрузки. Под Cygwin нормально зарегистрировать oscam как службу Windows сложно. Проще создать задачу в Task Scheduler с триггером "При запуске" и указать bat-файл с командой запуска.

Как выбрать провайдера или источник карты: критерии без названий

Говорить про конкретных провайдеров не буду — их слишком много, и ситуация меняется быстро. Но критерии оценки общие для всех.

На что смотреть при выборе сервиса card sharing

Аптайм. Нормальный сервис дает 99%+ аптайма в месяц и публикует статистику. Если её нет — это уже повод задуматься.

Пинг до сервера. Для нормального декодирования ECM-запрос должен возвращаться быстрее, чем за 300-400 мс. Высокий пинг → фриз картинки при переключении каналов. Проверьте простым pingom перед покупкой.

Тестовый доступ. Любой вменяемый сервис даёт тест на 24-48 часов. Если тесты не предусмотрены — либо не уверены в стабильности, либо схема другая.

Поддержка протоколов. Убедитесь, что сервис поддерживает именно ваш протокол — CCcam, newcamd или что-то ещё. Не все серверы поддерживают все протоколы.

Признаки нестабильного или ненадёжного источника

Частые дропы, каналы пропадают и появляются — явный признак перегруженного сервера или слабого железа на той стороне. Ещё хуже — если каналы начинают периодически показывать "no card": это означает проблемы с физической картой на стороне провайдера.

Отсутствие нормальной связи с поддержкой — тоже плохой знак. Если единственный канал коммуникации — телеграм без ответов, готовьтесь к проблемам.

Локальная карта против внешнего сервера: плюсы и минусы

Собственная официальная карта в локальном ридере — это максимальная независимость и минимальный пинг. Никаких посредников, никаких обрывов по вине чужого сервера. Минус — стоимость карты, необходимость физического картридера и ответственность за обслуживание.

Внешний C-лайн через провайдера — проще в плане оборудования, не нужен картридер. Но вы зависите от чужого аптайма, и при проблемах у провайдера ваш сервер будет выдавать ошибки. Для тестирования и небольших нагрузок — нормально; для серьёзного использования лучше иметь локальную карту в качестве резерва.

Когда настраиваешь cardserver windows как постоянный сервис — резервный источник критичен. Один ридер упал, второй подхватил. OScam умеет это делать через параметр fallback = 1 в дополнительном ридере в oscam.server.

Частые вопросы

Существует ли нативная версия CCcam для Windows?

Нет. Официального Windows-билда CCcam никогда не было и нет. CCcam — закрытый бинарник, скомпилированный только под Linux x86/ARM. Единственный рабочий вариант — запустить CCcam внутри Linux-виртуалки (VirtualBox, Hyper-V, WSL2). Для кардсервера на Windows лучше использовать OScam под Cygwin или WSL2 — он поддерживает CCcam-протокол как серверную часть.

Какой порт использует cardserver по умолчанию?

Для CCcam-протокола в OScam стандартный порт — 12000. Для newcamd обычно используют 15000, но он задаётся вручную в секции [newcamd] файла oscam.conf. Веб-интерфейс OScam по умолчанию слушает на порту 8888. Все три порта можно и нужно менять в продакшене.

Почему клиент подключается, но каналы не открываются?

Чаще всего причина — несовпадение параметра group между записями в oscam.server и oscam.user. Значения group должны быть одинаковыми. Вторая распространённая проблема — не выставлен au=1 в oscam.user, из-за чего EMM-обновления не проходят. Также проверьте, что CAID карты совпадает с тем, что запрашивает клиент — это видно в логе при уровне логирования выше normal.

Что лучше для постоянного сервера — Cygwin или виртуальная машина?

Для круглосуточной работы — WSL2 или полноценная Linux-VM. Cygwin удобен для быстрого теста, но есть нюансы: сложности с правами доступа, возможные проблемы с DLL в PATH, и настройка автозапуска как службы требует дополнительных скриптов. WSL2 работает стабильнее и ближе к нативному Linux-поведению.

Как открыть доступ к серверу из интернета при динамическом IP?

Три шага: открыть порт 12000 (TCP) в правилах входящих подключений Windows Firewall, пробросить тот же порт на роутере (Port Forwarding/Virtual Server) на локальный IP машины, и настроить DDNS-клиент чтобы доменное имя указывало на текущий внешний IP. Большинство современных роутеров поддерживают DDNS-клиент встроенно — ищите в настройках раздел Dynamic DNS.

Нужен ли физический картридер для запуска сервера на Windows?

Только если вы используете локальную смарт-карту. Тогда нужен совместимый USB-картридер и правильно установленный драйвер — через Zadig замените стандартный драйвер на WinUSB или libusbK, чтобы Cygwin/OScam мог получить доступ через libusb. Если сервер работает только как ретранслятор внешних C-линий, никакого физического картридера не нужно.

Практические советы для стабильного просмотра

Даже самая стабильная линия 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 или внешние мониторы.