iCAM и OScam на Windows: установка и настройка 2026

Если ты ищешь конкретную инструкцию по запуску icam oscam windows — значит, уже знаешь что такое CCcam, имеешь карту или подписку, и хочешь обойтись без роутера на OpenWrt или Enigma2-коробки. Это рабочий гайд. Без воды, с реальными командами и примерами конфигов.

Сразу предупреждение: cardsharing требует лицензионной карты в вашей юрисдикции. Использование чужих подписок может нарушать законодательство вашей страны — это на вашей ответственности.

Что такое iCAM и чем он отличается от классического OScam

iCAM как форк OScam: история и отличия

OScam — это open-source условный доступ к спутниковым каналам, активная разработка шла до 2020-х годов. iCAM появился как независимая ветка с фокусом на современные криптосистемы, которые в основном OScam не поддерживает или поддерживает плохо. Главное отличие — нативная работа с Nagra Merlin (CAID 0x1830) и BISS2.

Репозиторий iCAM менее публичен, обновляется нерегулярно. Но для людей, которым нужен Merlin или BISS2 на Windows-машине, альтернатив практически нет.

Поддерживаемые протоколы: CCcam, CS378x, Newcamd, GBox

Оба — и iCAM, и OScam — поддерживают один и тот же набор протоколов для обмена Control Words:

  • CCcam — самый распространённый, порт по умолчанию 12000
  • CS378x — шифрованный вариант CCcam с DES-ключами, порт 15000
  • Newcamd — используется Enigma2-ресиверами, диапазон 10000–14000
  • GBox — старый протокол, встречается реже
  • CAMD3 — ещё один legacy-протокол

Почему именно Windows-сборка нужна не всем

Честно: если у вас есть роутер на Padavan/OpenWrt или Enigma2-ресивер — ставьте OScam там. Linux-сборки собираются элементарно, стабильнее работают, потребляют меньше ресурсов.

Windows нужен когда: нет выделенного Linux-устройства, ПК работает 24/7, или когда Windows-машина уже используется для DVB-карты с DVBViewer или ProgDVB. Вот тут запуск icam oscam windows обретает смысл.

Сравнение с OScam-emu и oscam-stream

Версия Nagra Merlin BISS2 PowerVU (emu) Stream relay Windows-сборка
OScam (оригинал) Нет Нет Нет Нет Через MSYS2
OScam-emu Частично Нет Да (программно) Нет Через MSYS2
iCAM Да Да Нет Нет Через MSYS2
oscam-stream Нет Нет Нет Да Через MSYS2

Установка iCAM/OScam на Windows: пошаговая инструкция

Системные требования и зависимости

Минимум для сборки: Windows 10 64-bit, 4 ГБ RAM, 2 ГБ свободного места под MSYS2 и зависимости. Для самого OScam после сборки достаточно 50 МБ и процессора уровня Atom — он практически не потребляет ресурсов.

Нужен MSYS2 — это Unix-окружение для Windows с пакетным менеджером pacman. Скачивается с msys2.org, устанавливается в C:\msys64\.

Сборка из исходников через MSYS2/MinGW-w64

После установки MSYS2 открываем терминал MSYS2 MinGW 64-bit (не MSYS2 MSYS, именно MinGW 64-bit — иначе exe не будет работать вне окружения). Устанавливаем зависимости:

pacman -Syu
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-libusb mingw-w64-x86_64-openssl git

Клонируем репозиторий OScam (для iCAM — аналогично, только URL репозитория iCAM):

git clone https://github.com/oscam-emu/oscam-patched.git oscam
cd oscam
./config.sh --enable all
make -j$(nproc)

Сборка занимает 3–7 минут. Результат — файл oscam.exe в текущей директории. Если видите ошибки про отсутствующие заголовочные файлы — скорее всего не хватает пакета. Проверяйте через pacman -Ss <имя_библиотеки>.

Важный момент: после сборки скопируйте oscam.exe вместе со всеми DLL из C:\msys64\mingw64\bin\ которые нужны бинарнику. Проверить зависимости можно через ldd oscam.exe в MSYS2. Без нужных DLL exe не запустится вне MSYS2-окружения.

Использование готовых Windows-бинарников (риски)

На форумах иногда выкладывают готовые oscam.exe сборки. Это работает, но есть риски: бинарник может содержать модифицированный код, встроенные ключи или вообще малварь. Антивирусы будут ругаться на любую сборку — и на вашу собственную тоже. Но если скачиваете чужую — проверяйте хэш, используйте только проверенные источники с длинной историей и открытым кодом сборки.

Размещение файлов: рабочая директория и структура папок

Никогда не кладите OScam в C:\Program Files\. Там нужны права администратора на запись, а OScam постоянно пишет логи и обновляет конфиги. Стандартная структура:

C:\oscam\
├── oscam.exe
├── *.dll (зависимости MinGW)
└── config\
    ├── oscam.conf
    ├── oscam.server
    ├── oscam.user
    └── oscam.services

Если в пути к папке есть кириллица — будут проблемы. C:\Оскам\ не запустится. Только латиница в пути.

Запуск как обычное приложение vs Windows-служба через NSSM

Для тестов просто запускаем из командной строки:

C:\oscam\oscam.exe -c C:\oscam\config -b

Флаг -b — фоновый режим. Без него окно консоли нельзя закрыть.

Для постоянной работы нужна Windows-служба. Лучший инструмент для этого — NSSM (Non-Sucking Service Manager). Скачиваем nssm.cc, кладём nssm.exe в C:\oscam\. Установка службы:

C:\oscam\nssm.exe install OScam C:\oscam\oscam.exe -c C:\oscam\config
C:\oscam\nssm.exe set OScam AppDirectory C:\oscam
C:\oscam\nssm.exe set OScam Start SERVICE_AUTO_START
net start OScam

После этого OScam запускается автоматически при загрузке Windows, без активной сессии пользователя.

Базовая конфигурация: oscam.conf, oscam.server, oscam.user

oscam.conf: секции global, monitor, webif, cccam

Минимальный рабочий oscam.conf для Windows:

[global]
logfile                       = C:/oscam/log/oscam.log
loglevel                      = 2
cwlogdir                      = C:/oscam/log/cw
preferlocalcards              = 1
saveinithistory               = 1
waitforcards                  = 120
inactivitytimeout             = 30
reconnecttimeout              = 30

[monitor]
port                          = 988

[webif]
httpport                      = 8888
httpuser                      = admin
httppwd                       = changeme
httpallowed                   = 127.0.0.1,192.168.0.0-192.168.255.255
httpsavereqdir                = C:/oscam/log/

[cccam]
port                          = 12000
version                       = 2.3.0
reshare                       = 0

Обратите внимание на слеши. В Windows OScam понимает как прямые /, так и экранированные обратные \\. Прямые слеши — проще и надёжнее. C:/oscam/log/ работает корректно.

oscam.server: настройка reader для CCcam и CS378x клиентов

[reader]
label                         = my_cccam_server
protocol                      = cccam
device                        = host.example.com,12000
user                          = myuser
password                      = mypassword
cccversion                    = 2.3.0
cccmaxhops                    = 2
group                         = 1
inactivitytimeout             = 30
reconnecttimeout              = 30

Для CS378x reader выглядит иначе — нужен DES-ключ:

[reader]
label                         = my_cs378x_server
protocol                      = cs378x
device                        = host.example.com,15000
user                          = myuser
password                      = mypassword
des_key                       = 0102030405060708091011121314
group                         = 1

oscam.user: создание локальных пользователей

[account]
user                          = localreceiver
pwd                           = receiverpassword
group                         = 1
au                            = 1
services                      = myservices
uniq                          = 4

Параметр uniq = 4 запрещает одновременные подключения с одного аккаунта — хорошая практика.

oscam.services: привязка caid/provid к группам

[myservices]
caid                          = 1830,0500,0604
provid                        = 000000

CAID 0x1830 — Nagra Merlin, 0x0500 — Viaccess, 0x0604 — Irdeto. Список зависит от того, что вещает ваш спутниковый провайдер.

Корректные пути в Windows: прямые vs обратные слеши

Краткое правило: везде используйте прямые слеши. C:/oscam/config работает. C:\oscam\config — иногда работает, иногда нет, зависит от версии сборки. C:\\oscam\\config — тоже работает, но зачем усложнять.

Папки для логов нужно создать заранее вручную — OScam не создаёт их автоматически на Windows.

Подключение к cardsharing-серверу через CCcam и CS378x

Формат C-line и его перенос в oscam.server

C-line в классическом CCcam формате выглядит так:

C: host.example.com 12000 username password

В oscam.server это превращается в:

[reader]
label                         = server1
protocol                      = cccam
device                        = host.example.com,12000
user                          = username
password                      = password
cccversion                    = 2.3.0
group                         = 1

Заметьте: между хостом и портом в device — запятая, не пробел.

Различия CCcam (port 12000) и CS378x (port 15000)

CCcam передаёт CW в открытом виде (только TCP, без шифрования линка). CS378x добавляет слой шифрования на основе DES — это стандартный порт 15000. Если сервер требует CS378x, он должен прислать вам DES-ключ. Без правильного ключа будет AUTH_ERROR.

Проверка соединения через веб-интерфейс

Открываем http://127.0.0.1:8888. Вкладка Readers покажет статус каждого reader: CONNECTED, CONNECT_ERROR или AUTH_ERROR.

CONNECT_ERROR — TCP не достигает сервера. Проверяем файрвол, пингуем хост, пробуем Test-NetConnection host.example.com -Port 12000 в PowerShell. Если TcpTestSucceeded: False — проблема на сетевом уровне или сервер недоступен.

AUTH_ERROR — TCP подключился, но сервер отверг логин/пароль. Либо неверные данные, либо версия CCcam не совпадает — попробуйте изменить cccversion на 2.2.1 или 2.1.4.

Шифрование линка: DES-ключи для CS378x

DES-ключ для CS378x — это 14-байтовый hex-ключ (28 символов). Он передаётся провайдером вместе с логином/паролем. Прописывается в секции reader как des_key = 0102030405060708091011121314. Если ключ неверный — handshake провалится сразу после TCP-соединения, в логе увидите invalid DES key.

Что смотреть в логе при ошибках handshake

Для диагностики временно выставляем loglevel = 4 в oscam.conf. В логе ищем строки с именем reader. CCcam handshake проходит в несколько шагов — SENT CMD 01, RECV CMD 02 и так далее. Обрыв на конкретном шаге укажет на причину: сетевая проблема, неверная версия протокола, неправильный пароль.

Отладка и решение типичных проблем на Windows

Логирование: logfile, loglevel, cwlogdir

По умолчанию loglevel = 2 — только важные события. При отладке ставим 4, это полный verbose. Файл лога пишется по пути из logfile в oscam.conf. Папку создайте заранее.

Параметр cwlogdir пишет отдельный лог Control Words — полезно для проверки что расшифровка вообще происходит.

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

При первом запуске Windows Defender Firewall может показать диалог — разрешаем. Если диалог не появился или был закрыт случайно, добавляем правила вручную в PowerShell (от администратора):

New-NetFirewallRule -DisplayName "OScam WebIF" -Direction Inbound -Protocol TCP -LocalPort 8888 -Action Allow
New-NetFirewallRule -DisplayName "OScam CCcam" -Direction Inbound -Protocol TCP -LocalPort 12000 -Action Allow
New-NetFirewallRule -DisplayName "OScam CS378x" -Direction Inbound -Protocol TCP -LocalPort 15000 -Action Allow
New-NetFirewallRule -DisplayName "OScam Newcamd" -Direction Inbound -Protocol TCP -LocalPort 10000-14000 -Action Allow

Это нужно если к вашему OScam на Windows подключается ресивер или другой клиент в сети. Для исходящих подключений к серверу правила не нужны — исходящий трафик Windows не блокирует по умолчанию.

Проблемы с правами на запись в C:\Program Files

Уже упоминалось, но повторю: C:\Program Files\ — это мусорный выбор для OScam. Каждая запись лога будет требовать UAC-повышения. Либо будет молча падать с ошибкой прав. Только C:\oscam\ или аналогичная папка в корне диска.

Антивирусы помечают oscam.exe как угрозу

Это гарантированно случится. Windows Defender, Kaspersky, ESET — все они реагируют на oscam.exe эвристически: работа с криптографией, сетевые подключения, нестандартные порты. Это false positive, но объяснять это антивирусу бесполезно.

Решение: добавить папку C:\oscam\ целиком в исключения. В Windows Defender: Параметры → Безопасность Windows → Защита от вирусов → Параметры защиты → Исключения → Добавить папку. Аналогично в любом другом антивирусе.

Если собирали бинарник сами через MSYS2 — можете быть уверены в его содержимом. Чужие бинарники из сомнительных источников — на ваш страх и риск.

Конфликт портов с другими службами (IIS, Skype)

IIS по умолчанию занимает порт 80 и 443. Skype исторически занимал 80 и 443 тоже. Webif OScam на 8888 с этим не конфликтует. Но если вы меняете порт webif на что-то стандартное — проверьте через:

netstat -ano | findstr :8888

Если порт занят — смотрите PID в последней колонке, потом tasklist | findstr <PID> чтобы узнать процесс.

Отдельная боль — Hyper-V и WSL2. Они резервируют диапазоны портов, и часто 12000–15000 попадает под резервирование. Проверить:

netsh int ipv4 show excludedportrange protocol=tcp

Если ваши порты там есть — добавляем исключение до запуска Hyper-V. Нужно выполнить в командной строке от администратора до следующей перезагрузки (или отключить Hyper-V если не нужен):

netsh int ipv4 add excludedportrange protocol=tcp startport=12000 numberofports=100

Подключение ресивера или IPTV-плеера к iCAM на Windows

Enigma2-ресивер как клиент: настройка newcamd reader на ресивере

На ресивере Enigma2 конфиг newcamd находится в /etc/tuxbox/config/newcamd.list. Формат строки:

CWS_MULTIPLE = 192.168.1.100 14000 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14

Здесь 192.168.1.100 — IP вашей Windows-машины, 14000 — порт из oscam.server, 14 байт после пароля — DES-ключ newcamd (должен совпадать с key в секции account в oscam.user).

На стороне OScam в oscam.conf нужна секция:

[newcamd]
port                          = 14000@1830:000000
key                           = 0102030405060708091011121314

DVB-карта на ПК: TBS, TechniSat, через BDA-драйвер

Карты TBS (например TBS5520SE) и TechniSat работают через BDA-драйверы в Windows. DVBViewer или ProgDVB видят карту как BDA-устройство. OScam при этом запускается отдельно и выступает как CAS-сервер для плеера.

Проблема "DVB-карта работает в DVBViewer, но OScam не получает ECM" почти всегда означает неправильную настройку плагина. DVBViewer должен слать ECM через CAM-плагин на OScam, а OScam возвращать CW. Проверяем что в настройках DVBViewer в разделе CI/CAM выбран правильный CI-слот или программный CAM.

Интеграция с DVBViewer и ProgDVB

DVBViewer поддерживает плагин DVBViewerOSCam — это MMI-модуль, который связывает DVBViewer с запущенным OScam через локальный сокет. Устанавливается отдельно, конфигурируется через интерфейс DVBViewer → Настройки → CAM.

ProgDVB использует модуль OScam-CWS. Логика та же: ProgDVB отправляет ECM в OScam, получает CW обратно. Модуль нужно скачать отдельно и положить в папку плагинов ProgDVB.

Использование iCAM для потоков IPTV (oscam-stream)

Для расшифровки IPTV-потоков нужна отдельная сборка с поддержкой stream relay — oscam-stream. Стандартный oscam.exe или icam.exe эту задачу не решают. oscam-stream принимает зашифрованный UDP/RTP-поток, расшифровывает CW и отдаёт расшифрованный поток на другой порт. Сборка аналогичная — через MSYS2, но с включённым модулем stream при сборке: ./config.sh --enable stream.

Если нужен именно этот сценарий для icam oscam windows — убедитесь что собираете именно с флагом stream, иначе функции просто не будет в бинарнике.

Параметр serverip в oscam.conf решает проблему с несколькими сетевыми интерфейсами — когда на машине и VPN, и Ethernet, OScam может забиндиться не на тот IP. Явно указываем:

[global]
serverip                      = 192.168.1.100

Это скажет OScam слушать только на конкретном интерфейсе. Полезно когда клиенты в локальной сети, а VPN-адрес менять не хочется.

Существует ли официальный установщик iCAM или OScam для Windows?

Нет. Ни iCAM, ни OScam не имеют официальных MSI или EXE инсталляторов. Доступны только исходники — собирать через MSYS2/MinGW-w64 как описано выше. На форумах встречаются неофициальные готовые бинарники, но их использование — на ваш страх и риск. Состав сборки непрозрачен, наличие посторонних модулей проверить сложно.

Какие порты нужно открыть в брандмауэре Windows для OScam?

Минимальный набор: 8888 TCP (webif-интерфейс), 12000 TCP (CCcam), 15000 TCP (CS378x), 10000–14000 TCP (newcamd, если используете Enigma2-ресивер). Конкретные порты зависят от настроек в вашем oscam.conf и oscam.server — сверяйтесь с ними, а не с дефолтами.

Почему oscam.exe запускается, но webif на localhost:8888 не открывается?

Три самые частые причины. Первая: секция [webif] вообще отсутствует в oscam.conf или параметр httpport не задан. Вторая: параметр httpallowed ограничивает доступ конкретными IP, и 127.0.0.1 там нет. Третья: порт 8888 занят другим процессом. Проверяем через netstat -ano | findstr :8888 — если строка есть и PID не oscam.exe, меняем порт.

Можно ли запустить iCAM как службу Windows для автозапуска при загрузке?

Да, через NSSM. Скачиваем nssm.exe, затем: nssm install OScam C:\oscam\oscam.exe -c C:\oscam\config. Потом net start OScam. Служба запустится автоматически при загрузке Windows и будет работать без активной пользовательской сессии. NSSM также умеет автоматически перезапускать службу при краше — настраивается во вкладке Failure в графическом интерфейсе nssm edit OScam.

Почему антивирус удаляет oscam.exe и как этого избежать?

OScam работает с криптографией, устанавливает TCP-соединения на нестандартные порты — эвристики большинства антивирусов это не любят. Решение простое: добавить папку C:\oscam\ в исключения Windows Defender или вашего антивируса. Если собирали бинарник сами через MSYS2 — можно быть уверенным в его содержимом. Чужие бинарники всегда проверяйте через VirusTotal перед запуском.

В чём разница между iCAM и OScam-emu, что выбрать на Windows?

OScam-emu содержит программные эмуляторы для PowerVU и TandbergNagra — полезно если карты нет, а нужна программная эмуляция (в рамках закона и лицензии). iCAM делает упор на аппаратную поддержку Nagra Merlin (CAID 0x1830) и BISS2. Для классического cardsharing с картой — разница минимальна, выбирайте любой. Если нужен конкретный CAID из списка выше — смотрите по поддержке.

Работает ли iCAM на Windows под управлением ARM-процессора (Surface, Snapdragon)?

Плохо. Нативных ARM64-сборок под Windows практически нет. MSYS2 на ARM-Windows работает в режиме эмуляции x64, производительность падает. Для ARM-устройств (Surface Pro X, машины на Snapdragon X Elite) намного лучше использовать WSL2 с Ubuntu — там собирается нативная ARM64-сборка OScam/iCAM без эмуляции, и работает корректно.

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.