UNPKG

vless-to-xray

Version:

Convert VLESS subscription URLs to Xray configuration

195 lines (142 loc) 7.28 kB
# VLESS to Xray Config Converter CLI инструмент для загрузки VLESS подписок и конвертации их в JSON конфигурацию для Xray-core. **Что делает пакет:** - 📥 Загружает данные подписки по URL - 🔍 Декодирует base64 содержимое - 🔄 Парсит VLESS URL'ы - 📄 Генерирует JSON конфигурацию для Xray-core **Что НЕ делает:** - ❌ Не запускает Xray-core - ❌ Не создает прокси соединения - ❌ Не управляет сетевыми подключениями ## Возможности - 🔄 Конвертация VLESS URL в JSON конфигурацию Xray-core - 📥 Загрузка подписок по HTTP/HTTPS - 🔍 Автоматическое декодирование base64 - 🌐 Поддержка Reality, TCP, WebSocket параметров - ⚙️ Генерация HTTP inbound'ов для каждого сервера - 📦 CLI интерфейс и программный API - 🛡️ Timeout защита и обработка ошибок ## Установка **Установка не требуется!** Используйте npx для запуска без установки: ```bash # Запуск без установки через npx (рекомендуется) npx vless-to-xray <subscription-url> [output-file] ``` ### Альтернативные способы ```bash # Глобальная установка (опционально) npm install -g vless-to-xray # Локальная разработка git clone <repository-url> cd vless-to-xray npm install ``` ## Использование ### CLI команды ```bash # Базовое использование (через npx) npx vless-to-xray <subscription-url> [output-file] # Сохранить в файл npx vless-to-xray https://example.com/sub/data ./config.json # Вывести в консоль (по умолчанию сохраняет в xray-config.json) npx vless-to-xray https://example.com/sub/data # Справка npx vless-to-xray --help ``` ### Программный API ```javascript import { parseVlessUrl } from 'vless-to-xray'; const vlessUrl = 'vless://uuid@server.com:443?type=tcp&security=reality&pbk=...#server1'; const config = parseVlessUrl(vlessUrl); console.log(config); ``` ## Структура генерируемой конфигурации Инструмент создает конфигурацию Xray со следующей структурой: ### Inbounds - HTTP proxy на портах `11081`, `11082`, `11083`... для каждого сервера - Привязка к `0.0.0.0` для внешнего доступа ### Outbounds - VLESS протокол с Reality/TLS - Автоматическая настройка Reality параметров - Поддержка flow: `xtls-rprx-vision` ### Routing - Прямое соответствие inbound → outbound - Каждый HTTP порт связан с конкретным сервером ## Поддерживаемые параметры VLESS | Параметр | Описание | Значение по умолчанию | |----------|----------|-----------------------| | `type` | Транспортный протокол | `tcp` | | `security` | Тип шифрования | `reality` | | `flow` | Flow control | `xtls-rprx-vision` | | `fp` | Fingerprint | `chrome` | | `sni` | Server Name Indication | адрес сервера | | `pbk` | Public Key | обязательный | | `sid` | Short ID | опциональный | | `spx` | Spider X | опциональный | ## Примеры использования ### 1. Простая конвертация (npx) ```bash npx vless-to-xray https://your-provider.com/sub/abc123 ``` ### 2. Сохранение в кастомный файл ```bash npx vless-to-xray https://your-provider.com/sub/abc123 ./my-config.json ``` ### 3. Использование с Xray-core ```bash # 1. Генерация конфига через npx (только конвертация!) npx vless-to-xray https://your-provider.com/sub/abc123 ./config.json # 2. Запуск Xray с сгенерированным конфигом (отдельно) xray -c ./config.json ``` > **Важно:** Пакет только генерирует конфигурацию. Запуск Xray-core и настройка прокси выполняется отдельно. ## Требования - Node.js >= 22.0.0 - Доступ к интернету для загрузки подписок ## Лицензия MIT --- ## 🚀 Рекомендуемые VPN сервисы ### [Просто Космос VPN](https://t.me/prosto_kosmos_vpn_bot?start=140402) **Почему рекомендуем:** - 🏆 Высокая стабильность соединения - 🌍 Серверы по всему миру - ⚡ Отличная скорость для стриминга и игр - 💰 Доступные тарифы - 🤝 Telegram-бот для удобного управления - 🔒 Поддержка Reality и современных протоколов **Идеально подходит для:** - Обход блокировок - Стриминг сервисы - Игры с низким пингом - Повседневное использование ### [FizzVPN](https://fizzvpn.io/) **Преимущества:** - 🛡️ Фокус на безопасность и приватность - 🔧 Продвинутые настройки для технических пользователей - 📱 Кроссплатформенность - ⚙️ Совместимость с Xray-core из коробки - 🆓 Пробный период для тестирования **Подходит если вам нужно:** - Максимальная приватность - Тонкие настройки протоколов - Профессиональное использование - Техподдержка на русском языке ### Использование с данным инструментом Оба сервиса предоставляют VLESS подписки, которые можно легко конвертировать: ```bash # Пример для Просто Космос VPN npx vless-to-xray "https://sub.your-cosmos-link.com/path" ./cosmos-config.json # Пример для FizzVPN npx vless-to-xray "https://fizzvpn.io/sub/yourkey" ./fizz-config.json ``` После генерации конфигурации запустите Xray отдельно: ```bash xray -c ./config.json ``` После запуска Xray настройте ваши приложения на использование HTTP proxy: - HTTP Proxy: `127.0.0.1:11081` (первый сервер) - HTTP Proxy: `127.0.0.1:11082` (второй сервер) - И т.д. > **Примечание:** `vless-to-xray` только создает конфигурацию. Запуск прокси и Xray-core выполняется отдельными инструментами.