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

Получить VPS arrow_forward

Свой сервер подписок для VPN-клиентов: раздача конфигов без ручной работы

calendar_month 6 сентября 2026 schedule 21 мин. чтения visibility 40 просмотров
person
Valebyte Team
Свой сервер подписок для VPN-клиентов: раздача конфигов без ручной работы
summarize

TL;DR

  • Разверните свой VPN subscription сервер на VPS для автоматической раздачи конфигов.
  • Сервер выдает уникальные ссылки подписки (VLESS, ShadowSocks) для каждого клиента.
  • Клиентские приложения (Sing-box, Clash) автоматически обновляют конфигурации по ссылке.
  • Экономьте время и минимизируйте ошибки, исключив ручную рассылку VPN-конфигов.
  • Мгновенно реагируйте на блокировки, обновляя конфиги для всех клиентов централизованно.

Что такое subscription сервер VPN и почему он нужен?

Чтобы автоматизировать раздачу VPN-конфигураций и обеспечить их мгновенное обновление для десятков клиентов без ручной работы, достаточно развернуть собственный subscription сервер на VPS, который будет генерировать одну уникальную ссылку подписки для каждого пользователя.

Если вы когда-либо настраивали VPN-сервер для себя и своих друзей, семьи или коллег, то наверняка сталкивались с болью ручного распространения конфигурационных файлов. Каждое изменение на сервере – добавление нового пользователя, смена порта, обновление протокола, или просто оптимизация настроек – превращается в головную боль: нужно сгенерировать новый конфиг, отправить его всем по почте, мессенджеру или файлообменнику, а затем убедиться, что каждый пользователь его установил и активировал. Это неэффективно, чревато ошибками и отнимает массу времени. Именно здесь на помощь приходит subscription сервер VPN.

Subscription сервер, или сервер подписок, – это специализированный компонент, который позволяет централизованно управлять VPN-конфигурациями и автоматически доставлять их клиентским приложениям. Вместо того чтобы рассылать файлы, вы выдаете каждому пользователю уникальную ссылку – ссылка подписки VLESS, ShadowSocks, Hysteria2 или любого другого поддерживаемого протокола. Клиентское приложение (например, Sing-box, Clash, Nekobox, V2RayNG) периодически обращается к этой ссылке и автоматически загружает актуальный список серверов или обновленные настройки. Это обеспечивает обновление конфигов автоматически, избавляя вас от рутины и гарантируя, что у всех всегда будут рабочие конфигурации.

Почему автоматизация раздачи конфигов критически важна?

  • Экономия времени: Забудьте о часах, потраченных на пересылку и поддержку. Вы тратите 5 минут на изменение на сервере, а не 5 минут * N пользователей.
  • Минимизация ошибок: Человеческий фактор исключен. Клиент всегда получает корректную и актуальную конфигурацию.
  • Быстрое реагирование на блокировки: Если один из серверов или портов будет заблокирован, вы можете оперативно обновить его на сервере подписок, и изменения мгновенно распространятся на всех клиентов.
  • Удобство для пользователей: Им не нужно ничего делать, кроме как один раз добавить ссылку подписки.
  • Централизованное управление: Всегда понятно, кто, когда и какой конфиг использует.

Как работают ссылки подписки: от VLESS до Sing-box

Механизм работы ссылок подписки достаточно прост и элегантен. По сути, ссылка подписки VLESS или любого другого протокола – это обычный HTTP(S) URL, который при запросе возвращает текстовый файл. Этот файл содержит одну или несколько VPN-конфигураций, закодированных определенным образом. Клиентское приложение, такое как Sing-box, Xray-core или Clash, умеет парсить содержимое этого файла и использовать его для подключения.

Наиболее распространенные форматы подписок включают:

  1. Base64-кодированный JSON или текстовый список: Часто используется для VLESS, VMess, ShadowSocks. Сервер генерирует список URL-схем (например, vless://..., ss://...), объединяет их в одну строку, кодирует Base64 и возвращает клиенту. Клиент декодирует строку и получает список рабочих серверов.
  2. Clash-совместимый YAML: Для клиентов Clash и его форков сервер возвращает YAML-файл, содержащий полную конфигурацию, включая прокси-серверы, группы прокси, правила маршрутизации и другую логику. Это очень мощный формат, позволяющий управлять поведением VPN на стороне клиента.
  3. Sing-box JSON: С появлением Sing-box, который является универсальным клиентом и сервером для множества протоколов, включая VLESS, Hysteria2, TUIC, Reality и другие, стал популярен формат подписки, возвращающий JSON-конфигурацию, совместимую с Sing-box. Это позволяет использовать Sing-box как сервер и клиент, используя одну и ту же мощную конфигурацию. Sing-box на VPS позволяет развернуть универсальный сервер с поддержкой всех современных протоколов.

Когда пользователь добавляет subscription url sing-box или другую ссылку в свой клиент, приложение:

  • Выполняет HTTP-запрос к этой ссылке.
  • Получает ответ, содержащий закодированные данные.
  • Декодирует и парсит данные.
  • Автоматически добавляет или обновляет список серверов в своей конфигурации.

Многие клиенты позволяют настроить интервал обновления (например, каждые 1, 3, 6 или 12 часов), обеспечивая постоянную актуальность конфигураций без вмешательства пользователя. Это особенно удобно, когда вы делаете свою подписку для VLESS на VPS. Это значительно упрощает раздачу конфигов клиентам и поддерживает актуальность настроек.

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

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

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

Архитектура subscription сервера: генерация и хранение конфигов per-user

Сердце subscription сервера – это его способность генерировать уникальные и актуальные конфигурации для каждого пользователя или группы пользователей. В отличие от статического файла, который просто лежит на веб-сервере, динамический subscription сервер работает по следующей схеме:

  1. Уникальный идентификатор пользователя (UUID): Каждому пользователю присваивается уникальный UUID. Это может быть как UUID, используемый в протоколах VLESS/VMess, так и просто уникальный токен для идентификации подписки. Этот UUID или токен включается в саму ссылку подписки (например, https://sub.valebyte.com/get_config?token=USER_UUID).
  2. База данных пользователей: Сервер подписок хранит информацию о каждом пользователе: его UUID, разрешенные протоколы, ограничения по трафику (если есть), срок действия подписки, статус активности.
  3. Динамическая генерация: Когда клиент запрашивает ссылку подписки, сервер выполняет следующие шаги:
    • Извлекает UUID/токен из URL.
    • Проверяет его в базе данных: активен ли пользователь, не истек ли срок подписки, есть ли доступ.
    • На основе данных пользователя и текущего состояния VPN-сервера (доступные порты, IP-адреса, протоколы) генерирует актуальный список конфигураций.
    • Форматирует этот список в нужный формат (Base64, YAML, Sing-box JSON).
    • Возвращает результат клиенту.
  4. Отзыв доступа: Если требуется заблокировать доступ пользователю, достаточно изменить его статус в базе данных. При следующем запросе подписки сервер просто откажет в выдаче конфигурации или выдаст пустой список, эффективно отзывая доступ.

Этот подход позволяет гибко управлять доступом и конфигурациями. Например, вы можете временно отключить пользователя, если он превысил лимит трафика, или переключить его на другой сервер, если основной перегружен или заблокирован. Для тех, кто хочет создать свой VPN-сервис на VPS с биллингом и автоматизацией, такая архитектура является основой.

Быстрый выбор
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, запуск за 60 секунд.
Тарифы VPS

Практическая реализация: раздача через VPS, HTTPS и защита ссылок

Для развертывания собственного subscription сервера вам понадобится надежный VPS. Valebyte.com предлагает различные тарифы, которые идеально подойдут для таких задач. Важно, чтобы ваш VPS имел стабильное интернет-соединение, достаточную пропускную способность и, желательно, SSD/NVMe диски для быстрой работы.

Требования к VPS и базовый стек

  • Операционная система: Linux (Ubuntu Server, Debian).
  • Веб-сервер: Nginx или Caddy для проксирования запросов и обеспечения HTTPS.
  • Язык программирования/среда: Python (с Flask/Django), Node.js (с Express), Go, PHP (с Laravel/Symfony) или даже простой Bash-скрипт с CGI.
  • База данных: SQLite (для простых решений), PostgreSQL или MySQL (для масштабируемых систем).
  • Доменное имя: Необходимо для выдачи HTTPS-сертификатов.

Пошаговая настройка (общий подход)

  1. Подготовка VPS:

    Установите необходимые пакеты:

    sudo apt update
    sudo apt upgrade -y
    sudo apt install -y nginx python3 python3-pip certbot python3-certbot-nginx
    
  2. Настройка домена и HTTPS:

    Направьте поддомен (например, sub.yourdomain.com) на IP-адрес вашего VPS. Используйте Certbot для получения бесплатного SSL-сертификата Let's Encrypt:

    sudo certbot --nginx -d sub.yourdomain.com
    
  3. Создание скрипта для генерации подписок:

    Предположим, у вас есть Python-скрипт, который принимает токен и возвращает Base64-кодированный список VLESS-конфигураций. Этот скрипт может взаимодействовать с вашим основным VPN-сервером или с базой данных, где хранятся UUIDы пользователей и их настройки.

    Пример структуры ответа для VLESS (Base64-кодированный):

    vless://<UUID>@<SERVER_IP>:<PORT>?security=tls&type=ws&path=%2Fws&host=<DOMAIN>#Valebyte-User1
    vless://<UUID2>@<SERVER_IP2>:<PORT2>?security=tls&type=tcp&flow=xtls-rprx-vision#Valebyte-User2
    

    Этот текст затем кодируется в Base64.

  4. Настройка Nginx для проксирования:

    Настройте Nginx так, чтобы он проксировал запросы к вашему скрипту подписок. Пример конфигурации Nginx (файл /etc/nginx/sites-available/sub.yourdomain.com):

    server {
        listen 80;
        listen [::]:80;
        server_name sub.yourdomain.com;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name sub.yourdomain.com;
    
        ssl_certificate /etc/letsencrypt/live/sub.yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/sub.yourdomain.com/privkey.pem;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256";
    
        location / {
            proxy_pass http://127.0.0.1:5000; # Порт, на котором слушает ваш скрипт
            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:

    sudo ln -s /etc/nginx/sites-available/sub.yourdomain.com /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl restart nginx
    

Защита ссылки от утечки и срок действия

Уникальность ссылки подписки является её сильной стороной, но и уязвимостью. Если ссылка утечет, кто угодно сможет ею пользоваться. Для минимизации рисков:

  • Ограниченный срок действия: Генерируйте ссылки с ограниченным сроком действия (например, 30 дней) и автоматически отзывайте их по истечении. Пользователь должен будет запросить новую ссылку.
  • IP-привязка: Для критически важных подписок можно реализовать привязку к IP-адресам, с которых происходят запросы. Если запросы начинают приходить с незнакомых IP, ссылку можно временно блокировать.
  • Токены одноразового использования: Ссылки, которые выдают конфиг только один раз, а затем становятся недействительными. Клиент должен сохранить конфиг локально. Это менее удобно, но максимально безопасно.
  • Мониторинг использования: Отслеживайте количество запросов к каждой ссылке. Аномально большое количество запросов может указывать на утечку.
  • Сложные и длинные UUID/токены: Чем сложнее токен в ссылке, тем труднее его угадать или подобрать.

Панели управления с поддержкой подписок: 3x-ui и Marzban

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

3x-ui: Простая и функциональная панель

3x-ui – это веб-панель для управления Xray-core (форком V2Ray), которая предоставляет интуитивно понятный интерфейс для создания и управления пользователями, а также для генерации ссылок подписок. Она поддерживает VLESS, VMess, Trojan, ShadowSocks и другие протоколы.

Основные возможности 3x-ui:

  • Создание пользователей с индивидуальными UUID и настройками.
  • Генерация ссылок подписки (Base64-кодированный список URL) для каждого пользователя или для всех сразу.
  • Управление лимитами трафика и сроками действия.
  • Мониторинг трафика по каждому пользователю.
  • Поддержка TLS и Reality для обфускации трафика.

После установки 3x-ui на ваш VPS, вы сможете зайти в веб-интерфейс, добавить нового пользователя, выбрать протокол (например, VLESS с Reality), и панель автоматически сгенерирует для него ссылку подписки. Эту ссылку вы просто передаете клиенту.

Пример ссылки подписки, которую выдает 3x-ui:

https://your_3xui_domain.com/api/v1/client/subscribe/<UNIQUE_TOKEN>

Эта панель отлично подходит для развертывания своего VPN на VPS с VLESS Reality и Xray-core за 10 минут и последующего управления через подписки.

Marzban: Мощное решение для продвинутых пользователей

Marzban – это более продвинутая панель, основанная на Xray-core, которая предоставляет широкие возможности для управления VPN-серверами, включая мультисерверные конфигурации, биллинг и более детализированные настройки подписок. Marzban особенно популярен благодаря своей гибкости и API, что позволяет интегрировать его с другими системами.

Основные преимущества Marzban:

  • Поддержка нескольких серверов (узлов) и распределение пользователей между ними.
  • Расширенные настройки для каждого пользователя: протоколы, ограничения, группы.
  • Подробная статистика использования трафика.
  • Встроенные инструменты для управления доменами и SSL-сертификатами.
  • API для автоматизации задач и интеграции с системами биллинга.
  • Поддержка различных форматов подписок (Base64, Clash YAML, Sing-box JSON).

Marzban позволяет не только выдавать индивидуальные ссылки подписки VLESS, но и управлять ими централизованно, что делает его отличным выбором для тех, кто использует Hiddify на VPS или планирует развернуть более сложный VPN-сервис.

Создаем минимальный subscription сервер своими руками: скрипт для автоматизации

Если готовые панели кажутся избыточными или вы хотите полного контроля над процессом, можно создать минимальный subscription сервер VPN с помощью простого скрипта. Рассмотрим пример на Python с использованием Flask для веб-сервера и SQLite для базы данных пользователей.

Структура проекта

vpn_sub_server/
├── app.py
├── users.db
└── vless_template.json

1. Файл vless_template.json (шаблон VLESS-конфигурации)

Этот шаблон будет использоваться для генерации VLESS-ссылок. Здесь <UUID>, <SERVER_IP>, <PORT>, <DOMAIN> будут заменены динамически.

{
    "vless_server_ip": "YOUR_VPN_SERVER_IP",
    "vless_port": 443,
    "vless_domain": "your.vpn.domain.com",
    "vless_path": "/ws",
    "vless_security": "tls",
    "vless_type": "ws"
}

2. Файл app.py (основной скрипт)

import json
import base64
import sqlite3
from flask import Flask, Response, request
import os

app = Flask(__name__)
DATABASE = 'users.db'
VLESS_TEMPLATE_FILE = 'vless_template.json'

# Инициализация базы данных
def init_db():
    with sqlite3.connect(DATABASE) as conn:
        cursor = conn.cursor()
        cursor.execute('''
            CREATE TABLE IF NOT EXISTS users (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                uuid TEXT NOT NULL UNIQUE,
                name TEXT NOT NULL,
                is_active BOOLEAN DEFAULT 1,
                created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
                expires_at DATETIME
            )
        ''')
        # Добавляем тестового пользователя, если его нет
        cursor.execute("INSERT OR IGNORE INTO users (uuid, name, is_active) VALUES (?, ?, ?)", 
                       ('your_test_uuid_1234567890abcdef', 'TestUser', 1))
        conn.commit()

# Загрузка шаблона VLESS
def load_vless_template():
    if not os.path.exists(VLESS_TEMPLATE_FILE):
        # Создаем шаблон, если его нет
        with open(VLESS_TEMPLATE_FILE, 'w') as f:
            json.dump({
                "vless_server_ip": "192.0.2.1", # Замените на IP вашего VPN-сервера
                "vless_port": 443,
                "vless_domain": "vpn.valebyte.com", # Замените на домен вашего VPN-сервера
                "vless_path": "/ws",
                "vless_security": "tls",
                "vless_type": "ws"
            }, f, indent=4)
    with open(VLESS_TEMPLATE_FILE, 'r') as f:
        return json.load(f)

# Генерация VLESS-ссылки
def generate_vless_url(user_uuid, user_name, template):
    server_ip = template['vless_server_ip']
    port = template['vless_port']
    domain = template['vless_domain']
    path = template['vless_path']
    security = template['vless_security']
    _type = template['vless_type']

    # Формируем VLESS-ссылку
    vless_url = (
        f"vless://{user_uuid}@{server_ip}:{port}?"
        f"security={security}&type={_type}&path={path}&host={domain}"
        f"#{user_name}"
    )
    return vless_url

@app.route('/subscribe/')
def subscribe(uuid_token):
    with sqlite3.connect(DATABASE) as conn:
        cursor = conn.cursor()
        cursor.execute("SELECT uuid, name, is_active, expires_at FROM users WHERE uuid = ?", (uuid_token,))
        user_data = cursor.fetchone()

        if not user_data:
            return Response("User not found or subscription expired.", status=404)

        user_uuid, user_name, is_active, expires_at = user_data

        if not is_active:
            return Response("Subscription inactive.", status=403)
        
        # Проверка срока действия (если expires_at есть)
        if expires_at and expires_at < str(os.datetime.now()): # Упрощенная проверка
             return Response("Subscription expired.", status=403)

        vless_template = load_vless_template()
        vless_url = generate_vless_url(user_uuid, user_name, vless_template)
        
        # Кодируем список URL (в данном случае один) в Base64
        encoded_config = base64.b64encode(vless_url.encode('utf-8')).decode('utf-8')

        return Response(encoded_config, mimetype='text/plain')

if __name__ == '__main__':
    init_db()
    # Создаем шаблон, если его нет
    load_vless_template() 
    app.run(host='127.0.0.1', port=5000, debug=False) # Запускаем на локальном порту

Как это работает:

  1. init_db(): Создает SQLite базу данных users.db и таблицу users, если они не существуют. Добавляет одного тестового пользователя с UUID your_test_uuid_1234567890abcdef.
  2. load_vless_template(): Загружает параметры VPN-сервера из vless_template.json. Если файла нет, создает его с дефолтными значениями, которые нужно будет изменить.
  3. generate_vless_url(): Формирует полную VLESS-ссылку на основе UUID пользователя и данных из шаблона.
  4. /subscribe/<uuid_token>: Это эндпоинт, к которому будет обращаться клиент. Он принимает uuid_token, ищет его в базе данных. Если пользователь найден и активен, генерирует VLESS-ссылку, кодирует её в Base64 и отправляет клиенту.

Запуск:

pip install Flask
python3 app.py

После запуска скрипт будет слушать на http://127.0.0.1:5000. Nginx, настроенный ранее, будет проксировать запросы с https://sub.yourdomain.com/subscribe/<uuid_token> на этот локальный порт.

Для обновления конфигов автоматически достаточно изменить vless_template.json (например, сменить IP или порт VPN-сервера), перезапустить Flask-приложение, и при следующем обновлении клиент получит новую конфигурацию. Добавление нового пользователя сводится к добавлению записи в базу данных users.db.

Быстрый выбор
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, запуск за 60 секунд.
Тарифы VPS

Масштабирование и безопасность: выделенный домен для подписок и отзыв доступа

По мере роста числа пользователей и повышения чувствительности к блокировкам, вопросы масштабирования и безопасности становятся критически важными для subscription сервер VPN. Особенно это актуально, когда вы решаете vpn для друзей раздать не на 2-3 человека, а на десятки или сотни.

Выделенный домен для ссылок подписок

Одна из распространенных проблем с VPN-подписками заключается в том, что домен, используемый для раздачи подписок, также может быть заблокирован. Если это произойдет, клиенты не смогут обновлять свои конфигурации, даже если сам VPN-сервер работает на другом IP или домене.

Решение: Используйте отдельный домен (или поддомен) исключительно для вашего subscription сервера. Например, если ваш VPN-сервер доступен по vpn.valebyte.com, то ссылки подписок могут быть на sub.valebyte.com. Это дает несколько преимуществ:

  • Разделение рисков: Блокировка домена подписок не сразу затронет работоспособность самого VPN-сервера, и наоборот.
  • Гибкость: Вы можете разместить subscription сервер на отдельном VPS в другой локации, чтобы он был более устойчив к блокировкам.
  • Обфускация: Домен подписки не обязательно должен быть похож на VPN-сервис, что может снизить внимание к нему со стороны систем DPI.

Важно, чтобы домен подписки также использовал HTTPS, чтобы избежать перехвата или модификации ссылок. Для большей устойчивости можно настроить CDN для домена подписки, но это усложняет архитектуру.

Отзыв доступа и управление пользователями

Эффективное управление доступом – ключевой элемент надежного subscription сервера. Помимо простой деактивации пользователя в базе данных, можно реализовать более сложные сценарии:

  • Временная блокировка: Если пользователь ведет себя подозрительно (например, слишком много запросов к подписке, несанкционированный трафик), его доступ можно временно приостановить.
  • Обновление UUID: Для повышения безопасности или при утечке старого UUID, можно генерировать новый UUID для пользователя и автоматически обновлять его в конфигах.
  • Многофакторная аутентификация: Для доступа к самой ссылке подписки можно добавить дополнительную аутентификацию (например, по IP-адресу или по дополнительному токену в HTTP-заголовках).
  • Автоматическое удаление неактивных подписок: Если подписка не использовалась в течение длительного времени (например, 3-6 месяцев), её можно автоматически деактивировать или удалить.

Все эти функции помогают поддерживать порядок, снижать нагрузку на сервер и повышать общую безопасность вашей системы раздачи конфигов клиентам.

Выбор VPS для вашего subscription сервера и VPN-трафика

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

При выборе VPS для VPN-сервера и subscription сервера важно учитывать несколько ключевых параметров:

  1. Расположение сервера: Выбирайте локации, которые обеспечивают минимальную задержку (ping) для ваших пользователей. Европейские локации часто оптимальны для пользователей из СНГ, а азиатские – для восточных регионов.
  2. Пропускная способность канала: VPN-серверы потребляют много трафика. Убедитесь, что ваш тариф включает достаточную пропускную способность (например, 1 Гбит/с) и большой ежемесячный объем трафика (от 1 ТБ).
  3. Процессор (vCPU): Для шифрования и обработки трафика требуется процессорная мощность. Чем больше пользователей, тем мощнее должен быть процессор. Для 50-100 пользователей рекомендуется 4 vCPU.
  4. Оперативная память (RAM): Xray-core, Sing-box и другие VPN-серверы не требуют много RAM, но для панели управления (3x-ui, Marzban), базы данных и самого скрипта подписок потребуется минимум 2-4 GB.
  5. Дисковая подсистема (SSD/NVMe): Для хранения конфигураций, логов и базы данных подойдет даже небольшой объем (20-40 GB), но обязательно на быстрых SSD или NVMe-дисках.

Для 50-100 активных VPN-пользователей достаточно 4 vCPU, 8 GB RAM и NVMe-диска на 80 GB.

Пользователей vCPU RAM Диск Порт Ориентировочная цена Valebyte.com (Q2 2024)
До 10 2 2 GB 20 GB NVMe 1 Gbps от $5/мес
10-50 2-4 4 GB 40 GB NVMe 1 Gbps от $10/мес
50-100 4 8 GB 80 GB NVMe 1 Gbps от $20/мес
100-250 6-8 16 GB 160 GB NVMe 1-10 Gbps от $40/мес
250+ 8+ 32 GB+ 200 GB+ NVMe 10 Gbps от $80/мес (выделенный сервер)

Если вы сомневаетесь, какой тариф выбрать, всегда лучше начать с более мощного VPS, чем потом сталкиваться с проблемами производительности и трафика. Также рассмотрите возможность использования VPS или выделенный сервер для VPN, когда 100 Мбит/с уже мало.

Помните, что subscription сервер не требует таких же ресурсов, как сам VPN-сервер, который обрабатывает весь трафик. Часто его можно разместить на том же VPS, что и основной VPN, если ресурсов достаточно, или на отдельном, менее мощном VPS для дополнительной отказоустойчивости.

Часто задаваемые вопросы

Что такое subscription сервер VPN и зачем он нужен?

Subscription сервер VPN – это инструмент для автоматической раздачи и обновления VPN-конфигураций. Он выдает пользователям уникальную ссылку, по которой их VPN-клиент самостоятельно подтягивает актуальные настройки. Это избавляет от ручной рассылки конфигов при каждом изменении, экономит время и минимизирует ошибки, обеспечивая мгновенное обновление для десятков пользователей.

В чем преимущество ссылки подписки VLESS перед обычным конфигом?

Основное преимущество ссылки подписки VLESS в автоматизации. Вместо того чтобы каждый раз вручную копировать и вставлять новый VLESS-конфиг, пользователь один раз добавляет ссылку. Клиентское приложение (например, Sing-box) периодически опрашивает эту ссылку и автоматически обновляет конфигурацию, что особенно удобно при частых изменениях или блокировках, затрагивающих до 10-20% серверов.

Как защитить subscription url sing-box от утечки?

Для защиты subscription url sing-box можно использовать несколько методов. Во-первых, генерируйте сложные и длинные UUID или токены для каждой ссылки. Во-вторых, рассмотрите возможность установки срока действия для подписок (например, 30 дней) с автоматическим отзывом. Также полезно мониторить количество запросов к каждой ссылке; если их число аномально велико (более 50-100 в час), это может сигнализировать об утечке.

Сколько стоит развернуть свой subscription сервер VPN на VPS?

Стоимость развертывания собственного subscription сервера VPN на VPS начинается ориентировочно от $5 в месяц за базовый VPS с 2 vCPU, 2 GB RAM и 20 GB NVMe-диска (цена Valebyte.com на Q2 2024). Этой конфигурации достаточно для обслуживания до 10-20 пользователей и самого сервера подписок. Для более высоких нагрузок (более 100 пользователей) потребуется VPS стоимостью от $20-$40 в месяц.

Могут ли заблокировать домен, используемый для ссылки подписки?

Да, домен, используемый для ссылки подписки, может быть заблокирован так же, как и домен основного VPN-сервера. Чтобы снизить этот риск, рекомендуется использовать отдельный, незаметный домен или поддомен исключительно для subscription сервера. Также полезно настроить HTTPS на этом домене, чтобы запросы выглядели как обычный веб-трафик и были менее заметны для систем DPI.

Быстрый выбор
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, запуск за 60 секунд.
Тарифы VPS

Выводы

Внедрение собственного subscription сервера VPN на базе VPS является фундаментальным решением для автоматизации раздачи конфигов клиентам и обеспечения их бесперебойной работы. Независимо от того, используете ли вы готовые панели вроде 3x-ui и Marzban или создаете минимальный скрипт, ключевое преимущество – это обновление конфигов автоматически через единую ссылку подписки VLESS или subscription url sing-box. Valebyte.com предлагает надежные VPS-решения, которые станут идеальной основой для вашего subscription сервера, гарантируя стабильность и высокую производительность.

SSD NVMe
Готовы запустить свой VPS?

NVMe VPS с активацией за 60 секунд: полный root-доступ, 20+ локаций, оплата картой или криптой.

Выбрать тариф

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

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