iCam и OScam: настройка эмулятора и интеграция в 2026
Если вы наткнулись на упоминание iCam в каком-нибудь старом форуме и теперь пытаетесь понять — что это вообще такое и зачем оно, эта статья для вас. Тема icam oscam встречается в основном у тех, кто работает со старыми ресиверами Enigma2 или разбирается с унаследованными конфигами. Здесь — конкретно, без воды: что ставить, как настраивать, и почему в 2026 году выбор очевиден.
Что такое iCam и его место среди эмуляторов
Происхождение iCam и историческая роль
iCam появился как облегчённый форк/вариант CAM-эмулятора для Linux STB, в первую очередь под Enigma2-ресиверы на базе платформ Dreambox и VU+. В своё время он занял нишу именно потому, что был лёгким: бинарник размером около 300–500 KB, минимальные зависимости, запускался даже на ресиверах с 64 MB RAM без проблем.
Основная аудитория iCam — пользователи DM500 и DM600 первых поколений, где ресурсов было катастрофически мало. Он умел подключаться к CCcam-серверам и раздавать CW (Control Word) тюнеру через DVB API. Больше от него особо ничего и не требовалось.
Отличие iCam от OScam, CCcam и MgCamd
Принципиальная разница — в архитектуре. iCam — это клиент. Он умеет только принимать линию и отдавать её на тюнер. OScam — полноценный софткам с собственной системой readers, accounts, групп, поддержкой физических карт и десятком протоколов одновременно.
CCcam — проприетарный демон, долгое время считался стандартом de facto, но его разработка тоже остановилась. MgCamd — ещё один клиент-эмулятор, чуть более функциональный чем iCam, но тоже без активной поддержки. В связке icam oscam — один устарел, второй живёт и развивается.
| Параметр | iCam | OScam | MgCamd | CCcam |
|---|---|---|---|---|
| Размер бинарника | ~400 KB | 1.5–4 MB | ~600 KB | ~2 MB |
| Потребление RAM | 4–8 MB | 8–20 MB | 6–10 MB | 15–30 MB |
| newcamd поддержка | Да | Да | Да | Нет |
| cccam поддержка | Только клиент | Клиент + сервер | Только клиент | Клиент + сервер |
| gbox поддержка | Нет | Да | Нет | Нет |
| Физические карты | Нет | Да | Нет | Нет |
| Веб-интерфейс | Нет | Да (порт 8888) | Нет | Нет |
| Активная разработка | Нет | Да (SVN + GitHub) | Нет | Нет |
Поддерживаемые протоколы и CAS-системы
OScam поддерживает практически всё что есть в эфире: Viaccess (CAID 0500), Irdeto (0600), Conax (0B00), Nagravision (1830), Seca (0100), Cryptoworks (0D00), BISS (2600). iCam в лучшем случае умел работать через newcamd или cccam как транспорт — своей логики декодирования у него не было.
Почему iCam сегодня практически не развивается
Последние коммиты в публичных репозиториях iCam датируются примерно 2012–2014 годами. Разработка встала. Никакой поддержки новых CAS-систем нет, баги не фиксятся. OScam при этом продолжает обновляться через SVN-репозиторий streamboard и несколько активных форков на GitHub.
Так что если кто-то спрашивает про icam oscam и что выбрать — ответ однозначный: OScam. iCam оставлять смысла нет даже на старом железе, потому что OScam компилируется под mips, arm и sh4 и влезает в те же 64 MB.
Установка iCam и OScam на Enigma2/Linux STB
Подготовка ресивера и доступ по SSH/Telnet
Первый шаг — SSH или Telnet. По умолчанию Enigma2 слушает порт 22 (SSH) и 23 (Telnet). Логин root, пароль зависит от прошивки — обычно либо пустой, либо dreambox, либо root. Для подключения:
ssh [email protected]
Если ресивер совсем старый и там нет OpenSSH — Telnet тоже работает. Главное убедиться что ресивер и PC в одной подсети.
Структура директорий: /etc/tuxbox/config/oscam/
После установки OScam конфигурационные файлы лежат в /etc/tuxbox/config/oscam/. Там же находятся:
oscam.conf— глобальные настройкиoscam.server— читеры (readers)oscam.user— аккаунты клиентовoscam.dvbapi— привязка к тюнеруoscam.srvid— база сервис-ID (опционально)
Бинарник находится в /usr/bin/oscam. Логи по умолчанию пишутся в /tmp/oscam.log.
Установка через opkg/ipk и ручная компиляция
На Enigma2 с нормальным feed-репозиторием установка одной командой:
opkg update
opkg install enigma2-plugin-softcams-oscam
Если репозиторий устаревший или пустой (частая ситуация со старыми DM500), нужно вручную скачать ipk-пакет под свою архитектуру (mipsel для старых Dreambox, armv7 для VU+/Gigablue) и поставить:
opkg install /tmp/oscam_1.20_mipsel.ipk
Если нужен iCam — его придётся искать в сторонних feeds, например в opendreambox community-репозиториях, но предупреждаю: там будет бинарник 2013 года.
Проверка запуска через init.d и systemd
На Enigma2-ресиверах используется init.d. Автозапуск OScam:
/etc/init.d/oscam start
/etc/init.d/oscam stop
/etc/init.d/oscam restart
Важный момент: если на ресивере уже запущен iCam — его надо отключить, иначе оба будут конкурировать за DVB API тюнера. Найти скрипт:
ls /etc/init.d/ | grep -i cam
И отключить ненужный:
chmod -x /etc/init.d/icam
Порты по умолчанию: 988 (newcamd), 12000 (cccam), 8888 (webif)
Проверить что OScam запущен и слушает порты:
ps aux | grep oscam
netstat -tlnp | grep oscam
Должны быть открыты: 8888 (webif), 988 (newcamd сервер, если настроен), 12000 (cccam сервер, если настроен). Если netstat недоступен, альтернатива:
ss -tlnp | grep oscam
Конфигурационные файлы: oscam.conf, oscam.server, oscam.user
oscam.conf: глобальные настройки и webif
Минимальный рабочий oscam.conf:
[global]
nice = -1
WaitForCards = 1
logfile = /tmp/oscam.log
loghistorylines = 200
maxlogsize = 512
preferlocalcards = 1
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httpallowed = 127.0.0.1,192.168.0.0/24
httpdyndns =
httprefresh = 30
httpsavelog = 1
nice = -1 — повышает приоритет процесса, OScam будет быстрее обрабатывать ECM-запросы. preferlocalcards = 1 — если есть физическая карта, она используется в первую очередь перед сетевыми ридерами.
oscam.server: настройка reader для приёма карты/линии
Reader для подключения по протоколу newcamd:
[reader]
label = my_newcamd_line
enable = 1
protocol = newcamd
device = server.example.com,10300
user = mylogin
password = mypassword
key = 0102030405060708091011121314
caid = 0500,0B00
group = 1
reconnecttimeout = 30
loadbalanced = 0
Здесь key — DES-ключ ровно 14 байт = 28 hex-символов, без пробелов. Это жёсткое требование протокола newcamd. Если ключ неправильной длины — reader не запустится.
Reader для cccam:
[reader]
label = my_cccam_line
enable = 1
protocol = cccam
device = server.example.com,12000
user = cclogin
password = ccpassword
cccversion = 2.3.2
cccmaxhops = 5
cccreshare = 0
group = 1
reconnecttimeout = 30
oscam.user: создание пользователей и группы
Вот где большинство новичков делают ошибку. group в секции [reader] и group в секции [account] должны совпадать. Если reader в group=1, а пользователь в group=2 — ничего не заработает, карта «не видит» этого клиента.
[account]
user = localclient
pwd = clientpassword
group = 1
au = my_newcamd_line
uniq = 0
caid = 0500,0B00
ident = 0500:032830,0B00:000000
au = my_newcamd_line — привязка авторизации обновлений к конкретному ридеру. Это нужно для CAS-систем, требующих EMM (Entitlement Management Message). Для простого просмотра без подписки au можно не ставить.
oscam.dvbapi: маппинг CAID для декодирования
Файл oscam.dvbapi связывает OScam с DVB-тюнером. Без него каналы не будут декодироваться даже при рабочем ридере.
[dvbapi]
enabled = 1
au = 1
pmt_mode = 0
request_mode = 0
boxtype = dreambox
user = localclient
user = localclient — тот же аккаунт что в oscam.user. boxtype = dreambox — для ресиверов на базе Dreambox. Для VU+ используется boxtype = vuplus. Если DVB API не привязывается к тюнеру, первое что проверяем — совпадение user в dvbapi и account в oscam.user.
Связь конфигов между собой через group ID
Схема простая: reader (group=1) → обслуживает → account (group=1) → авторизуется через → dvbapi (user=localclient). Разные group-ID у reader и account — самая частая причина «OScam запущен, webif работает, а каналы не декодируются».
CAID для распространённых спутниковых пакетов: Viaccess — 0500, Conax — 0B00, Nagravision — 1830, Irdeto — 0602. Точный CAID для конкретного транспондера смотреть через webif в разделе CAID или в логах при первом запуске.
Интеграция iCam/OScam с CCcam-протоколом
Настройка cccam reader в OScam
Как уже показано выше, cccam reader настраивается в oscam.server. Ключевые параметры которые путают людей — cccversion, cccmaxhops и cccreshare.
[reader]
label = cccam_provider
enable = 1
protocol = cccam
device = remote-host.example.com,12000
user = username
password = password
cccversion = 2.3.2
cccmaxhops = 5
cccreshare = 0
group = 1
reconnecttimeout = 60
lb_weight = 100
Параметры cccversion, cccmaxhops, cccreshare
cccversion — версия протокола которую OScam представляет серверу. Большинство серверов принимают 2.3.2, некоторые старые требуют 2.2.1. Если сервер отказывает в соединении — попробуйте снизить версию.
cccmaxhops — максимальное количество переходов карты которые OScam принимает. Hop=1 означает карта прямо на сервере. Hop=3 — три промежуточных узла. Чем больше hops, тем выше ECM latency. Я обычно ставлю не больше 3–4.
cccreshare — сколько раз OScam может пересылать эту карту дальше другим cccam-клиентам. 0 = не расшаривать. Это настройка для тех, кто использует OScam как промежуточный сервер.
Как OScam раздаёт линии другим клиентам
Типичная схема: один ресивер получает линию по cccam, внутри работает OScam, а несколько телевизоров или медиаплееров в локальной сети подключаются к OScam уже по newcamd. Это разумно — newcamd даёт меньшую задержку и работает стабильнее чем cccam для локальных клиентов.
Для этого в oscam.conf добавляем newcamd-сервер:
[newcamd]
port = 988@0500:032830
key = 0102030405060708091011121314
И создаём аккаунты в oscam.user для каждого локального клиента.
Отличие cccam от newcamd-подключения
newcamd — бинарный протокол с DES-шифрованием, изначально разработанный для cardsharing. Он быстрее, меньше overhead, ECM time ниже. cccam — проприетарный протокол CCcam, более сложный по структуре, с системой sharelistov и hop-счётчиком. На одном и том же сервере newcamd-подключение обычно даёт ECM 150–250 мс против 300–500 мс у cccam.
Использование STB как промежуточного звена
Ресивер принимает cccam от провайдера → OScam берёт CW → раздаёт по newcamd на LAN. Это работает даже за NAT — исходящее cccam-подключение NAT проходит нормально. А вот если хотите чтобы внешние клиенты подключались к вашему OScam по newcamd — нужен проброс порта 988 на роутере.
Веб-интерфейс OScam и мониторинг работы
Включение webif и доступ через браузер
После запуска OScam открываете в браузере http://ip-ресивера:8888. Логин и пароль — те что прописали в oscam.conf секции [webif]. Если не заходит — проверьте что ваш IP входит в httpallowed. Это первое что блокирует доступ.
Раздел Status: активные клиенты и readers
Во вкладке Status видны все активные подключения: сколько клиентов онлайн, какой reader им отвечает, последний ECM time. Нормальный ECM avg — 200–400 мс. Если видите 800+ мс — проблема либо в пинге до сервера, либо в перегрузке сервера, либо в высоком hop count.
Если ECM time нормальный на одном CAID но есть фризы на другом — это обычно значит что для проблемного CAID reader не настроен или ограничен по ident. Смотрите столбец CAID в разделе Readers.
Раздел Readers: ECM time, CW count, ошибки
В разделе Readers каждый ридер показывает: статус (CONNECTED, CONNECTING, FAILED), количество обработанных ECM, среднее время ответа, количество ошибок. Столбец idle — сколько времени ридер не получал запросов. Если ридер давно idle и каналы не работают — значит DVB API не отправляет запросы именно на этот ридер, или CAID-маппинг неверный.
Логи в реальном времени и фильтры по CAID
Через SSH:
tail -f /tmp/oscam.log
Через webif: вкладка Live Log. Там можно фильтровать по CAID, reader, уровню лога. Очень удобно для диагностики — видите в реальном времени каждый ECM-запрос, от какого сервис-ID, через какой ридер отвечён.
Защита webif через httpallowed и пароль
Не оставляйте webif открытым в интернет. Это не паранойя — открытый webif позволяет посмотреть список ваших линий, CAID, аккаунты. Правильная конфигурация:
httpallowed = 127.0.0.1,192.168.1.0/24
Если нужен удалённый доступ — SSH-туннель:
ssh -L 8888:192.168.1.100:8888 root@your-external-ip
Потом открываете http://127.0.0.1:8888 на локальной машине. Трафик идёт через зашифрованный SSH-туннель, webif на ресивере остаётся закрытым снаружи.
Типичные ошибки и их диагностика
Ошибка ECM: not found — нет CAID в reader
В логах видите: no matching reader found for ECM или CAID: 0B00 not found. Причина: в секции [reader] параметр caid = ограничивает какие системы ридер обрабатывает. Либо добавьте нужный CAID:
caid = 0500,0B00,1830
Либо уберите строку caid = полностью — тогда ридер будет принимать все CAID. Второй вариант проще для диагностики.
Connection refused — закрыт порт или файервол
Проверяем доступность порта с другой машины:
telnet 192.168.1.100 988
Если Connection refused — OScam не слушает этот порт, проверьте oscam.conf. Если таймаут — iptables блокирует. Посмотреть правила:
iptables -L -n | grep 988
Добавить правило если нужно:
iptables -I INPUT -p tcp --dport 988 -j ACCEPT
Wrong DES key — ошибка в newcamd key (28 hex)
DES-ключ для newcamd должен быть ровно 14 байт = 28 hex-символов. Без пробелов, без разделителей. Типичная ошибка — скопировали ключ с пробелами или он оказался 26 или 30 символов. OScam в логах выдаст:
reader my_line: invalid DES key length
Или ридер запустится, но соединение будет отваливаться с ошибкой аутентификации. Проверьте длину ключа:
echo -n "ваш_ключ" | wc -c
Должно быть 28.
Card initializing failed — проблема reader/карты
Это ошибка при работе с физической картой через ридер (smartcard reader). Сначала проверяем устройство:
ls -la /dev/ttyUSB0
ls -la /dev/sci0
Если устройство есть но ошибка прав:
chmod 666 /dev/ttyUSB0
В oscam.server для физической карты:
[reader]
label = smartcard
protocol = mouse
device = /dev/ttyUSB0
group = 1
Высокий ECM time и фризы изображения
ECM time >1000 мс даёт видимые фризы. Диагностика по порядку:
Проверить пинг до сервера: ping server.example.com. Если пинг >100 мс — это уже половина проблемы. Проверить загрузку ресивера: top. Если CPU ресивера под 90% — OScam не успевает обрабатывать запросы. Снизить cccmaxhops в ридере — каждый дополнительный hop добавляет 50–150 мс к ECM time. Если фризы только на конкретном CAID — проверить через webif что для этого CAID есть активный ридер, а не только fallback через несколько хопов.
Чем iCam отличается от OScam и что выбрать в 2026?
iCam — устаревший лёгкий клиент без активной разработки. OScam — полноценный софткам с поддержкой физических карт, всеми протоколами, веб-интерфейсом и активным комьюнити. Для любой новой установки только OScam — вопрос icam oscam давно решён. iCam оставлять смысла нет даже на старом железе.
На каком порту работает OScam по умолчанию?
Веб-интерфейс (webif) — порт 8888. Протокол newcamd — порт 988. Протокол cccam — порт 12000. Протокол camd35 — порт 14999. Все порты настраиваются в соответствующих секциях oscam.conf и могут быть изменены на любые.
Как посмотреть логи OScam в реальном времени?
Через SSH на ресивере: tail -f /tmp/oscam.log. Либо через веб-интерфейс на порту 8888, вкладка Live Log — там есть фильтры по CAID, reader и уровню детализации. Для максимально подробного лога запустить OScam с флагом oscam --debug 0xFFFF.
Что такое CAID и где взять список для своего спутника?
CAID (Conditional Access Identifier) — числовой идентификатор системы шифрования. Например: Viaccess — 0500, Conax — 0B00, Nagravision — 1830, Irdeto — 0602. Точный CAID для конкретного транспондера определяется через веб-интерфейс OScam в разделе CAID — он автоматически собирает эту информацию при сканировании тюнером.
Почему появляются фризы при использовании cccam-протокола?
Главная причина — высокий ECM time из-за hop count или загрузки сервера. Проверить ECM avg в webif (норма 200–400 мс). Снизить cccmaxhops в ридере до 3–4. Если возможно — переключиться на newcamd, он даёт меньшую задержку на том же сервере. Также проверить пинг до хоста ридера — пинг >150 мс гарантированно даёт проблемы.
Безопасно ли открывать webif OScam в интернет?
Нет. Открытый webif показывает список ваших линий, аккаунты и конфиги. Правильное решение — ограничить httpallowed только локальной сетью (например 192.168.0.0/24) и организовать удалённый доступ через SSH-туннель или VPN. Порт 8888 в интернет — это риск утечки всей конфигурации.
Можно ли запустить OScam на роутере или Raspberry Pi?
Да. OScam компилируется под ARM и есть готовые пакеты для OpenWRT (архивы ipk под mipsel/armv7) и Raspberry Pi OS (deb под armhf/arm64). Минимальные требования: 64 MB RAM, размер бинарника 2–4 MB в зависимости от включённых модулей. На Raspberry Pi Zero OScam работает без проблем.
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.