bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Своя подписка для VLESS на VPS: sub-store и автообновление конфигов

calendar_month 5 июля 2026 schedule 23 мин. чтения visibility 28 просмотров
person
Valebyte Team
Для создания единой подписки VLESS на VPS с автообновлением конфигов и удобным управлением множеством серверов используется sub-store – мощный инструмент, позволяющий централизовать доступы и автоматизировать их доставку клиентам. Эта статья подробно рассмотрит, как развернуть и настроить свой собственный sub-store на виртуальном частном сервере от Valebyte.com, чтобы вы могли эффективно управлять своими VLESS-конфигурациями, объединять их в одну удобную ссылку и обеспечивать бесперебойное автообновление для всех ваших пользователей, независимо от количества серверов и их географического расположения.

Зачем нужна единая подписка VLESS на VPS и почему это удобно?

Управление несколькими VLESS-серверами, расположенными в разных дата-центрах или даже у разных провайдеров, может быстро превратиться в головную боль. Каждый сервер имеет свой уникальный конфигурационный файл или ссылку. Если у вас несколько клиентов или вы сами используете несколько устройств, необходимость вручную обновлять или распространять эти ссылки при каждом изменении (например, при смене порта, добавлении нового сервера или блокировке старого) становится крайне неэффективной. Единая подписка VLESS на VPS решает эту проблему, предлагая централизованный подход к управлению доступом.

Проблемы многосерверной инфраструктуры без централизации

Без единой точки управления, администраторы и пользователи сталкиваются со следующими трудностями:
  • Ручное обновление: При каждом изменении конфигурации (например, обновлении TLS-сертификата, смене адреса сервера, добавлении нового VLESS-узла) необходимо вручную обновлять ссылки на каждом клиентском устройстве. Это трудоемко и чревато ошибками.
  • Сложность распространения: Рассылка десятков или сотен индивидуальных ссылок пользователям становится логистическим кошмаром. Как убедиться, что у всех всегда актуальные данные?
  • Отсутствие единого источника: Клиенты не могут легко переключаться между серверами. Им приходится вручную добавлять каждый сервер, что снижает удобство использования и увеличивает порог входа.
  • Проблемы с доступностью: Если один сервер падает, клиентам приходится ждать новой ссылки или вручную переключаться на другой, если он был добавлен ранее. Это нарушает непрерывность работы.
  • Неэффективное использование ресурсов: Без возможности быстро переключать пользователей между менее загруженными серверами, некоторые узлы могут быть перегружены, в то время как другие простаивают.
Централизованная система подписок, работающая на вашем VPS, позволяет агрегировать все VLESS-конфигурации в одну удобную ссылку. Клиент добавляет эту ссылку один раз в свой VLESS-клиент (например, v2rayNG, Clash, Shadowrocket), и все доступные серверы автоматически появляются в списке. При любых изменениях на стороне сервера, клиенту достаточно обновить подписку, и актуальные данные будут загружены автоматически. Это значительно повышает удобство для конечных пользователей и упрощает жизнь администраторам.

Преимущества централизованной подписки VLESS на VPS

Развертывание собственной системы подписок на VPS приносит ряд значительных преимуществ:
  • Удобство для пользователей: Одна ссылка вместо десятков. Клиенты могут легко переключаться между серверами, выбирая наиболее быстрый или стабильный вариант.
  • Простота администрирования: Все изменения вносятся в одном месте. Добавление новых серверов, удаление старых, изменение параметров — все это отражается у клиентов после обновления подписки.
  • Автоматическое обновление конфигов VLESS: Клиенты получают актуальные конфигурации без ручного вмешательства, что критически важно для поддержания стабильного доступа, особенно в условиях частых блокировок или смены IP-адресов.
  • Гибкость и контроль: Вы полностью контролируете, какие серверы и в каком порядке предоставляются пользователям. Можно настроить различные группы подписок для разных пользователей.
  • Устойчивость к блокировкам: Если один из серверов блокируется, вы можете оперативно заменить его на новый в sub-store, и клиенты получат обновленную конфигурацию при следующем автообновлении.
  • Экономия времени: Сокращение времени на поддержку и распространение конфигураций позволяет сосредоточиться на более важных задачах.
Использование собственного VPS для хостинга sub-store также дает полный контроль над данными и приватностью, чего нельзя гарантировать при использовании сторонних сервисов. Вы выбираете провайдера, например, Valebyte.com, который предлагает надежные VPS с высокой доступностью и производительностью, что критически важно для стабильной работы вашей системы подписок.

Что такое sub-store и как он решает проблему управления subscription VLESS VPS?

Sub-store – это легковесный, но мощный инструмент, который выступает в роли прокси-сервера для ваших подписок. Он не является полноценным VLESS-сервером, а скорее агрегатором и конвертером конфигураций. Его основная задача — принимать на вход множество отдельных VLESS-ссылок (или других протоколов) и выдавать на выходе единую, унифицированную ссылку подписки, которую могут использовать клиенты. Это позволяет эффективно управлять subscription VLESS VPS, значительно упрощая весь процесс.

Принцип работы sub-store

Sub-store работает по следующему принципу:
  1. Сбор конфигураций: Вы предоставляете sub-store список URL-адресов, каждый из которых ведет к отдельной VLESS-конфигурации (или конфигу другого протокола, например, Shadowsocks, VMess, Trojan, Reality и т.д.). Эти ссылки могут быть как прямыми ссылками на конфигурации, так и ссылками на другие подписки.
  2. Агрегация и нормализация: Sub-store загружает все эти конфигурации, парсит их, нормализует и объединяет в единый массив данных.
  3. Конвертация и фильтрация: По запросу клиента, sub-store может конвертировать объединенные данные в различные форматы подписок (например, Clash, Quantumult X, Surge, Base64-кодированный URL-список для V2RayNG). Он также может применять фильтры, позволяя включать или исключать определенные серверы по их названиям, регионам или другим параметрам.
  4. Выдача единой ссылки: Sub-store предоставляет публичный URL-адрес. Когда клиентское приложение отправляет запрос на этот URL, sub-store динамически формирует и отдает актуальный список серверов в нужном формате.
Таким образом, sub-store становится центральным хабом для всех ваших VLESS-конфигураций. Вместо того чтобы давать пользователям 10 разных ссылок, вы даете им одну, которая всегда ведет к актуальному списку из 10 (или более) серверов.

Ключевые возможности sub-store для управления подписками

Sub-store предлагает ряд функций, которые делают его незаменимым инструментом для управления VLESS-подписками:
  • Поддержка множества протоколов: Помимо VLESS, sub-store обычно поддерживает VMess, Shadowsocks, Trojan, Snell, HTTP/HTTPS прокси и другие. Это позволяет объединять в одной подписке серверы разных типов.
  • Гибкая настройка источников: Вы можете добавлять как прямые ссылки на VLESS-конфигурации, так и ссылки на другие подписки, позволяя создавать многоуровневые системы.
  • Конвертация форматов: Одна из важнейших функций – возможность конвертировать агрегированный список серверов в форматы, понятные различным клиентским приложениям (Clash, Quantumult X, Surge, Base64-encoded V2Ray/VLESS URL list).
  • Фильтрация и сортировка: Возможность фильтровать серверы по ключевым словам в их именах, по регионам, по протоколам. Это позволяет создавать персонализированные подписки.
  • Автоматическое обновление: Поскольку sub-store динамически генерирует список серверов, любые изменения в исходных конфигурациях автоматически отражаются в подписке клиента при следующем обновлении.
  • Балансировка нагрузки (ограниченно): Хотя sub-store сам по себе не является балансировщиком, он позволяет предоставлять клиентам актуальный список серверов, из которого они могут выбрать наименее загруженный или ближайший к ним.
  • Легковесность: Sub-store обычно написан на Go или Python и потребляет минимум ресурсов, что делает его идеальным для развертывания даже на самых бюджетных VPS.
Используя sub-store на своем Valebyte.com VPS, вы получаете полный контроль над процессом распространения VLESS-конфигураций, обеспечивая максимальное удобство и надежность для своих пользователей. Это особенно актуально для тех, кто предоставляет доступ к VLESS-серверам небольшой группе друзей, семье или даже в рамках небольшого коммерческого проекта.

Ищете надёжный сервер для ваших проектов?

VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.

Смотреть предложения →

Подготовка VPS для установки sub-store: выбор и настройка

Прежде чем приступить к установке sub-store, необходимо правильно выбрать и подготовить ваш виртуальный частный сервер. Выбор подходящего VPS – ключевой фактор для стабильной и быстрой работы вашей системы подписок. Valebyte.com предлагает различные тарифные планы, которые подойдут для этой задачи.

Выбор оптимального VPS для sub-store

Sub-store не является ресурсоемким приложением, поэтому для его работы не требуется мощный сервер. Однако, если вы планируете обслуживать большое количество клиентов или агрегировать сотни конфигураций, стоит рассмотреть более производительные варианты. Вот основные рекомендации по выбору VPS:
  • Процессор (CPU): 1 vCPU с частотой 2.0 GHz или выше будет более чем достаточно. Sub-store в основном выполняет сетевые операции и парсинг текста, что не требует интенсивных вычислений.
  • Оперативная память (RAM): 512 MB – 1 GB RAM обычно хватает с запасом. Если вы используете операционную систему без графического интерфейса (что настоятельно рекомендуется), то даже 256 MB может быть достаточно, но 512 MB дает больше гибкости.
  • Дисковое пространство: 10-20 GB NVMe или SSD диска будет более чем достаточно. Sub-store хранит очень мало данных. NVMe/SSD предпочтительнее для общей отзывчивости системы.
  • Операционная система: Рекомендуется использовать минималистичные дистрибутивы Linux, такие как Ubuntu Server (20.04 LTS или 22.04 LTS), Debian (11 или 12) или CentOS Stream 9. Они стабильны, хорошо документированы и потребляют минимум ресурсов.
  • Локация VPS: Выбирайте локацию, которая находится географически близко к вашим основным пользователям, чтобы минимизировать задержку при запросе подписки. Однако, поскольку sub-store только отдает текстовые данные, влияние локации на скорость будет минимальным, главное — стабильное интернет-соединение.
**Таблица: Рекомендуемые конфигурации VPS для sub-store на Valebyte.com**
Тарифный план (пример) vCPU RAM Диск (NVMe/SSD) Трафик Примерная цена/мес. Рекомендуемая нагрузка
Entry-Level 1 ядро (2.0+ GHz) 512 MB 10 GB NVMe 1 TB от $3 До 50 активных пользователей, до 20 VLESS-серверов
Standard 1 ядро (2.5+ GHz) 1 GB 20 GB NVMe 2 TB от $5 До 200 активных пользователей, до 50 VLESS-серверов
Advanced 2 ядра (2.5+ GHz) 2 GB 40 GB NVMe 4 TB от $10 Свыше 200 активных пользователей, более 50 VLESS-серверов
*Цены приведены для примера и могут отличаться. Для точной информации смотрите актуальные тарифы на Valebyte.com.*

Первоначальная настройка операционной системы

После получения доступа к вашему VPS (обычно через SSH), выполните следующие шаги: 1. **Обновление системы:** Всегда начинайте с обновления всех пакетов до актуальных версий.
sudo apt update && sudo apt upgrade -y
(Для Ubuntu/Debian)
sudo yum update -y
(Для CentOS/RHEL) 2. **Установка необходимых утилит:** Убедитесь, что установлены `curl` или `wget` для загрузки файлов, и `git` (если вы планируете клонировать репозиторий sub-store).
sudo apt install curl wget git -y
3. **Настройка фаервола (UFW для Ubuntu/Debian):** Рекомендуется настроить фаервол для повышения безопасности. Разрешите только необходимые порты: SSH (обычно 22), HTTP (80) и HTTPS (443), так как sub-store будет работать через веб-сервер.
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Подтвердите "y" при запросе. 4. **Создание нового пользователя (необязательно, но рекомендуется):** Работайте не под `root`, а под обычным пользователем с `sudo` правами.
sudo adduser valeuser
sudo usermod -aG sudo valeuser
Затем выйдите из `root` и войдите под `valeuser`. Теперь ваш VPS готов к установке sub-store. Убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего VPS, если вы планируете использовать HTTPS (что настоятельно рекомендуется) для вашей подписки.
rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Установка sub-store на VPS: пошаговое руководство

Установка sub-store на VPS может быть выполнена несколькими способами, в зависимости от выбранной реализации (есть версии на Go, Python и других языках). Мы рассмотрим установку наиболее популярной и производительной версии, обычно написанной на Go, которая компилируется в один исполняемый файл. Для демонстрации используем Ubuntu Server 22.04 LTS.

Установка Go и компиляция sub-store из исходников

Этот метод предпочтителен, так как позволяет получить самую свежую версию и гарантирует совместимость. 1. **Установка Go:** Сначала необходимо установить компилятор Go. Проверьте актуальную версию Go на официальном сайте (go.dev/dl/).
wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz # Замените на актуальную версию
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
source ~/.profile
go version
Вы должны увидеть версию Go, например `go version go1.22.4 linux/amd64`. 2. **Клонирование репозитория sub-store:** Найдите актуальный репозиторий sub-store на GitHub. Один из популярных вариантов — `sub-store-ng` или `subconverter`. Мы будем использовать концепцию `sub-store` как общего названия. Предположим, вы нашли подходящий репозиторий.
git clone https://github.com/your-sub-store-repo/sub-store.git # Замените на реальный репозиторий
cd sub-store
3. **Компиляция sub-store:**
go build -o sub-store main.go # Или другой entry-point файл
После выполнения этой команды в текущей директории появится исполняемый файл `sub-store`.

Запуск sub-store и настройка Systemd

Для надежной работы sub-store в фоновом режиме и автоматического запуска после перезагрузки сервера, используйте `systemd`. 1. **Создание файла конфигурации sub-store:** Sub-store обычно требует конфигурационный файл (например, `config.yaml` или `settings.json`), где указываются источники подписок, порты и другие параметры. Пример `config.yaml` (структура может отличаться):
# config.yaml
listen: ":8080" # Порт, на котором будет слушать sub-store
sources:
  - url: "https://your-vless-server1.com/config.json"
    name: "Server-1-Germany"
  - url: "https://your-vless-server2.com/vless_sub"
    name: "Server-2-USA"
    type: "vless" # Указываем тип, если не auto-detect
rules:
  - name: "My-Combined-Subscription"
    filter: "Server-" # Включить все серверы, содержащие "Server-" в названии
    format: "base64" # Формат вывода для V2RayNG/v2rayN
    path: "/sub/my_vless_sub" # URL-путь для этой подписки
    template: "default" # Шаблон для форматирования
Создайте этот файл в директории `sub-store` (например, `/opt/sub-store/config.yaml`). 2. **Создание пользователя для sub-store:** Для безопасности лучше запускать sub-store от имени отдельного пользователя.
sudo useradd -r -s /bin/false sub-store-user
sudo mkdir /opt/sub-store
sudo mv sub-store /opt/sub-store/sub-store
sudo mv config.yaml /opt/sub-store/config.yaml
sudo chown -R sub-store-user:sub-store-user /opt/sub-store
3. **Создание Systemd юнита:** Создайте файл `sub-store.service` в `/etc/systemd/system/`.
sudo nano /etc/systemd/system/sub-store.service
Добавьте следующее содержимое:
[Unit]
Description=Sub-store Subscription Converter
After=network.target

[Service]
User=sub-store-user
Group=sub-store-user
ExecStart=/opt/sub-store/sub-store -c /opt/sub-store/config.yaml # Укажите путь к вашему конфигу
Restart=on-failure
RestartSec=10
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
Сохраните и закройте файл. 4. **Запуск и активация sub-store:**
sudo systemctl daemon-reload
sudo systemctl enable sub-store
sudo systemctl start sub-store
sudo systemctl status sub-store
Убедитесь, что сервис запущен и активен (`active (running)`). Теперь sub-store запущен и слушает на порту 8080 (или другом, указанном в вашем конфиге). Однако для доступа по HTTP/HTTPS и использования доменного имени, вам потребуется веб-сервер-прокси, такой как Nginx.

Настройка Nginx в качестве обратного прокси

Nginx будет принимать запросы на 80/443 порты вашего домена и перенаправлять их на sub-store, работающий на 8080 порту. Это также позволит легко настроить SSL/TLS. 1. **Установка Nginx:**
sudo apt install nginx -y
2. **Настройка Nginx:** Создайте новый файл конфигурации для вашего домена (например, `yourdomain.com.conf`) в `/etc/nginx/sites-available/`.
sudo nano /etc/nginx/sites-available/yourdomain.com.conf
Добавьте следующее содержимое:
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com; # Замените на ваш домен

    location / {
        proxy_pass http://127.0.0.1:8080; # Порт, на котором слушает sub-store
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
3. **Активация конфигурации и перезапуск Nginx:**
sudo ln -s /etc/nginx/sites-available/yourdomain.com.conf /etc/nginx/sites-enabled/
sudo nginx -t # Проверка синтаксиса
sudo systemctl restart nginx
4. **Настройка SSL/TLS с Certbot (рекомендуется):** Для безопасного доступа к подпискам через HTTPS, установите Certbot.
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Следуйте инструкциям Certbot. Он автоматически изменит конфигурацию Nginx для использования SSL. Теперь ваша подписка доступна по адресу `https://yourdomain.com/sub/my_vless_sub`. Клиенты смогут добавлять эту ссылку в свои приложения.

Настройка sub-store: добавление серверов и создание ссылок VLESS

После успешной установки и базовой настройки sub-store на вашем VPS, следующим шагом является конфигурирование источников VLESS-серверов и создание кастомных ссылок подписок. Этот процесс включает в себя редактирование конфигурационного файла sub-store (обычно `config.yaml` или `settings.json`) и применение изменений.

Структура конфигурационного файла sub-store

Конфигурационный файл sub-store определяет, откуда брать VLESS-конфигурации, как их обрабатывать и в каком виде предоставлять клиентам. Рассмотрим основные секции на примере `config.yaml`:
# config.yaml
listen: ":8080" # Порт, на котором sub-store будет слушать локально. Nginx будет проксировать на него.

# Секция 'sources' - здесь перечисляются все источники VLESS-конфигураций.
# Это могут быть как прямые ссылки на один VLESS-конфиг, так и ссылки на другие подписки.
sources:
  - url: "vless://[email protected]:443?encryption=none&security=tls&sni=server1.example.com&fp=chrome&type=ws&path=%2Fws#Germany-Frankfurt"
    name: "VLESS-TLS-WS-DE" # Уникальное имя для этого сервера
    tag: "Germany,Fast" # Теги для фильтрации

  - url: "vless://[email protected]:443?encryption=none&security=reality&pbk=PUBLIC_KEY&sni=google.com&fp=chrome&type=tcp&flow=xtls-rprx-vision#USA-Reality"
    name: "VLESS-Reality-US"
    tag: "USA,Secure,Reality"

  - url: "https://another-sub-provider.com/api/v1/client/subscribe?token=YOUR_TOKEN" # Ссылка на другую подписку
    name: "External-Provider-Sub"
    type: "auto" # Sub-store сам определит формат
    interval: 3600 # Как часто обновлять эту внешнюю подписку (в секундах)

# Секция 'rules' - здесь определяются выходные ссылки подписок и их параметры.
# Каждая "rule" создает отдельную URL-ссылку для клиентов.
rules:
  - name: "All-VLESS-Servers"
    path: "/sub/all" # Путь, по которому будет доступна эта подписка (например, https://yourdomain.com/sub/all)
    filter: "VLESS-" # Включить все источники, в имени которых есть "VLESS-"
    exclude: "Slow" # Исключить серверы с тегом "Slow"
    format: "base64" # Формат вывода: base64 (для V2RayNG), clash, quantumultx и т.д.
    template: "default" # Шаблон для форматирования названий серверов (опционально)
    emoji: true # Добавить эмодзи страны к названию сервера

  - name: "USA-Only-Servers"
    path: "/sub/usa"
    filter: "USA" # Включить только серверы с тегом "USA"
    format: "clash" # Формат вывода для Clash-клиентов
    udp: true # Включить поддержку UDP для Clash

  - name: "Fast-Servers-Base64"
    path: "/sub/fast"
    filter: "Fast" # Включить только серверы с тегом "Fast"
    format: "base64"
    sort: "latency" # Попробовать отсортировать по задержке (если sub-store поддерживает)

Добавление VLESS-серверов в sub-store

1. **Сбор VLESS-ссылок:** Сначала получите рабочие VLESS-ссылки от ваших серверов. Это могут быть ссылки, сгенерированные панелями (такими как Hiddify на VPS, Marzban) или вручную созданные конфигурации. Пример VLESS-ссылки:
vless://UUID@your_vps_ip:PORT?encryption=none&security=tls&sni=your_domain.com&fp=chrome&type=ws&path=%2Fyour_path#ServerName
или с Reality:
vless://UUID@your_vps_ip:PORT?encryption=none&security=reality&pbk=PUBLIC_KEY&sni=google.com&fp=chrome&type=tcp&flow=xtls-rprx-vision#ServerName-Reality
2. **Редактирование `config.yaml`:** Откройте ваш конфигурационный файл sub-store:
sudo nano /opt/sub-store/config.yaml
В секции `sources` добавьте каждую VLESS-ссылку как отдельный элемент списка. Обязательно присвойте каждому серверу уникальное и понятное `name`, а также добавьте `tag` для удобной фильтрации в будущем. Пример:
sources:
      - url: "vless://..."
        name: "Valebyte-DE-VLESS-1"
        tag: "Germany,Valebyte,TLS,WS"
      - url: "vless://..."
        name: "Valebyte-US-VLESS-2-Reality"
        tag: "USA,Valebyte,Reality"
      - url: "vless://..."
        name: "External-NL-VLESS-3"
        tag: "Netherlands,External"
Вы можете также добавлять ссылки на другие подписки, чтобы sub-store агрегировал и их. Это удобно, если у вас есть серверы, управляемые другой панелью, которая уже генерирует свою подписку.

Создание кастомных ссылок подписок

В секции `rules` вы определяете, какие серверы будут включены в ту или иную выходную подписку, и в каком формате они будут представлены. 1. **Определение `path`:** Это URL-путь, по которому клиенты будут получать подписку. Например, `/sub/my_main_vless` приведет к ссылке `https://yourdomain.com/sub/my_main_vless`. 2. **Использование `filter` и `exclude`:** * `filter`: Включает серверы, чьи `name` или `tag` содержат указанную подстроку. * `exclude`: Исключает серверы, чьи `name` или `tag` содержат указанную подстроку. Вы можете комбинировать их для точной настройки. Например, `filter: "Valebyte"` и `exclude: "Slow"` выдаст все серверы Valebyte, кроме тех, что помечены как "Slow". 3. **Выбор `format`:** Это критически важный параметр. * `base64`: Стандартный формат для V2RayNG, v2rayN, Shadowrocket. Это просто Base64-кодированный список VLESS-ссылок, разделенных новой строкой. * `clash`: Формат для клиентов Clash (YAML-файл). * `quantumultx`: Формат для Quantumult X. * `surge`: Формат для Surge. * `plain`: Простой текстовый список без кодирования (редко используется для VLESS). 4. **Дополнительные опции:** * `emoji: true/false`: Добавляет флаги стран к названиям серверов. * `template`: Позволяет использовать кастомные шаблоны для форматирования названий серверов. * `sort`: Позволяет сортировать серверы (например, по названию, задержке, если поддерживается). **Пример создания различных подписок:**
rules:
  - name: "All-VLESS-for-Android"
    path: "/sub/android"
    filter: "VLESS-"
    exclude: "External" # Исключаем внешние, если хотим только свои
    format: "base64"
    emoji: true

  - name: "Clash-Config-for-Desktop"
    path: "/sub/clash"
    filter: "Valebyte" # Только серверы от Valebyte
    format: "clash"
    udp: true

  - name: "Fast-Germany-Servers"
    path: "/sub/de-fast"
    filter: "Germany,Fast" # Серверы из Германии и быстрые
    format: "base64"
    emoji: true

Применение изменений и тестирование

После внесения изменений в `config.yaml`: 1. **Перезапустите sub-store:**
sudo systemctl restart sub-store
2. **Проверьте статус:**
sudo systemctl status sub-store
Убедитесь, что сервис перезапустился без ошибок. 3. **Протестируйте ссылки:** Откройте каждую созданную ссылку подписки в браузере (например, `https://yourdomain.com/sub/android`). Вы должны увидеть список VLESS-конфигураций в выбранном формате (Base64-кодированный текст, YAML для Clash и т.д.). 4. **Добавьте в клиент:** Скопируйте ссылку и добавьте ее в свой VLESS-клиент (например, V2RayNG на Android). Убедитесь, что все серверы корректно отображаются и работают. Теперь у вас есть полностью настроенный sub-store, который агрегирует ваши VLESS-серверы и предоставляет их в удобном формате через единые ссылки подписок. Это значительно упрощает управление и обеспечивает автообновление конфигов VLESS для ваших клиентов.

Subscription конвертер: как sub-store работает с различными форматами?

Одна из ключевых особенностей sub-store, которая делает его таким мощным инструментом, — это его способность выступать в роли универсального subscription конвертер. Он может принимать на вход конфигурации различных прокси-протоколов и подписки в разнообразных форматах, а затем преобразовывать их в формат, необходимый конкретному клиентскому приложению. Это избавляет администратора от необходимости вручную адаптировать конфигурации под каждый тип клиента.

Поддерживаемые протоколы и источники

Sub-store разработан для максимальной гибкости. Он может работать с широким спектром протоколов:
  • VLESS: С TLS, WebSocket, gRPC, Reality, XTLS-Vision.
  • VMess: С TLS, WebSocket, gRPC.
  • Shadowsocks (SS): С различными шифрованиями и плагинами (v2ray-plugin, simple-obfs).
  • Trojan: С TLS.
  • Socks5/HTTP/HTTPS: Базовые прокси.
  • Hysteria/Hysteria2: Высокопроизводительные UDP-протоколы.
  • TUIC: Протокол на базе QUIC.
Источниками этих конфигураций могут быть:
  • Прямые URL-ссылки на отдельные VLESS/VMess/SS/Trojan и другие конфигурации.
  • Ссылки на другие подписки (например, подписка от вашего провайдера, другой панели управления, или даже других sub-store инстансов).
  • Локальные файлы на сервере, содержащие конфигурации (менее распространенный, но возможный вариант).
Эта универсальность позволяет вам объединять в одну подписку серверы, работающие под управлением Xray, Sing-box, Clash, Hiddify, Marzban и других систем, предоставляя клиенту единую точку доступа.

Выходные форматы подписок для различных клиентов

После агрегации и обработки всех входных конфигураций, sub-store может преобразовать их в форматы, понятные большинству популярных прокси-клиентов:
  • Base64-кодированный URL-список: Это самый распространенный формат для клиентов, основанных на V2Ray/Xray, таких как v2rayNG (Android), v2rayN (Windows), Shadowrocket (iOS), Kitsunebi (iOS), Pepi (iOS). По сути, это список VLESS-ссылок (или других протоколов), каждая на новой строке, весь список затем кодируется в Base64. Клиентское приложение декодирует его и отображает список серверов.
  • Clash-совместимый YAML: Для клиентов Clash (Clash for Windows, ClashX, Clash Verge) sub-store может сгенерировать полноценный YAML-файл, содержащий все прокси, группы прокси, правила маршрутизации (хотя правила маршрутизации обычно настраиваются на стороне клиента или в шаблоне sub-store). Это позволяет клиентам Clash использовать все свои продвинутые функции.
  • Quantumult X-совместимый файл: Для популярного iOS-клиента Quantumult X.
  • Surge-совместимый файл: Для клиентов Surge (iOS/macOS).
  • Mellow-совместимый файл: Для клиента Mellow.
  • Sing-box JSON: Для клиентов Sing-box.
В конфигурации sub-store (секция `rules`) вы указываете `format` для каждой выходной подписки. Например, если вы создаете подписку для пользователей Android, вы выберете `format: "base64"`. Если для пользователей Windows с Clash, то `format: "clash"`. **Пример конфигурации с разными форматами:**
rules:
  - name: "Android-Users-VLESS"
    path: "/sub/android"
    filter: "VLESS-"
    format: "base64" # Для v2rayNG, Shadowrocket
    emoji: true

  - name: "Clash-Users-Full"
    path: "/sub/clash"
    filter: "all" # Включить все доступные серверы
    format: "clash" # Для Clash for Windows, ClashX
    udp: true

  - name: "QuantumultX-Users"
    path: "/sub/qx"
    filter: "Premium" # Только премиум-серверы
    format: "quantumultx" # Для Quantumult X
Такая гибкость позволяет вам обслуживать пользователей с самыми разными клиентскими приложениями, предоставляя им одну и ту же базу серверов, но в адаптированном для их софта виде. Это значительно упрощает процесс распространения и поддержки, поскольку вам нужно поддерживать только один центральный конфигурационный файл sub-store, а не множество отдельных файлов для разных клиентов.
rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Автоматическое обновление конфигов VLESS у клиентов: механизмы и преимущества

Одним из наиболее значимых преимуществ использования sub-store является возможность обеспечения автоматического обновления конфигов VLESS у всех подключенных клиентов. Эта функция критически важна для поддержания стабильного и бесперебойного доступа, особенно в условиях, когда VLESS-серверы могут быть подвержены блокировкам или требуют регулярных изменений.

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

Механизм автообновления конфигов VLESS основан на взаимодействии клиентского приложения с вашим sub-store сервером:
  1. Клиент добавляет URL подписки: Пользователь один раз добавляет URL-адрес, предоставленный sub-store (например, `https://yourdomain.com/sub/android`), в свое VLESS-клиентское приложение (v2rayNG, Shadowrocket, Clash и т.д.).
  2. Первоначальная загрузка: Клиентское приложение отправляет HTTP/HTTPS GET-запрос на этот URL, sub-store генерирует и возвращает актуальный список серверов в запрошенном формате. Клиент парсит этот список и отображает все доступные VLESS-серверы.
  3. Периодическое обновление: Большинство современных VLESS-клиентов имеют встроенную функцию периодического обновления подписок. Пользователь или администратор может настроить интервал обновления (например, каждые 1, 3, 6, 12 или 24 часа).
  4. Запрос на обновление: По истечении заданного интервала, клиентское приложение автоматически отправляет новый HTTP/HTTPS GET-запрос на тот же URL подписки.
  5. Получение актуальных данных: Sub-store снова генерирует и возвращает текущий список серверов. Если на стороне sub-store были внесены изменения (добавлены/удалены серверы, изменены параметры), клиент получает эти обновленные данные.
  6. Применение изменений: Клиентское приложение обновляет свой внутренний список серверов, отображая все актуальные VLESS-конфигурации. Если текущий используемый сервер был удален или изменен, клиент может автоматически переключиться на другой доступный сервер или предложить пользователю выбрать новый.
Этот процесс полностью автоматизирован для конечного пользователя после первоначальной настройки, что значительно повышает удобство использования и снижает необходимость в ручных вмешательствах.

Преимущества автоматического обновления для администраторов и пользователей

Для администраторов:

  • Снижение нагрузки на поддержку: Больше не нужно вручную рассылать новые конфигурации при каждом изменении. Однажды настроив sub-store, вы управляете всеми серверами из одного места.
  • Быстрое реагирование на блокировки: Если один из VLESS-серверов блокируется или его IP-адрес меняется, вы просто обновляете ссылку в `config.yaml` sub-store. При следующем обновлении подписки клиенты автоматически получат рабочие конфигурации, минимизируя время простоя.
  • Централизованное управление: Все VLESS-конфигурации хранятся и управляются в одном файле на вашем VPS. Это упрощает аудит, резервное копирование и масштабирование.
  • Гибкость в управлении ресурсами: Возможность быстро добавлять новые серверы или перенаправлять трафик с перегруженных узлов на менее загруженные, просто обновляя список в sub-store.

Для пользователей:

  • Непрерывность доступа: Благодаря автообновлению, пользователи всегда имеют доступ к актуальному списку рабочих VLESS-серверов, что обеспечивает бесперебойное подключение.
  • Удобство использования: Пользователю достаточно один раз ввести ссылку подписки. Все остальное происходит автоматически.
  • Доступ к лучшим серверам: Если администратор регулярно добавляет новые, более быстрые или стабильные серверы, пользователи автоматически получают к ним доступ без каких-либо дополнительных действий.
  • Меньше ошибок: Исключается человеческий фактор при ручном копировании и вставке сложных VLESS-ссылок, которые могут быть длинными и содержать специальные символы.
Для обеспечения максимальной эффективности автообновления, рекомендуется выбирать надежный VPS-хостинг, такой как Valebyte.com, который гарантирует высокую доступность и стабильность работы вашего sub-store сервера. Это обеспечит, что ваш sub-store всегда будет доступен для запросов на обновление от клиентов.

Оптимизация и масштабирование: лучшие практики для sub-store VPS

Хотя sub-store является легковесным приложением, правильная оптимизация и планирование масштабирования могут значительно повысить его надежность и производительность, особенно при обслуживании большого количества пользователей или управлении сотнями VLESS-серверов. Использование мощного VPS, такого как предлагаемые Valebyte.com, является хорошей отправной точкой.

Оптимизация конфигурации sub-store

1. **Эффективное использование тегов и фильтров:** * Тщательно продумайте систему тегов (`tag`) для ваших VLESS-серверов. Например, `Germany, Fast, TLS, Valebyte`, `USA, Reality, Secure`. * Используйте эти теги в `filter` и `exclude` правилах, чтобы создавать максимально релевантные подписки для разных групп пользователей. Это уменьшит размер каждой подписки и ускорит ее загрузку клиентами. * Избегайте избыточных правил или слишком широких фильтров, если они не нужны. 2. **Оптимизация источников (sources):** * Если вы используете ссылки на внешние подписки (`type: "auto"`), установите адекватный `interval` для их обновления. Нет смысла обновлять их каждую минуту, если они меняются раз в день. Например, `interval: 3600` (1 час) или `interval: 14400` (4 часа). * Регулярно проверяйте актуальность и доступность всех источников. Удаляйте неработающие ссылки. 3. **Выбор формата вывода:** * Выбирайте `format`, который наиболее точно соответствует вашим клиентским приложениям. Например, `base64` для V2RayNG, `clash` для Clash. Это минимизирует обработку на стороне клиента. * Для `base64` формата, который является просто текстовым списком, он наиболее легковесен. 4. **Использование Nginx кэширования:** * Для дальнейшего снижения нагрузки на sub-store и ускорения отдачи подписок, можно настроить кэширование в Nginx. Это особенно полезно, если содержимое подписок не меняется часто, а запросов очень много.
# Вне секции server, например, в http { ... }
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=sub_cache:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";

# Внутри секции location / { ... } вашего server блока
location /sub/ { # Кэшировать только пути подписок
    proxy_cache sub_cache;
    proxy_cache_valid 200 302 10m; # Кэшировать успешные ответы на 10 минут
    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}
Это позволит Nginx отдавать кэшированную версию подписки, не обращаясь к sub-store при каждом запросе в течение 10 минут.

Стратегии масштабирования sub-store

1. **Мониторинг ресурсов VPS:** * Регулярно отслеживайте загрузку CPU, RAM и сетевого трафика на вашем VPS. Используйте утилиты типа `htop`, ` glances`, ` Prometheus/Grafana`. * Если вы видите постоянную высокую загрузку CPU (более 70-80%) или исчерпание RAM, это сигнал к обновлению тарифного плана VPS или оптимизации конфигурации. * Valebyte.com предлагает удобные панели для мониторинга ресурсов, которые помогут вам принять решение о масштабировании. 2. **Вертикальное масштабирование:** * Самый простой способ масштабирования – это апгрейд вашего текущего VPS на более мощный тарифный план (больше ядер CPU, больше RAM, быстрее диск). Для sub-store это часто является достаточным решением, так как он не требует распределенной архитектуры. 3. **Горизонтальное масштабирование (для очень больших нагрузок):** * Если вы обслуживаете тысячи пользователей и один VPS перестает справляться, можно рассмотреть развертывание нескольких sub-store инстансов. * Вы можете разместить несколько sub-store на разных VPS, каждый со своей подпиской, или использовать балансировщик нагрузки (например, Nginx или HAProxy) перед несколькими sub-store инстансами, работающими на разных портах или IP-адресах. * В этом случае, все sub-store должны иметь идентичные `config.yaml` файлы, чтобы отдавать одинаковые подписки. 4. **Разделение подписок:** * Вместо одной "гигантской" подписки, которая содержит все-все серверы, создайте несколько специализированных подписок (например, "Только Германия", "Только США", "Быстрые серверы"). * Это уменьшит размер каждой подписки и снизит нагрузку на sub-store при их генерации, а также на клиентские устройства при их парсинге. 5. **Резервное копирование:** * Регулярно делайте резервные копии вашего `config.yaml` файла. Это самый важный файл для sub-store. * Автоматическое резервное копирование VPS, предлагаемое Valebyte.com, также является хорошей мерой предосторожности. Следуя этим рекомендациям, вы сможете обеспечить стабильную, быструю и масштабируемую работу вашего sub-store на VPS, эффективно управляя всеми вашими VLESS-подписками.

Выводы

Развертывание собственной подписки VLESS на VPS с использованием sub-store представляет собой оптимальное решение для централизованного управления и автоматического обновления конфигов. Этот подход значительно упрощает администрирование множества VLESS-серверов и повышает удобство для конечных пользователей, обеспечивая им непрерывный доступ к актуальным конфигурациям. Выбирайте надежные и производительные VPS от Valebyte.com для стабильной работы вашего sub-store и эффективного масштабирования вашей VLESS-инфраструктуры.

Готовы выбрать сервер?

VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.