Как вытащить vpn список vless серверов из happ подписки для v2raya, v2rayN приложений и подключить устройств выше лимита по подписке

 Инструкция: Happ Proxy Subscription Converter

Парсинг подписки Happ Proxy для V2RayN / V2RayA / Clash / SingBox

⚠️ Важно: Данный скрипт предназначен для образовательных целей. Используйте только с легальной подпиской и в соответствии с условиями вашего провайдера.


Скачать happ_conventer.php

Скачать debug_headers.php

Оглавление

1. Назначение
2. Требования
3. Установка
4. Перехват заголовков приложения (Debug)
5. Настройка скрипта
6. Защита файлов (.htaccess)
7. Проверка работы
8. Подключение в VPN-клиентах
9. Обход лимита устройств
10. Дополнительные конвертеры
11. Частые проблемы
12. Безопасность
13. Файловая структура



Назначение

Скрипт happ_converter.php решает следующие задачи:

Задача Решение
Эмуляция мобильного приложения Подстановка заголовков User-Agent: Happ/3.13.0 и других
Обход проверки устройства Использование кастомных X-HwidX-Real-Ip
Декодирование подписки Автоматическое декодирование Base64 → список vless://
⚡ Кеширование Сохранение результата на 3 часа для ускорения загрузки
Универсальность Работает с V2RayN, V2RayA, Clash, SingBox

⚙️ Требования

  • PHP 7.4+ с поддержкой расширений:
    • curl
    • mbstring
    • json
  • Веб-сервер: Apache (рекомендуется) или Nginx
  • Права на запись в директорию скрипта (для output.cache)
  • (Опционально) Модуль mod_rewrite для .htaccess

Проверка наличия cURL в PHP:


Установка

Шаг 1: Создай файл happ_converter.php

Скопируй код ниже в новый файл:


Перехват заголовков приложения (Debug)

 Зачем это нужно?
Если провайдер обновил приложение и ваши заголовки устарели, или вы хотите использовать свои уникальные параметры (HWID, модель устройства) — нужно перехватить реальные заголовки, которые отправляет приложение Happ.

Шаг 1: Создай файл debug_headers.php

Этот скрипт сохранит все входящие заголовки в файл requests.log:

Шаг 2: Настрой приложение Happ

  1. Открой настройки приложения Happ Proxy
  2. Найди раздел Подписка или Subscription URL
  3. Вставь ссылку на свой сервер:
  4. Нажми Обновить подписку или Sync

Шаг 3: Проверь файл requests.log

После обновления подписки в приложении, файл requests.log будет содержать что-то вроде:

Шаг 4: Скопируй заголовки в happ_converter.php

Возьми значения из requests.log и вставь в основной скрипт:

Важно: Удали debug-скрипт после использования!

⚠️ Не оставляй debug_headers.php на сервере!
Через него можно получить информацию о твоих запросах и заголовках.


⚙️ Настройка скрипта

Шаг 1: Замени ссылку подписки

Если у тебя ссылка в формате happ://add/https://..., убери префикс happ://add/.

Шаг 2: Настрой заголовки

Используй данные из requests.log (см. раздел выше) или оставь дефолтные:

Шаг 3: Настрой кеширование


Защита файлов (.htaccess)

Для защиты кеш-файлов создай .htaccess в той же папке:

⚠️ Для Apache 2.2 замени Require all denied на Deny from all.


Проверка работы

Тест через терминал (curl)

Тест через браузер

  1. Открой: https://твой-сайт.ru/happ_converter.php
  2. Должен увидеть список ссылок вида:
  3. Если видишь Error: Failed to fetch subscription — проверь заголовки и ссылку.

Подключение в VPN-клиентах

V2RayN (Windows / Android)

  1. Открой Подписки → Добавить подписку
  2. Вставь ссылку:
  3. Тип: V2Ray / VLESS (или Raw)
  4. Нажми Обновить → серверы появятся в списке

V2RayA (Linux / Docker)

  1. Открой веб-интерфейс → Subscriptions
  2. Нажми Add Subscription
  3. URL:
  4. Label: Happ Proxy
  5. Нажми Update → импортируй конфигурации

Clash Meta / Mihomo

Требуется доработка скрипта для вывода в YAML-формате.
Пока можно использовать внешние конвертеры (см. раздел ниже).

SingBox / Hiddify

Аналогично Clash — нужен JSON-вывод.
Временно: скопируй vless:// ссылки вручную.


Обход лимита устройств

Провайдер считает устройства по заголовку X-Hwid. Чтобы подключить больше 3–5 устройств:

Способ 1: Сгенерировать новый HWID

Способ 2: Передавать HWID через URL

  1. В скрипте замени строку:

    на:

  2. Теперь можно подключать с разным HWID:

⚠️ Важно: Не злоупотребляй! Если провайдер ведёт учёт по аккаунту, а не только по HWID, это может привести к блокировке.


Дополнительные конвертеры

Если нужен формат Clash YAML или SingBox JSON, используй внешние инструменты:

Конвертер Направление Ссылка
vless-xtls-converter vless:// → SingBox/Clash JSON Открыть
amnezia_xkeen_converter JSON → vless:// Открыть
VlessLinker (GitHub) Мультиформат, открытый код Репозиторий

 Как использовать:

  1. Скачай список vless:// из нашего скрипта
  2. Вставь в конвертер
  3. Скачай готовый конфиг для нужного клиента

Частые проблемы

Проблема Возможная причина Решение
Пустой ответ / 502 Неверная ссылка, заголовки или блокировка Проверь $subscriptionUrl, сравни заголовки с перехватом, временно поставь CURLOPT_SSL_VERIFYPEER => false
Кеш не обновляется Файл output.cache заблокирован или нет прав Удали файл вручную: rm output.cache, проверь права chmod 666
Не декодируется Base64 Сервер вернул plain text, а не Base64 Добавь лог: file_put_contents('debug.log', $response); и проверь содержимое
403 на .htaccess Модуль mod_rewrite выключен или AllowOverride None Включи в конфиге Apache: AllowOverride All, перезагрузи сервер
Слишком медленный ответ Таймаут мал или хостинг тормозит Увеличь $timeout = 60, проверь скорость сервера
Ссылки не импортируются в клиент Неподдерживаемый формат Убедись, что в клиенте выбран тип V2Ray / VLESS, а не Trojan/VMess

Отладка: включи логирование

Добавь в начало скрипта:


Безопасность

Обязательно

  •  Не публикуй скрипт в публичном GitHub с реальными токенами
  •  Удали requests.log и debug.log после отладки
  •  Удали debug_headers.php после перехвата заголовков!
  •  Ограничь доступ к скрипту (если он в публичном доступе):
  •  Регулярно обновляй заголовки, если Happ меняет версию приложения
  •  Используй HTTPS для домена, где размещён скрипт

Автообновление заголовков (опционально)

Если Happ часто обновляется, можно вынести заголовки в отдельный файл config.php:


Файловая структура


Обновление скрипта

  1. Скачай новую версию happ_converter.php
  2. Сохрани свои настройки ($subscriptionUrl, заголовки)
  3. Замени файл на сервере
  4. Очисти кеш: rm output.cache
  5. Проверь работу: curl -I https://твой-сайт.ru/happ_converter.php

Поддержка и вопросы

Если что-то не работает:

  1. Проверь логи: tail -f error.log
  2. Протестируй запрос вручную:
  3. Напиши в ответ:
    • Текст ошибки
    • Версию PHP (php -v)
    • Тип веб-сервера (Apache / Nginx)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">