Навіщо потрібна єдина підписка VLESS на VPS і чому це зручно?
Керування кількома VLESS-серверами, розташованими в різних дата-центрах або навіть у різних провайдерів, може швидко перетворитися на головний біль. Кожен сервер має свій унікальний конфігураційний файл або посилання. Якщо у вас кілька клієнтів або ви самі використовуєте кілька пристроїв, необхідність вручну оновлювати або розповсюджувати ці посилання при кожній зміні (наприклад, при зміні порту, додаванні нового сервера або блокуванні старого) стає вкрай неефективною. Єдина підписка VLESS на VPS вирішує цю проблему, пропонуючи централізований підхід до керування доступом.Проблеми багатосерверної інфраструктури без централізації
Без єдиної точки керування, адміністратори та користувачі стикаються з такими труднощами:- Ручне оновлення: При кожній зміні конфігурації (наприклад, оновленні TLS-сертифіката, зміні адреси сервера, додаванні нового VLESS-вузла) необхідно вручну оновлювати посилання на кожному клієнтському пристрої. Це трудомістко та загрожує помилками.
- Складність розповсюдження: Розсилка десятків або сотень індивідуальних посилань користувачам стає логістичним кошмаром. Як переконатися, що у всіх завжди актуальні дані?
- Відсутність єдиного джерела: Клієнти не можуть легко перемикатися між серверами. Їм доводиться вручну додавати кожен сервер, що знижує зручність використання та збільшує поріг входу.
- Проблеми з доступністю: Якщо один сервер виходить з ладу, клієнтам доводиться чекати нового посилання або вручну перемикатися на інший, якщо він був доданий раніше. Це порушує безперервність роботи.
- Неефективне використання ресурсів: Без можливості швидко перемикати користувачів між менш завантаженими серверами, деякі вузли можуть бути перевантажені, тоді як інші простоюють.
Переваги централізованої підписки VLESS на VPS
Розгортання власної системи підписок на VPS приносить низку значних переваг:- Зручність для користувачів: Одне посилання замість десятків. Клієнти можуть легко перемикатися між серверами, вибираючи найшвидший або найстабільніший варіант.
- Простота адміністрування: Всі зміни вносяться в одному місці. Додавання нових серверів, видалення старих, зміна параметрів — все це відображається у клієнтів після оновлення підписки.
- Автоматичне оновлення конфігів VLESS: Клієнти отримують актуальні конфігурації без ручного втручання, що критично важливо для підтримки стабільного доступу, особливо в умовах частих блокувань або зміни IP-адрес.
- Гнучкість та контроль: Ви повністю контролюєте, які сервери та в якому порядку надаються користувачам. Можна налаштувати різні групи підписок для різних користувачів.
- Стійкість до блокувань: Якщо один із серверів блокується, ви можете оперативно замінити його на новий у sub-store, і клієнти отримають оновлену конфігурацію при наступному автооновленні.
- Економія часу: Скорочення часу на підтримку та розповсюдження конфігурацій дозволяє зосередитися на більш важливих завданнях.
Що таке sub-store і як він вирішує проблему керування subscription VLESS VPS?
Sub-store – це легковажний, але потужний інструмент, який виступає в ролі проксі-сервера для ваших підписок. Він не є повноцінним VLESS-сервером, а скоріше агрегатором та конвертером конфігурацій. Його основне завдання — приймати на вхід безліч окремих VLESS-посилань (або інших протоколів) і видавати на виході єдине, уніфіковане посилання підписки, яке можуть використовувати клієнти. Це дозволяє ефективно керувати subscription VLESS VPS, значно спрощуючи весь процес.Принцип роботи sub-store
Sub-store працює за таким принципом:- Збір конфігурацій: Ви надаєте sub-store список URL-адрес, кожен з яких веде до окремої VLESS-конфігурації (або конфігу іншого протоколу, наприклад, Shadowsocks, VMess, Trojan, Reality тощо). Ці посилання можуть бути як прямими посиланнями на конфігурації, так і посиланнями на інші підписки.
- Агрегація та нормалізація: Sub-store завантажує всі ці конфігурації, парсить їх, нормалізує та об'єднує в єдиний масив даних.
- Конвертація та фільтрація: За запитом клієнта, sub-store може конвертувати об'єднані дані в різні формати підписок (наприклад, Clash, Quantumult X, Surge, Base64-кодований URL-список для V2RayNG). Він також може застосовувати фільтри, дозволяючи включати або виключати певні сервери за їх назвами, регіонами або іншими параметрами.
- Видача єдиного посилання: Sub-store надає публічну URL-адресу. Коли клієнтська програма надсилає запит на цей URL, sub-store динамічно формує та віддає актуальний список серверів у потрібному форматі.
Ключові можливості 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.
Шукаєте надійний сервер для ваших проєктів?
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 тільки віддає текстові дані, вплив локації на швидкість буде мінімальним, головне — стабільне інтернет-з'єднання.
| Тарифний план (приклад) | 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-серверів |
Початкове налаштування операційної системи
Після отримання доступу до вашого 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 секунд.
Встановлення 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 інстансів).
- Локальні файли на сервері, що містять конфігурації (менш поширений, але можливий варіант).
Вихідні формати підписок для різних клієнтів
Після агрегації та обробки всіх вхідних конфігурацій, 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.
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 секунд.
Автоматичне оновлення конфігів VLESS у клієнтів: механізми та переваги
Однією з найбільш значущих переваг використання sub-store є можливість забезпечення автоматичного оновлення конфігів VLESS у всіх підключених клієнтів. Ця функція критично важлива для підтримки стабільного та безперебійного доступу, особливо в умовах, коли VLESS-сервери можуть бути схильні до блокувань або вимагають регулярних змін.Як працює автооновлення підписки
Механізм автооновлення конфігів VLESS базується на взаємодії клієнтської програми з вашим sub-store сервером:- Клієнт додає URL підписки: Користувач один раз додає URL-адресу, надану sub-store (наприклад, `https://yourdomain.com/sub/android`), у свою VLESS-клієнтську програму (v2rayNG, Shadowrocket, Clash тощо).
- Початкове завантаження: Клієнтська програма надсилає HTTP/HTTPS GET-запит на цей URL, sub-store генерує та повертає актуальний список серверів у запитуваному форматі. Клієнт парсить цей список та відображає всі доступні VLESS-сервери.
- Періодичне оновлення: Більшість сучасних VLESS-клієнтів мають вбудовану функцію періодичного оновлення підписок. Користувач або адміністратор може налаштувати інтервал оновлення (наприклад, кожні 1, 3, 6, 12 або 24 години).
- Запит на оновлення: Після закінчення заданого інтервалу, клієнтська програма автоматично надсилає новий HTTP/HTTPS GET-запит на той самий URL підписки.
- Отримання актуальних даних: Sub-store знову генерує та повертає поточний список серверів. Якщо на стороні sub-store були внесені зміни (додані/видалені сервери, змінені параметри), клієнт отримує ці оновлені дані.
- Застосування змін: Клієнтська програма оновлює свій внутрішній список серверів, відображаючи всі актуальні VLESS-конфігурації. Якщо поточний використовуваний сервер був видалений або змінений, клієнт може автоматично переключитися на інший доступний сервер або запропонувати користувачеві вибрати новий.
Переваги автоматичного оновлення для адміністраторів та користувачів
Для адміністраторів:
- Зниження навантаження на підтримку: Більше не потрібно вручну розсилати нові конфігурації при кожній зміні. Одного разу налаштувавши sub-store, ви керуєте всіма серверами з одного місця.
- Швидке реагування на блокування: Якщо один з VLESS-серверів блокується або його IP-адреса змінюється, ви просто оновлюєте посилання в `config.yaml` sub-store. При наступному оновленні підписки клієнти автоматично отримають робочі конфігурації, мінімізуючи час простою.
- Централізоване керування: Всі VLESS-конфігурації зберігаються та керуються в одному файлі на вашому VPS. Це спрощує аудит, резервне копіювання та масштабування.
- Гнучкість у керуванні ресурсами: Можливість швидко додавати нові сервери або перенаправляти трафік з перевантажених вузлів на менш завантажені, просто оновлюючи список у sub-store.
Для користувачів:
- Безперервність доступу: Завдяки автооновленню, користувачі завжди мають доступ до актуального списку робочих VLESS-серверів, що забезпечує безперебійне підключення.
- Зручність використання: Користувачеві достатньо один раз ввести посилання підписки. Все інше відбувається автоматично.
- Доступ до кращих серверів: Якщо адміністратор регулярно додає нові, швидші або стабільніші сервери, користувачі автоматично отримують до них доступ без будь-яких додаткових дій.
- Менше помилок: Виключається людський фактор при ручному копіюванні та вставці складних VLESS-посилань, які можуть бути довгими та містити спеціальні символи.
Оптимізація та масштабування: найкращі практики для 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-доступом.
Почати зараз →