Каждый пользователь — отдельная запись с собственными лимитами, квотами и статистикой. Разбираем, как это устроено и где применяется.
Клиент — это учётная запись внутри inbound'а. Один inbound (например, VLESS на порту 8443) может содержать десятки и сотни клиентов. Каждый клиент идентифицируется по UUID (для VLESS/VMess) или паролю (для Trojan/Shadowsocks) и имеет собственный набор ограничений. Панель не создаёт отдельный порт или inbound для каждого пользователя — все они разделяют один вход, но учитываются раздельно.
Такая модель удобна для персонального использования (несколько устройств — несколько клиентов с разными лимитами) и для небольших групп, где нужно видеть, кто сколько трафика потребил.
Лимит в гигабайтах (или терабайтах). Когда клиент исчерпывает квоту, Xray перестаёт пропускать его трафик до сброса счётчика или увеличения лимита. Это полезно, чтобы одно устройство или пользователь не «съел» весь канал.
Дата и время, после которой клиент автоматически отключается. Можно ставить «навсегда» или ограничивать подпиской на месяц. Панель проверяет срок при каждом подключении.
Максимальное число одновременных уникальных IP-адресов с одного клиента. Если клиент подключается с большего числа адресов, новые соединения блокируются. Это защита от «расшаривания» одного аккаунта на много устройств.
Ограничение по уникальным hardware ID устройств. В отличие от лимита IP, который можно обойти сменой сети, HWID привязывает клиента к конкретным устройствам. Работает, если клиентское приложение передаёт HWID (не все клиенты это поддерживают).
Клиентов можно объединять в группы и применять настройки массово: изменить лимит, продлить срок, сбросить трафик. Удобно, когда клиентов много и нужно управлять ими по категориям.
Панель позволяет:
Для каждого клиента генерируется уникальная ссылка вида vless://uuid@host:port?params, которую можно передать пользователю. QR-код удобен для мобильных клиентов.
Панель собирает для каждого клиента:
Эти данные видны в реальном времени и используются для биллинга (если вы продаёте доступ) или просто для контроля расхода.
POST /panel/api/inbounds/addClient
{
"id": 1,
"settings": "{\"clients\":[{
\"email\": \"user@example\",
\"totalGB\": 107374182400,
\"expiryTime\": 1767225600000,
\"limitIp\": 2,
\"enable\": true
}]}"
}
Параметр totalGB указывается в байтах (100 ГБ = 107374182400). expiryTime — Unix-время в миллисекундах.
Использование VPN в России разрешено, но не является желательным. Лимиты и квоты — техническая мера учёта, не связанная с правовым статусом. Ответственность за действия пользователей лежит на них самих.