Реселлер кардшаринга: как стать и настроить сервер
Если вы дочитали документацию по OScam до раздела о секции [account] и поняли, что хотите большего — добро пожаловать на сторону сервера. Реселлер кардшаринга — это не тот, кто просто покупает линию для своего ресивера, а тот, кто поднимает собственный OScam/CCcam-сервер, подключается к апстриму и раздаёт доступ своим клиентам. Звучит просто, но дьявол в деталях конфигурации.
В этой статье — чистая техника. Никакой воды про «выгодный бизнес» и «тысячи каналов». Только архитектура, реальные блоки конфигов и параметры, которые надо понять, прежде чем арендовать VPS.
Кто такой реселлер кардшаринга и как устроена цепочка раздачи
Роли в цепочке: апстрим, реселлер, конечный клиент
Цепочка выглядит так: апстрим (источник реального доступа) → ваш сервер → ваши клиенты. Апстрим — это либо провайдер с физическими смарт-картами в PCSC-ридерах, либо агрегатор, который в свою очередь тоже является чьим-то реселлером. Вы находитесь в середине и фактически выступаете прозрачной прослойкой, пересылающей ECM-запросы от своих клиентов выше и возвращающей CW-ответы.
Конечный клиент подключается к вашему серверу с помощью одной линии — он про апстрим вообще ничего не знает. Ваша задача — обеспечить стабильность этой прослойки и не допустить деградации качества.
Чем реселлер отличается от обычного клиента линии
Обычный клиент получает C-line (CCcam) или account (OScam) и прописывает её в плагин своего Enigma2-ресивера. Всё. Один ресивер, одно подключение.
Реселлер получает ту же самую peer-линию от апстрима — но поднимает на VPS OScam-сервер, прописывает апстрим как [reader] в oscam.server, и уже своим клиентам раздаёт отдельные учётные записи через oscam.user. По сути, вы берёте одно входящее соединение и мультиплексируете его в несколько исходящих — в рамках того, что допускает апстрим по количеству одновременных ECM.
Решаринг (peer) против локальных карт: что вы реально перепродаёте
Большинство реселлеров не владеют физическими картами. Реальная смарт-карта в ридере — это hop 0. Когда апстрим выдаёт вам peer-линию, вы уже на hop 1 или hop 2. Ваши клиенты окажутся на hop 2 или hop 3.
Это принципиально важно. Каждый дополнительный hop — это задержка ECM-ответа и дополнительная точка отказа. На hop 3+ начинаются фризы даже при нормально работающем канале. Поэтому при выборе апстрима надо первым делом спрашивать: сколько hops до реальной карты?
Юридические и технические ограничения раздачи линий
Технически OScam позволяет раздавать линии без каких-либо ограничений со стороны ПО. Но апстрим почти всегда ограничивает количество одновременных ECM-запросов с вашей учётной записи. Превысите лимит — получите бан без предупреждения.
С точки зрения законодательства ситуация в большинстве стран однозначна: перепродажа доступа к платным телеканалам без соответствующих лицензий нарушает авторское право и условия использования сервисов. Это не дисклеймер для проформы — это реальный риск, который стоит учитывать.
Подготовка сервера: VPS, порты и установка OScam/CCcam
Требования к VPS: CPU, RAM, расположение и пинг до клиентов
OScam — не ресурсоёмкое приложение. Для обслуживания 20–50 клиентских подключений хватит VPS с 1 vCPU и 512 МБ RAM. Можно взять и 1 ГБ — просто чтобы не было нервотрёпки.
Важнее всего два параметра: стабильность канала и пинг до ваших клиентов. Если клиенты в Европе — берите сервер в Германии или Нидерландах, а не в Сингапуре. Пинг 5–15 мс до сервера и 50–100 мс до апстрима — это нормально. Пинг 300+ мс до апстрима убьёт ECM time независимо от всего остального.
Открытие и проброс портов (TCP, по умолчанию 12000 для CCcam)
По умолчанию CCcam-протокол использует порт 12000/TCP. В OScam он задаётся в oscam.conf в секции [cccam]:
[cccam]
cccam_port = 12000
После этого открываем порт в firewall:
ufw allow 12000/tcp
ufw reload
Отдельная боль — двойной NAT. Если ваш VPS находится за NAT провайдера (встречается у дешёвых хостеров с «серыми» IP), клиенты не смогут подключиться напрямую на порт 12000. Нужен либо публичный IP (обычно за отдельные деньги), либо VPN-туннель до сервера. Проверьте это до того, как раздадите линии клиентам.
Веб-интерфейс OScam стоит вынести на нестандартный порт — по умолчанию 8888, задаётся в секции [webif]:
[webif]
httpport = 8888
httpuser = admin
httppwd = ваш_пароль
Установка OScam из исходников и через готовые сборки
На чистом Debian/Ubuntu VPS проще всего поставить OScam из готового бинарника под архитектуру x86_64. Сборки распространяются отдельно — ищите сборки с поддержкой нужных протоколов (флаги компиляции: --enable-protocol-cccam, --enable-webif).
Если хотите собрать сами:
apt-get install build-essential libssl-dev libpcsclite-dev
svn checkout svn://streamboard.de/oscam/trunk oscam-svn
cd oscam-svn
make CONF_DIR=/usr/local/etc USE_SSL=1 WEBIF=1
На Enigma2-ресиверах (Dreambox, Vu+, Formuler) путь другой — там используется готовый ipk-пакет под архитектуру ARM или MIPS, устанавливаемый через Softcam Manager.
Базовая структура каталога /etc/tuxbox или /usr/local/etc
На VPS конфиги обычно лежат в /usr/local/etc/. На Enigma2-ресиверах — в /etc/tuxbox/config/oscam/. Точный путь зависит от параметра --config-dir при сборке.
Минимальный набор файлов, которые нужны для работы реселлерского сервера:
oscam.conf— глобальные настройки, секции [global], [webif], [cccam]oscam.server— описание reader'ов (подключения к апстриму)oscam.user— учётные записи клиентовoscam.dvbapi— нужен только если сервер одновременно является ресивером
Настройка апстрима: подключение reader к источнику карт
Секция [reader] в oscam.server для cccam-протокола
Подключение к апстриму описывается в oscam.server. Минимальный рабочий блок для CCcam-линии:
[reader]
label = upstream1
protocol = cccam
device = хост_апстрима,12000
user = ваш_логин
password = ваш_пароль
group = 1
cccversion = 2.3.0
cccmaxhops = 5
inactivitytimeout = 30
reconnecttimeout = 10
inactivitytimeout — сколько секунд ждать без активности перед реконнектом. reconnecttimeout — интервал между попытками переподключения. Оба параметра спасают от ситуации, когда апстрим завис, но OScam этого не понял и продолжает ждать.
Параметры protocol=cccam, device=хост,порт, cccversion
cccversion — это версия протокола CCcam, которую будет анонсировать ваш OScam при подключении к апстриму. Несовпадение версий приводит к обрыву пиринга: апстрим отклоняет подключение или разрывает его через несколько секунд. Обычно 2.3.0 или 2.2.1 — надо уточнять у вашего апстрима, какую версию он принимает.
cccmaxhops в секции reader ограничивает, карты с каким максимальным числом hops принимать от апстрима. Ставьте значение осторожно: если апстрим сам является реселлером и отдаёт карты с hop 2, а вы поставили cccmaxhops=1 — ничего не получите.
group, caid, ident и фильтрация по провайдерам
Параметр group — связующее звено между reader и клиентами. Reader с group=1 обслуживает только тех пользователей из oscam.user, у которых тоже указана group=1. Это ключевой момент — если группы не совпадают, клиент подключится, но каналы декодироваться не будут. Именно это объясняет половину вопросов вида «линия работает, а картинки нет».
caid и ident позволяют фильтровать, какие провайдеры проходят через этот reader. Если хотите ограничить reader только определёнными пакетами — прописывайте явно. Но будьте осторожны: если провайдер сменит ключи или CAID, жёсткая фильтрация заблокирует всё декодирование до ручного обновления конфига.
Проверка статуса reader через веб-интерфейс и oscam.log
Открываете браузер, идёте на http://ваш_сервер:8888, вкладка Readers. Смотрите статус: должен быть CONNECTED и CARDOK. Если видите RECONNECTING каждые 10 секунд — проблема с логином, паролем или версией cccam.
Для диагностики через лог — в oscam.conf:
[global]
logfile = /var/log/oscam.log
debuglevel = 64
В логе ищите строки с ECM time — это время ответа на запрос декодирования. В норме это 200–500 мс. Если видите 1500–3000 мс или таймауты — апстрим перегружен или слишком много hops.
Выдача линий клиентам: oscam.user, группы и лимиты
Формат записи клиента в oscam.user
Каждый клиент — отдельный блок в oscam.user:
[account]
user = client1
pwd = пароль_клиента
group = 1
uniq = 1
cccmaxhops = 1
caid =
sleep = 300
Пустой caid = означает, что клиент получает доступ ко всем провайдерам, которые есть в его группе. Можно ограничить конкретными значениями, например caid = 0500,0604.
Привязка клиента к reader через group
Ещё раз, потому что это ломает декодирование чаще всего: group в [account] клиента должна совпадать с group в [reader] апстрима. Если у вас несколько апстримов (например, один для одного пакета, другой для второго), используйте разные группы и явно назначайте клиентов в нужную.
Пример с двумя апстримами:
- reader
upstream_euсgroup=1— европейские пакеты - reader
upstream_deсgroup=2— немецкие HD-каналы - клиент с
group=1,2— получает доступ к обоим
Ограничения: au, caid, ident, sleep, uniq
uniq=1 — один из важнейших параметров реселлера. Он запрещает одновременные подключения с одного логина. Без этого клиент может раздать вашу линию другу (или просто подключить несколько ресиверов), и вы получите неожиданную нагрузку на апстрим плюс потенциальный бан.
sleep=300 — если клиент не отправлял ECM-запросов 300 секунд (5 минут), сессия завершается. Защита от «мёртвых» подключений, которые занимают слот, но ничем не пользуются.
au (Auto Update) лучше отключить для большинства клиентов — au=0. Если включить для клиента, его ресивер будет пытаться получать обновления ключей напрямую, что создаёт лишнюю нагрузку и потенциальные проблемы с апстримом.
Контроль перегрузки: cccmaxhops, ECM-частота и фрод-защита
Ставьте клиентам cccmaxhops=1. Это гарантирует, что даже если клиент попытается использовать вашу линию как апстрим для своего сервера, его клиенты не смогут декодировать — OScam откажет запросам с hop 2+.
Следите за ECM-частотой через веб-интерфейс. В норме один клиент генерирует 1–3 ECM-запроса в минуту при зэппинге. Если видите 20–30 в минуту с одного аккаунта — либо у него петля в конфиге, либо он перепродал вашу линию и через него идут запросы чужих клиентов. Проверяйте вкладку Users → ECM history в OScam webif.
Anti-cascading в OScam можно настроить через anticasc-секцию в oscam.conf, но uniq=1 + cccmaxhops=1 уже закрывают большинство сценариев злоупотребления.
Как выбрать апстрим-провайдера: критерии без имён
Аптайм, пинг и стабильность ECM-времени
Главный показатель качества апстрима — стабильное ECM time, а не длина списка каналов. Идеальная цель — ECM time ниже 400–600 мс при постоянной нагрузке, включая прайм-тайм (19:00–23:00 в вашем часовом поясе). Именно в это время перегруженные серверы начинают давать 1500–3000 мс и фризы по 2–5 секунд.
Просите тестовую линию на 24–48 часов перед оплатой. Любой нормальный апстрим даёт тест. Если отказывают — это красный флаг.
Количество hops до реальной карты и тип карт (local vs reshare)
Прямо спрашивайте: это local card (физическая карта в ридере) или reshare? И сколько hops? Если апстрим даёт local card на hop 1 — это хорошо. Если он сам является реселлером и не знает, сколько у него hops — вы рискуете получить hop 3–4, что неприемлемо для перепродажи.
В OScam webif → Readers вы увидите, на каком hop пришла карта от апстрима. Если там hop: 2 и выше — ваши клиенты будут на hop 3+. Для большинства пакетов это граница нормальной работы.
Поддержка, условия замены линии и тестовый период
Карты у провайдеров иногда меняются — плановая смена или в ответ на взлом. Нормальный апстрим заменяет линию в течение нескольких часов без доплаты. Уточняйте это заранее: как быстро реагируют на замену? Есть ли нотификация? Через какой канал (Telegram, email, тикет)?
Апстрим без какого-либо способа связи, работающий полностью анонимно, — это риск. Не с точки зрения морали, а с точки зрения надёжности: если что-то сломается, вам некуда написать.
Красные флаги: завышенные обещания и анонимные источники
«Тысячи HD-каналов без фризов» — этому верить не надо. Реальное количество работающих CAID и провайдеров можно проверить в OScam webif после подключения тестовой линии. Всё остальное — маркетинг.
Частые реконнекты в oscam.log во время теста — апстрим нестабилен. Строки вида RECONNECTING to upstream1 каждые 30–60 секунд означают, что сервер апстрима падает или перегружается. Смотрите на этот параметр в первую очередь.
Ещё один признак проблемного апстрима: высокий и нестабильный пинг. Запустите ping хост_апстрима в течение нескольких минут. Если видите скачки от 20 мс до 800 мс — даже с хорошими картами ECM time будет непредсказуемым.
Частые вопросы
Чем реселлер кардшаринга отличается от обычного клиента?
Обычный клиент получает одну линию — прописывает её в плагин ресивера и смотрит телевизор. Реселлер кардшаринга поднимает собственный OScam-сервер, подключает апстрим как [reader] в oscam.server и создаёт отдельные учётные записи для каждого своего клиента в oscam.user. Разница принципиальная: один входящий поток превращается в несколько исходящих с полным контролем над группами, лимитами и защитой от злоупотреблений.
Какой порт нужен для CCcam-протокола в OScam?
По умолчанию 12000/TCP. Задаётся в oscam.conf в секции [cccam] параметром cccam_port = 12000. После этого порт нужно открыть в firewall: ufw allow 12000/tcp && ufw reload. Если VPS находится за NAT провайдера с серым IP — входящие подключения на 12000 не дойдут, нужен публичный IP или VPN-туннель.
Где находятся конфигурационные файлы OScam?
На VPS с Linux — обычно /usr/local/etc/ (там лежат oscam.conf, oscam.server, oscam.user, oscam.dvbapi). На ресиверах Enigma2 (Dreambox, Vu+) — /etc/tuxbox/config/oscam/. Точный путь зависит от параметра --config-dir, указанного при компиляции — проверьте вывод oscam --help или стартового скрипта.
Как защитить свою линию от перепродажи клиентом?
Три параметра в связке: uniq=1 в блоке клиента в oscam.user (запрет нескольких одновременных подключений с одного логина), cccmaxhops=1 (клиент не сможет использовать вашу линию как апстрим для своего сервера), и регулярный мониторинг ECM-частоты в веб-интерфейсе. Аномальные 20–30 ECM в минуту с одного аккаунта — повод проверить, не торгует ли клиент вашей линией.
Что важнее при выборе апстрима — количество карт или ECM time?
ECM time и стабильность — без вариантов. Большой список каналов с ECM time 2000–3000 мс и фризами в прайм-тайм бесполезен. Цель — стабильное время ответа ниже 400–600 мс при нагрузке, small hop count (в идеале local card на hop 1) и отсутствие реконнектов в oscam.log на протяжении тестового периода. Всегда берите тестовую линию на 24–48 часов перед оплатой.
Почему клиент подключается, но каналы не декодируются?
Первое, что проверяем: совпадение group в [reader] (oscam.server) и [account] (oscam.user) у клиента. Это причина №1. Дальше: статус reader в веб-интерфейсе — должен быть CARDOK, а не RECONNECTING. Потом — caid и ident: если прописаны жёстко, а провайдер сменил CAID, декодирование просто заблокируется. Смотрите ECM history в OScam webif — там сразу видно, на каком этапе обрыв.