Настройка CCcam и OScam сервера: полное руководство 2026
Если вы занялись настройкой CCcam и OScam сервера: конфигурация, порты, протоколы — это именно то, где большинство застревает. Готовые конфиги из интернета либо устарели, либо работают только у автора. Здесь я разберу каждый параметр с нуля, покажу реальные пути к файлам для Enigma2 и Linux x86, и объясню, почему «connected» в логах — это ещё не «работает».
Что нужно для запуска CCcam или OScam сервера
Начнём с честного минимума. Вам нужна либо спутниковая приставка на базе Enigma2 (DreamBox, VU+, GigaBlue), либо обычная Linux-машина — подойдёт даже Raspberry Pi 4. Для работы со смарт-картой физически нужен ридер: встроенный в ресивер или внешний USB (например, Smargo SmartReader).
Аппаратные требования: ресивер, TV-карта, Linux-машина
На Enigma2-боксе всё уже есть из коробки — встроенный ридер, Debian-подобная система, ipk-пакеты. На Linux x86 понадобится USB-ридер и либо DVB-карта, либо работа в режиме чистого сервера без локального декодирования. Минимум по RAM — 64 МБ, но комфортно с 256 МБ и выше, особенно если крутить OScam с несколькими ридерами одновременно.
Различия между CCcam и OScam: когда что выбирать
CCcam — закрытый бинарник, последняя официальная версия 2.3.x появилась много лет назад, разработка заброшена. Простая настройка через один файл CCcam.cfg — это его единственное практическое преимущество сегодня.
OScam — open-source, активно поддерживается сообществом (svn-ревизии выходят регулярно), умеет всё что умеет CCcam, плюс детальный веб-интерфейс, гибкая фильтрация по CAID/provider, нормальная работа с несколькими протоколами одновременно. Если выбираете с нуля — берите OScam.
Протоколы newcamd, cccam, mgcamd — краткий разбор
| Протокол | Порт по умолчанию | Особенности |
|---|---|---|
| CCcam | 12000 | Закрытый протокол, hops-система распределения карт |
| newcamd | 15000 | Открытый протокол, одна карта на соединение, стабильный |
| mgcamd | 8000 | Расширение newcamd, несколько CAID на соединение |
| camd35 | 35000 | Старый UDP-протокол, встречается реже |
Newcamd — самый надёжный для стабильной работы. CCcam удобен для построения сетей обмена картами между серверами. На практике OScam часто запускают со всеми тремя одновременно.
Сетевые требования: статический IP, проброс портов, DDNS
Статический IP от провайдера — идеально, но дорого или недоступно. Решение: DynDNS-сервис (No-IP, DuckDNS, FreeDNS). DuckDNS бесплатный, обновляется скриптом раз в 5 минут — вполне рабочий вариант.
Проброс портов на роутере обязателен. Прокидываете TCP-порты 12000 (CCcam), 15000 (newcamd) и 8888 (webif OScam) на внутренний IP вашей машины. Проблема двойного NAT — когда роутер провайдера + ваш роутер — решается либо DMZ на роутере провайдера, либо VPN-туннелем (WireGuard отлично справляется). Если проброс вообще невозможен, единственный выход — reverse SSH tunnel или VPN до сервера с белым IP.
Настройка конфигурационных файлов OScam
Полная настройка CCcam и OScam сервера: конфигурация, порты, протоколы — начинается именно здесь. OScam использует набор отдельных файлов, каждый отвечает за свою часть. Не пытайтесь держать всё в одном файле как в CCcam — это другая архитектура.
Структура каталога /etc/tuxbox/config или /var/keys
На Enigma2 конфиги обычно лежат в /etc/tuxbox/config/. На чистом Debian/Ubuntu — в /etc/oscam/ или туда, куда указывает ключ -c при запуске. Бинарник в большинстве случаев живёт в /usr/bin/oscam, на некоторых Enigma2-сборках — в /usr/local/bin/oscam.
Минимальный набор файлов: oscam.conf, oscam.server, oscam.user. Опционально — oscam.services для фильтрации каналов. Убедитесь, что файлы с паролями имеют права chmod 600, иначе другие пользователи системы могут их прочитать.
Файл oscam.conf: секции [global], [newcamd], [cccam], [webif]
[global]
logfile = /var/log/oscam.log
maxlogsize = 500
fallbacktimeout = 2
bindwait = 120
netprio = 0
serialreadertimeout = 1500
waitforcards = 1
[newcamd]
port = 15000@1830:000000
[cccam]
port = 12000
[webif]
httpport = 8888
httpuser = admin
httppwd = yourpassword
httprefresh = 10
httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255
В секции [newcamd] после знака @ идёт CAID в hex (здесь 1830 — это Nagravision), потом двоеточие и provider ID. Если обслуживаете несколько CAID — добавляйте несколько строк port. Конфликт портов — частая ошибка: если webif и newcamd случайно настроены на один и тот же порт (скажем, оба на 8888), OScam просто не запустится. Проверяйте это в первую очередь.
Файл oscam.server: настройка ридеров (reader) и протоколов
[reader]
label = localcard
protocol = mouse
device = /dev/ttyUSB0
group = 1
caid = 1830
ident = 1830:000000
detect = cd
mhz = 357
cardmhz = 357
Параметр protocol зависит от вашего ридера: mouse для serial/USB, internal для встроенного ридера Enigma2, network для удалённого ридера. group — это числовой идентификатор, который связывает ридер с пользователями в oscam.user. caid и ident — фильтры: ридер будет отвечать только на ECM-запросы для указанных CAID.
Если карта периодически отваливается — добавьте readertimeout = 3000 и reconnecttimeout = 30. Помогает в 80% случаев с нестабильным USB-соединением.
Файл oscam.user: создание учётных записей клиентов
[account]
user = client1
pwd = secretpassword
group = 1
au = 1
caid = 1830
ident = 1830:000000
uniq = 1
Параметр au включает автообновление — нужно для карт с периодическим переключением ключей. uniq = 1 запрещает одновременный логин с одинаковым именем пользователя — это базовая защита от утечки данных клиента. Файл с паролями — chmod 600, обязательно.
Файл oscam.services и группы каналов (sid)
Этот файл нужен, если вы хотите ограничить доступ определённых клиентов к конкретным каналам. Формат простой:
[HBO]
caid = 1830
provid = 000000
srvid = 0001,0002,0003
Потом в oscam.user добавляете services = HBO для нужного аккаунта. Без oscam.services пользователь получает доступ ко всему, что отдаёт ридер из его группы.
Настройка CCcam.cfg: строки F и C
CCcam живёт в одном файле — это удобно для быстрого старта, но неудобно для масштабирования. На Enigma2-ресиверах файл обычно лежит в /var/etc/CCcam.cfg. На некоторых сборках — /etc/CCcam.cfg. Проверить можно командой find / -name CCcam.cfg 2>/dev/null.
Расположение CCcam.cfg на ресивере (/var/etc/)
После любой правки файла нужен рестарт демона: /etc/init.d/CCcam restart или через меню плагина на ресивере. CCcam не перечитывает конфиг на лету — это не OScam.
Строка F: создание локальных пользователей сервера
F: username password 1 0 0 { 0:0:1 }
Разбираем поля слева направо: имя пользователя, пароль, максимальное число одновременных соединений, минимальный downhop для расшаривания, максимальный downhop, и в фигурных скобках — фильтр по CAID:provider:uphops. Поле { 0:0:1 } означает «все CAID, все провайдеры, максимум 1 hop вверх».
Если хотите дать клиенту доступ только к Nagravision: { 1830:0:1 }. Несколько CAID — несколько записей через запятую.
Строка C: подключение к удалённому серверу как клиент
C: hostname.example.com 12000 myuser mypassword yes
Последний параметр yes/no — включение/отключение EMM (обновление ключей карты). Если сервер не поддерживает EMM или вам это не нужно — ставьте no. Несовпадение версий протокола CCcam между сервером и клиентом проявляется как успешное TCP-соединение, но отсутствие расшаривания — в логах будет PROTOCOL ERROR. Лечится обновлением CCcam до одной версии на обеих сторонах.
Параметры обмена картами: hops, distance, share limits
Hops — это количество промежуточных серверов между вами и физической картой. Hop 1 — локальная карта. Hop 2 — карта у прямого партнёра. Чем больше hops, тем выше ECM time, тем хуже качество картинки.
Строка SHARE LIMIT: 0 в конфиге запрещает пересылку карт дальше — это защита от того, чтобы ваш клиент не стал случайным ретранслятором для третьих лиц. Добавьте IGNORE SHARING LISTED: yes если хотите полностью отключить передачу внешних карт вашим клиентам.
Диагностика и устранение типичных ошибок
Логика диагностики всегда одна: сначала проверяете сеть, потом авторизацию, потом ECM. Не прыгайте сразу к конфигам — половина проблем решается на шаге «проверить, открыт ли порт».
Анализ логов: oscam.log и веб-интерфейс status
Живой лог: tail -f /var/log/oscam.log. Ищите строки с WARN, ERROR, и особенно ECM. Веб-интерфейс OScam на порту 8888 показывает в реальном времени: текущих клиентов, ECM time по каждому, статус ридеров. Это намного удобнее, чем парсить лог вручную.
Для CCcam лог находится в /tmp/CCcam.log или указывается через параметр LOGFILE: в конфиге. Команда tail -f /tmp/CCcam.log | grep -i ecm — ваш лучший друг при отладке.
Проблема «connected» но нет декодирования (ECM timeout)
Самая частая ситуация. Клиент подключился, соединение есть, но каналы не работают. Причины по убыванию частоты:
- Нет карты с нужным CAID в цепочке сервера
- CAID или provider ID в конфиге клиента не совпадает с сервером
- ECM-порт заблокирован файрволом на промежуточном узле
- Ридер завис и не отвечает — нужен рестарт
Проверяем порт с клиентской машины: telnet server.hostname 15000. Если соединение не устанавливается — проблема в сети или файрволе, а не в конфиге OScam.
Ошибки CAID/provider mismatch
В логе OScam это выглядит как no matching reader found for caid 0500 или provider 000000 not found. Открываете oscam.server, проверяете параметры caid и ident — они должны точно совпадать с тем, что запрашивает клиент. Узнать реальный CAID канала можно через веб-интерфейс OScam в разделе Services или через CCcam stats.
Проблемы с firewall и пробросом портов
На сервере: netstat -tlnp | grep oscam покажет, на каких портах и интерфейсах слушает OScam. Если видите 127.0.0.1:15000 вместо 0.0.0.0:15000 — OScam слушает только локальный интерфейс. Исправляется параметром bindip = 0.0.0.0 в секции [newcamd].
iptables на сервере: iptables -L -n | grep 15000. Если правило DROP стоит раньше ACCEPT — порт закрыт несмотря на то, что OScam работает.
Высокий ECM time и фризы изображения
ECM time — это время от запроса ключа дешифровки до получения ответа. Норма: до 600 мс для hop 1-2. Если больше 1000 мс — фризы неизбежны, криптопериод канала (обычно 10 секунд) не успевает обновиться.
Причины высокого ECM time: много hops до карты, перегруженный сервер, медленный интернет-канал между клиентом и сервером, или слабый ридер. В OScam webif видно ECM time по каждому клиенту — сразу понятно, у кого проблема.
Как выбрать провайдера: критерии, а не имена
Этот раздел специально не содержит названий конкретных сервисов. Не потому что их нет, а потому что рынок меняется, и сегодняшний «лучший» сервер завтра становится заброшенным. Вот что проверять.
На что смотреть: стабильность аптайма и ECM time
Попросите тестовый доступ на 24-48 часов — это стандартная практика у нормальных провайдеров. За это время смотрите: средний ECM time (хорошо — до 400 мс, приемлемо — до 700 мс), количество dropped ECM (должно быть близко к нулю), стабильность соединения в ночное время и в прайм-тайм (19:00-23:00 — пиковая нагрузка).
Локальные карты против реселлерских цепочек
Провайдер с локальной картой (hop 1) всегда лучше реселлера, который сам покупает доступ у другого реселлера (hop 3-4). Просите показать статистику hops или проверьте ECM time самостоятельно через OScam webif. Hop 2 с хорошим каналом лучше, чем hop 1 на перегруженном сервере.
Признаки перепроданного сервера
Фризы в прайм-тайм при нормальной работе ночью — первый признак. Второй: ECM time резко растёт к вечеру и падает ночью. Третий: периодические разрывы соединения без видимых причин на вашей стороне. Хороший сервер должен держать стабильный ECM time независимо от времени суток.
Тестовый период и проверка качества
Во время теста запустите мониторинг: OScam webif умеет показывать историю ECM time. Если провайдер отказывает в тестовом доступе или даёт тест на 2 часа в 3 ночи — это уже говорит о многом. Нормальный тест: 24 часа, несколько каналов с разными CAID, прайм-тайм в зачёте.
Какой порт использовать по умолчанию для CCcam и newcamd?
CCcam по умолчанию слушает порт 12000 (TCP). Протокол newcamd настраивают на 15000. Веб-интерфейс OScam — порт 8888. Все три можно менять в конфигах: port в секции [cccam] или [newcamd] в oscam.conf, httpport в секции [webif]. Главное — не назначать два сервиса на один порт.
Чем OScam лучше CCcam?
OScam — открытый исходный код с активной разработкой. Поддерживает одновременно несколько протоколов (newcamd, cccam, mgcamd), имеет детальный веб-интерфейс с историей ECM, гибкую фильтрацию по CAID и provider, нормальную работу с несколькими ридерами. CCcam старый и закрытый, разработка давно прекращена. Единственное преимущество CCcam — простота базовой настройки через один файл.
Почему сервер показывает connected, но каналы не декодируются?
Чаще всего это ECM timeout или несовпадение CAID/provider. Соединение установлено, но сервер не находит карту с нужным CAID в своей цепочке — или находит, но ECM-запрос не доходит из-за файрвола на промежуточном узле. Смотрите oscam.log и ECM time в веб-интерфейсе. Команда telnet server 15000 проверяет сетевую связность; если соединяется — проблема в авторизации или конфиге, а не в сети.
Где находятся конфигурационные файлы OScam?
На Enigma2 — обычно /etc/tuxbox/config/. На Debian/Ubuntu — /etc/oscam/. Бинарник в большинстве случаев в /usr/bin/oscam. Путь к конфигам можно переопределить при запуске: oscam -c /путь/к/конфигам. Найти текущий путь: ps aux | grep oscam — покажет ключ -c если он используется.
Что означает ECM time и какое значение нормальное?
ECM time — это время от отправки запроса на ключ дешифровки до получения ответа от карты. Норма: до 300-600 мс для хорошего сервера с hop 1-2. При ECM time выше 1000 мс начинаются фризы — криптопериод канала (обычно 10 секунд) не успевает обновляться вовремя. Значение зависит от количества hops, нагрузки на сервер и качества интернет-канала.
Как ограничить раздачу карт другим пользователям?
В CCcam.cfg — через параметры в строке F: третье поле задаёт максимальное число подключений, а фигурные скобки ограничивают доступные CAID и количество hops для раздачи. Добавьте SHARE LIMIT: 0 чтобы запретить передачу карт дальше. В OScam — через параметры group и services в oscam.user, плюс ограничения на уровне ридера в oscam.server.
Полная настройка CCcam и OScam сервера: конфигурация, порты, протоколы — это не rocket science, но требует понимания каждого параметра. Скопировать чужой конфиг и надеяться, что заработает — это путь к часам отладки. Разберите структуру один раз, и любая проблема будет решаться за минуты, а не часы.