Add 3x-ui VLESS configs and guest access without registration.

Guests can open a public link to view or create VPN configs; panel creates VLESS clients via the 3x-ui API.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
orohi
2026-07-26 01:15:24 +03:00
co-authored by Cursor
parent 2196d127b7
commit 5386c4d40e
12 changed files with 1512 additions and 39 deletions
+29
View File
@@ -170,6 +170,32 @@
"enable_public_access": "Enable public access",
"share_password_label": "Password (optional)",
"share_password_hint": "If set, user must enter it",
"guest_settings_title": "Guest access",
"guest_enable": "Enable guest access (no registration)",
"guest_enable_hint": "Public link on the login page. Guests see connections of the selected user and can optionally create a new config.",
"guest_link_label": "Guest link",
"guest_link_placeholder": "Save settings to generate a link",
"guest_regen_token": "Regenerate link",
"guest_regen_confirm": "Regenerate guest link? The old link will stop working.",
"guest_token_updated": "Guest link updated",
"guest_user_label": "Guest connections user",
"guest_user_none": "— Select user —",
"guest_user_hint": "Create a regular user (e.g. guest), assign VPN connections — guests will see them without logging in.",
"guest_password_label": "Guest password (optional)",
"guest_password_keep": "Leave blank to keep current password",
"guest_clear_password": "Remove password protection",
"guest_allow_create": "Allow guests to create a new config",
"guest_allow_create_hint": "Creates a config for the guest user (3x-ui VLESS or selected server protocol).",
"guest_access_btn": "Continue as guest",
"guest_access_login_hint": "No account required",
"guest_title": "Guest access",
"guest_subtitle": "Get a VPN config without registration",
"guest_protected_desc": "This guest page is password protected.",
"guest_get_config": "Get config",
"guest_get_config_hint": "A new VPN config will be created for you",
"guest_not_found": "404 Not Found",
"guest_not_found_desc": "Guest access is disabled or the link is invalid.",
"wrong_guest_password": "Wrong password",
"public_link_label": "Public link",
"disabled": "Disabled",
"out_of": "Of",
@@ -221,6 +247,9 @@
"xui_username_label": "3x-ui Username",
"xui_password_label": "3x-ui Password",
"xui_sync_hint": "Clients from 3x-ui inbounds will be created, disabled, and deleted as panel users (matched by email)",
"xui_inbound_label": "VLESS inbound",
"xui_inbound_auto": "Auto (first VLESS inbound)",
"xui_inbound_hint": "Used when creating 3x-ui VLESS configs. Create a VLESS inbound in 3x-ui first.",
"sync_now_btn": "🔄 Sync now",
"delete_sync_btn": "🗑 Delete synchronization",
"auto_create_conns": "Create connections automatically",
+29
View File
@@ -168,6 +168,32 @@
"enable_public_access": "فعال‌سازی دسترسی عمومی",
"share_password_label": "رمز عبور (اختیاری)",
"share_password_hint": "در صورت تنظیم، کاربر باید آن را وارد کند",
"guest_settings_title": "دسترسی مهمان",
"guest_enable": "فعال‌سازی دسترسی مهمان (بدون ثبت‌نام)",
"guest_enable_hint": "لینک عمومی در صفحه ورود. مهمانان اتصال‌های کاربر انتخاب‌شده را می‌بینند.",
"guest_link_label": "لینک مهمان",
"guest_link_placeholder": "برای ساخت لینک تنظیمات را ذخیره کنید",
"guest_regen_token": "بازسازی لینک",
"guest_regen_confirm": "لینک مهمان بازسازی شود؟ لینک قبلی از کار می‌افتد.",
"guest_token_updated": "لینک مهمان به‌روز شد",
"guest_user_label": "کاربر اتصال‌های مهمان",
"guest_user_none": "— انتخاب کاربر —",
"guest_user_hint": "یک کاربر عادی (مثل guest) بسازید و VPN اختصاص دهید.",
"guest_password_label": "رمز مهمان (اختیاری)",
"guest_password_keep": "برای حفظ رمز فعلی خالی بگذارید",
"guest_clear_password": "حذف محافظت با رمز",
"guest_allow_create": "اجازه ساخت کانفیگ جدید به مهمان",
"guest_allow_create_hint": "برای کاربر مهمان کانفیگ می‌سازد (3x-ui VLESS یا پروتکل سرور).",
"guest_access_btn": "ادامه به‌عنوان مهمان",
"guest_access_login_hint": "بدون حساب کاربری",
"guest_title": "دسترسی مهمان",
"guest_subtitle": "دریافت کانفیگ VPN بدون ثبت‌نام",
"guest_protected_desc": "این صفحه با رمز عبور محافظت شده است.",
"guest_get_config": "دریافت کانفیگ",
"guest_get_config_hint": "یک کانفیگ VPN جدید برای شما ساخته می‌شود",
"guest_not_found": "404 یافت نشد",
"guest_not_found_desc": "دسترسی مهمان غیرفعال است یا لینک نامعتبر است.",
"wrong_guest_password": "رمز عبور اشتباه است",
"public_link_label": "لینک عمومی",
"disabled": "غیرفعال",
"out_of": "از",
@@ -219,6 +245,9 @@
"xui_username_label": "نام کاربری 3x-ui",
"xui_password_label": "رمز عبور 3x-ui",
"xui_sync_hint": "کلاینت‌های 3x-ui بر اساس email به کاربران پنل همگام می‌شوند",
"xui_inbound_label": "ورودی VLESS",
"xui_inbound_auto": "خودکار (اولین ورودی VLESS)",
"xui_inbound_hint": "برای ساخت کانفیگ 3x-ui VLESS استفاده می‌شود. ابتدا یک ورودی VLESS در 3x-ui بسازید.",
"sync_now_btn": "🔄 همگام‌سازی اکنون",
"delete_sync_btn": "🗑 حذف همگام‌سازی",
"auto_create_conns": "ایجاد خودکار اتصال‌ها",
+29
View File
@@ -168,6 +168,32 @@
"enable_public_access": "Activer l'accès public",
"share_password_label": "Mot de passe (optionnel)",
"share_password_hint": "Si défini, requis pour l'accès",
"guest_settings_title": "Accès invité",
"guest_enable": "Activer l'accès invité (sans inscription)",
"guest_enable_hint": "Lien public sur la page de connexion. Les invités voient les connexions de l'utilisateur choisi.",
"guest_link_label": "Lien invité",
"guest_link_placeholder": "Enregistrez pour générer le lien",
"guest_regen_token": "Régénérer le lien",
"guest_regen_confirm": "Régénérer le lien invité ? L'ancien ne fonctionnera plus.",
"guest_token_updated": "Lien invité mis à jour",
"guest_user_label": "Utilisateur des connexions invitées",
"guest_user_none": "— Choisir —",
"guest_user_hint": "Créez un utilisateur (ex. guest) et assignez des VPN.",
"guest_password_label": "Mot de passe invité (optionnel)",
"guest_password_keep": "Laisser vide pour conserver",
"guest_clear_password": "Retirer le mot de passe",
"guest_allow_create": "Autoriser la création d'une config",
"guest_allow_create_hint": "Crée une config pour l'utilisateur invité (3x-ui VLESS ou protocole serveur).",
"guest_access_btn": "Continuer en invité",
"guest_access_login_hint": "Sans compte",
"guest_title": "Accès invité",
"guest_subtitle": "Obtenir une config VPN sans inscription",
"guest_protected_desc": "Page protégée par mot de passe.",
"guest_get_config": "Obtenir la config",
"guest_get_config_hint": "Une nouvelle config VPN sera créée",
"guest_not_found": "404 Introuvable",
"guest_not_found_desc": "Accès invité désactivé ou lien invalide.",
"wrong_guest_password": "Mauvais mot de passe",
"public_link_label": "Lien public",
"disabled": "Désactivé",
"out_of": "sur",
@@ -219,6 +245,9 @@
"xui_username_label": "Identifiant 3x-ui",
"xui_password_label": "Mot de passe 3x-ui",
"xui_sync_hint": "Les clients 3x-ui deviennent des utilisateurs du panneau (liés par email)",
"xui_inbound_label": "Inbound VLESS",
"xui_inbound_auto": "Auto (premier inbound VLESS)",
"xui_inbound_hint": "Utilisé pour créer des configs 3x-ui VLESS. Créez d'abord un inbound VLESS dans 3x-ui.",
"sync_now_btn": "🔄 Sync maintenant",
"delete_sync_btn": "🗑 Supprimer synchro",
"auto_create_conns": "Créer connexions auto",
+29
View File
@@ -170,6 +170,32 @@
"enable_public_access": "Включить публичный доступ",
"share_password_label": "Пароль (опционально)",
"share_password_hint": "Если установлен, пользователь должен будет его ввести",
"guest_settings_title": "Гостевой доступ",
"guest_enable": "Включить гостевой доступ (без регистрации)",
"guest_enable_hint": "Публичная ссылка на странице входа. Гости видят подключения выбранного пользователя и могут создать новый конфиг.",
"guest_link_label": "Гостевая ссылка",
"guest_link_placeholder": "Сохраните настройки, чтобы создать ссылку",
"guest_regen_token": "Обновить ссылку",
"guest_regen_confirm": "Обновить гостевую ссылку? Старая перестанет работать.",
"guest_token_updated": "Гостевая ссылка обновлена",
"guest_user_label": "Пользователь для гостевых подключений",
"guest_user_none": "— Выберите пользователя —",
"guest_user_hint": "Создайте обычного пользователя (например guest), назначьте VPN — гости увидят их без входа.",
"guest_password_label": "Пароль гостя (опционально)",
"guest_password_keep": "Оставьте пустым, чтобы сохранить текущий",
"guest_clear_password": "Убрать защиту паролем",
"guest_allow_create": "Разрешить гостям создавать новый конфиг",
"guest_allow_create_hint": "Создаёт конфиг у гостевого пользователя (3x-ui VLESS или протокол выбранного сервера).",
"guest_access_btn": "Войти как гость",
"guest_access_login_hint": "Регистрация не нужна",
"guest_title": "Гостевой доступ",
"guest_subtitle": "Получите VPN-конфиг без регистрации",
"guest_protected_desc": "Эта страница защищена паролем.",
"guest_get_config": "Получить конфиг",
"guest_get_config_hint": "Для вас будет создан новый VPN-конфиг",
"guest_not_found": "404 Не найдено",
"guest_not_found_desc": "Гостевой доступ отключён или ссылка неверна.",
"wrong_guest_password": "Неверный пароль",
"public_link_label": "Публичная ссылка",
"disabled": "Отключён",
"out_of": "Из",
@@ -221,6 +247,9 @@
"xui_username_label": "Логин 3x-ui",
"xui_password_label": "Пароль 3x-ui",
"xui_sync_hint": "Клиенты из inbounds 3x-ui будут создаваться, отключаться и удаляться как пользователи панели (связь по email)",
"xui_inbound_label": "VLESS inbound",
"xui_inbound_auto": "Авто (первый VLESS inbound)",
"xui_inbound_hint": "Используется при создании конфигов 3x-ui VLESS. Сначала создайте VLESS inbound в 3x-ui.",
"sync_now_btn": "🔄 Синхронизировать сейчас",
"delete_sync_btn": "🗑 Удалить синхронизацию",
"auto_create_conns": "Создавать подключения автоматически",
+29
View File
@@ -168,6 +168,32 @@
"enable_public_access": "启用公开访问",
"share_password_label": "密码 (可选)",
"share_password_hint": "如设置,访问者需输入密码",
"guest_settings_title": "访客访问",
"guest_enable": "启用访客访问(无需注册)",
"guest_enable_hint": "登录页显示公开链接。访客可查看所选用户的连接,并可选择新建配置。",
"guest_link_label": "访客链接",
"guest_link_placeholder": "保存设置以生成链接",
"guest_regen_token": "重新生成链接",
"guest_regen_confirm": "重新生成访客链接?旧链接将失效。",
"guest_token_updated": "访客链接已更新",
"guest_user_label": "访客连接所属用户",
"guest_user_none": "— 选择用户 —",
"guest_user_hint": "创建普通用户(如 guest)并分配 VPN 连接。",
"guest_password_label": "访客密码(可选)",
"guest_password_keep": "留空以保留当前密码",
"guest_clear_password": "取消密码保护",
"guest_allow_create": "允许访客创建新配置",
"guest_allow_create_hint": "为访客用户创建配置(3x-ui VLESS 或所选服务器协议)。",
"guest_access_btn": "以访客继续",
"guest_access_login_hint": "无需账号",
"guest_title": "访客访问",
"guest_subtitle": "无需注册即可获取 VPN 配置",
"guest_protected_desc": "此页面受密码保护。",
"guest_get_config": "获取配置",
"guest_get_config_hint": "将为您创建新的 VPN 配置",
"guest_not_found": "404 未找到",
"guest_not_found_desc": "访客访问已禁用或链接无效。",
"wrong_guest_password": "密码错误",
"public_link_label": "公开链接",
"disabled": "已禁用",
"out_of": "/",
@@ -219,6 +245,9 @@
"xui_username_label": "3x-ui 用户名",
"xui_password_label": "3x-ui 密码",
"xui_sync_hint": "3x-ui 客户端将按 email 同步为面板用户",
"xui_inbound_label": "VLESS 入站",
"xui_inbound_auto": "自动(第一个 VLESS 入站)",
"xui_inbound_hint": "创建 3x-ui VLESS 配置时使用。请先在 3x-ui 中创建 VLESS 入站。",
"sync_now_btn": "🔄 立即同步",
"delete_sync_btn": "🗑 删除同步数据",
"auto_create_conns": "自动创建连接",