Add 3x-ui user sync via panel API (login or Bearer token).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
orohi
2026-07-26 00:14:27 +03:00
co-authored by Cursor
parent 865260cc9d
commit 0acd27d840
10 changed files with 551 additions and 8 deletions
+8
View File
@@ -212,6 +212,14 @@
"api_key_label": "API Key",
"enable_sync": "Enable synchronization",
"sync_hint": "Users will be created, disabled, and deleted automatically based on Remnawave data",
"xui_url_label": "3x-ui URL",
"xui_url_hint": "Include scheme, port and webBasePath if configured (example: https://host:2053/secret)",
"xui_api_token_label": "API Token (preferred)",
"xui_api_token_placeholder": "Settings → Security → API Token",
"xui_api_token_hint": "If set, username/password login is skipped",
"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)",
"sync_now_btn": "🔄 Sync now",
"delete_sync_btn": "🗑 Delete synchronization",
"auto_create_conns": "Create connections automatically",
+8
View File
@@ -210,6 +210,14 @@
"api_key_label": "کلید API",
"enable_sync": "فعال‌سازی همگام‌سازی",
"sync_hint": "کاربران طبق داده‌های Remnawave به‌طور خودکار مدیریت می‌شوند",
"xui_url_label": "آدرس 3x-ui",
"xui_url_hint": "شامل پروتکل، پورت و webBasePath در صورت وجود",
"xui_api_token_label": "توکن API (ترجیحی)",
"xui_api_token_placeholder": "Settings → Security → API Token",
"xui_api_token_hint": "در صورت تنظیم، ورود با نام کاربری/رمز رد می‌شود",
"xui_username_label": "نام کاربری 3x-ui",
"xui_password_label": "رمز عبور 3x-ui",
"xui_sync_hint": "کلاینت‌های 3x-ui بر اساس email به کاربران پنل همگام می‌شوند",
"sync_now_btn": "🔄 همگام‌سازی اکنون",
"delete_sync_btn": "🗑 حذف همگام‌سازی",
"auto_create_conns": "ایجاد خودکار اتصال‌ها",
+8
View File
@@ -210,6 +210,14 @@
"api_key_label": "Clé API",
"enable_sync": "Activer synchronisation",
"sync_hint": "Synchro automatique avec Remnawave",
"xui_url_label": "URL 3x-ui",
"xui_url_hint": "Inclure le schéma, le port et webBasePath si configuré",
"xui_api_token_label": "Jeton API (préféré)",
"xui_api_token_placeholder": "Settings → Security → API Token",
"xui_api_token_hint": "Si défini, le login/mot de passe est ignoré",
"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)",
"sync_now_btn": "🔄 Sync maintenant",
"delete_sync_btn": "🗑 Supprimer synchro",
"auto_create_conns": "Créer connexions auto",
+8
View File
@@ -212,6 +212,14 @@
"api_key_label": "API Key",
"enable_sync": "Включить синхронизацию",
"sync_hint": "Пользователи будут создаваться, отключаться и удаляться автоматически на основе данных из Remnawave",
"xui_url_label": "URL 3x-ui",
"xui_url_hint": "Укажите схему, порт и webBasePath при наличии (пример: https://host:2053/secret)",
"xui_api_token_label": "API Token (предпочтительно)",
"xui_api_token_placeholder": "Settings → Security → API Token",
"xui_api_token_hint": "Если задан, вход по логину/паролю не используется",
"xui_username_label": "Логин 3x-ui",
"xui_password_label": "Пароль 3x-ui",
"xui_sync_hint": "Клиенты из inbounds 3x-ui будут создаваться, отключаться и удаляться как пользователи панели (связь по email)",
"sync_now_btn": "🔄 Синхронизировать сейчас",
"delete_sync_btn": "🗑 Удалить синхронизацию",
"auto_create_conns": "Создавать подключения автоматически",
+8
View File
@@ -210,6 +210,14 @@
"api_key_label": "API 密钥",
"enable_sync": "开启同步",
"sync_hint": "将根据 Remnawave 数据自动创建、禁用和删除用户",
"xui_url_label": "3x-ui 地址",
"xui_url_hint": "包含协议、端口和 webBasePath(如有)",
"xui_api_token_label": "API Token(推荐)",
"xui_api_token_placeholder": "Settings → Security → API Token",
"xui_api_token_hint": "若已设置,将跳过用户名/密码登录",
"xui_username_label": "3x-ui 用户名",
"xui_password_label": "3x-ui 密码",
"xui_sync_hint": "3x-ui 客户端将按 email 同步为面板用户",
"sync_now_btn": "🔄 立即同步",
"delete_sync_btn": "🗑 删除同步数据",
"auto_create_conns": "自动创建连接",