feat: add app-level proxy settings with UI integration and session management, fixes #382

This commit is contained in:
Will Miao
2025-09-12 11:22:32 +08:00
parent beb8ff1dd1
commit e713bd1ca2
16 changed files with 556 additions and 41 deletions

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "Download-Pfad-Vorlagen",
"exampleImages": "Beispielbilder",
"misc": "Verschiedenes",
"metadataArchive": "Metadaten-Archiv-Datenbank"
"metadataArchive": "Metadaten-Archiv-Datenbank",
"proxySettings": "Proxy-Einstellungen"
},
"contentFiltering": {
"blurNsfwContent": "NSFW-Inhalte unscharf stellen",
@@ -300,6 +301,24 @@
"connecting": "Verbindung zum Download-Server wird hergestellt...",
"completed": "Abgeschlossen",
"downloadComplete": "Download erfolgreich abgeschlossen"
},
"proxySettings": {
"enableProxy": "App-Proxy aktivieren",
"enableProxyHelp": "Aktivieren Sie benutzerdefinierte Proxy-Einstellungen für diese Anwendung. Überschreibt die System-Proxy-Einstellungen.",
"proxyType": "Proxy-Typ",
"proxyTypeHelp": "Wählen Sie den Typ des Proxy-Servers (HTTP, HTTPS, SOCKS4, SOCKS5)",
"proxyHost": "Proxy-Host",
"proxyHostPlaceholder": "proxy.beispiel.de",
"proxyHostHelp": "Der Hostname oder die IP-Adresse Ihres Proxy-Servers",
"proxyPort": "Proxy-Port",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "Die Portnummer Ihres Proxy-Servers",
"proxyUsername": "Benutzername (optional)",
"proxyUsernamePlaceholder": "benutzername",
"proxyUsernameHelp": "Benutzername für die Proxy-Authentifizierung (falls erforderlich)",
"proxyPassword": "Passwort (optional)",
"proxyPasswordPlaceholder": "passwort",
"proxyPasswordHelp": "Passwort für die Proxy-Authentifizierung (falls erforderlich)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "Download Path Templates",
"exampleImages": "Example Images",
"misc": "Misc.",
"metadataArchive": "Metadata Archive Database"
"metadataArchive": "Metadata Archive Database",
"proxySettings": "Proxy Settings"
},
"contentFiltering": {
"blurNsfwContent": "Blur NSFW Content",
@@ -300,6 +301,24 @@
"connecting": "Connecting to download server...",
"completed": "Completed",
"downloadComplete": "Download completed successfully"
},
"proxySettings": {
"enableProxy": "Enable App-level Proxy",
"enableProxyHelp": "Enable custom proxy settings for this application, overriding system proxy settings",
"proxyType": "Proxy Type",
"proxyTypeHelp": "Select the type of proxy server (HTTP, HTTPS, SOCKS4, SOCKS5)",
"proxyHost": "Proxy Host",
"proxyHostPlaceholder": "proxy.example.com",
"proxyHostHelp": "The hostname or IP address of your proxy server",
"proxyPort": "Proxy Port",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "The port number of your proxy server",
"proxyUsername": "Username (Optional)",
"proxyUsernamePlaceholder": "username",
"proxyUsernameHelp": "Username for proxy authentication (if required)",
"proxyPassword": "Password (Optional)",
"proxyPasswordPlaceholder": "password",
"proxyPasswordHelp": "Password for proxy authentication (if required)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "Plantillas de rutas de descarga",
"exampleImages": "Imágenes de ejemplo",
"misc": "Varios",
"metadataArchive": "Base de datos de archivo de metadatos"
"metadataArchive": "Base de datos de archivo de metadatos",
"proxySettings": "Configuración de proxy"
},
"contentFiltering": {
"blurNsfwContent": "Difuminar contenido NSFW",
@@ -300,6 +301,24 @@
"connecting": "Conectando al servidor de descarga...",
"completed": "Completado",
"downloadComplete": "Descarga completada exitosamente"
},
"proxySettings": {
"enableProxy": "Habilitar proxy a nivel de aplicación",
"enableProxyHelp": "Habilita la configuración de proxy personalizada para esta aplicación, sobrescribiendo la configuración de proxy del sistema",
"proxyType": "Tipo de proxy",
"proxyTypeHelp": "Selecciona el tipo de servidor proxy (HTTP, HTTPS, SOCKS4, SOCKS5)",
"proxyHost": "Host del proxy",
"proxyHostPlaceholder": "proxy.ejemplo.com",
"proxyHostHelp": "El nombre de host o dirección IP de tu servidor proxy",
"proxyPort": "Puerto del proxy",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "El número de puerto de tu servidor proxy",
"proxyUsername": "Usuario (opcional)",
"proxyUsernamePlaceholder": "usuario",
"proxyUsernameHelp": "Usuario para autenticación de proxy (si es necesario)",
"proxyPassword": "Contraseña (opcional)",
"proxyPasswordPlaceholder": "contraseña",
"proxyPasswordHelp": "Contraseña para autenticación de proxy (si es necesario)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "Modèles de chemin de téléchargement",
"exampleImages": "Images d'exemple",
"misc": "Divers",
"metadataArchive": "Base de données d'archive des métadonnées"
"metadataArchive": "Base de données d'archive des métadonnées",
"proxySettings": "Paramètres du proxy"
},
"contentFiltering": {
"blurNsfwContent": "Flouter le contenu NSFW",
@@ -300,6 +301,24 @@
"connecting": "Connexion au serveur de téléchargement...",
"completed": "Terminé",
"downloadComplete": "Téléchargement terminé avec succès"
},
"proxySettings": {
"enableProxy": "Activer le proxy au niveau de l'application",
"enableProxyHelp": "Activer les paramètres de proxy personnalisés pour cette application, remplaçant les paramètres de proxy système",
"proxyType": "Type de proxy",
"proxyTypeHelp": "Sélectionnez le type de serveur proxy (HTTP, HTTPS, SOCKS4, SOCKS5)",
"proxyHost": "Hôte du proxy",
"proxyHostPlaceholder": "proxy.exemple.com",
"proxyHostHelp": "Le nom d'hôte ou l'adresse IP de votre serveur proxy",
"proxyPort": "Port du proxy",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "Le numéro de port de votre serveur proxy",
"proxyUsername": "Nom d'utilisateur (optionnel)",
"proxyUsernamePlaceholder": "nom_utilisateur",
"proxyUsernameHelp": "Nom d'utilisateur pour l'authentification proxy (si nécessaire)",
"proxyPassword": "Mot de passe (optionnel)",
"proxyPasswordPlaceholder": "mot_de_passe",
"proxyPasswordHelp": "Mot de passe pour l'authentification proxy (si nécessaire)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "ダウンロードパステンプレート",
"exampleImages": "例画像",
"misc": "その他",
"metadataArchive": "メタデータアーカイブデータベース"
"metadataArchive": "メタデータアーカイブデータベース",
"proxySettings": "プロキシ設定"
},
"contentFiltering": {
"blurNsfwContent": "NSFWコンテンツをぼかす",
@@ -300,6 +301,24 @@
"connecting": "ダウンロードサーバーに接続中...",
"completed": "完了",
"downloadComplete": "ダウンロードが正常に完了しました"
},
"proxySettings": {
"enableProxy": "アプリレベルのプロキシを有効化",
"enableProxyHelp": "このアプリケーション専用のカスタムプロキシ設定を有効にします(システムのプロキシ設定を上書きします)",
"proxyType": "プロキシタイプ",
"proxyTypeHelp": "プロキシサーバーの種類を選択HTTP、HTTPS、SOCKS4、SOCKS5",
"proxyHost": "プロキシホスト",
"proxyHostPlaceholder": "proxy.example.com",
"proxyHostHelp": "プロキシサーバーのホスト名またはIPアドレス",
"proxyPort": "プロキシポート",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "プロキシサーバーのポート番号",
"proxyUsername": "ユーザー名(任意)",
"proxyUsernamePlaceholder": "ユーザー名",
"proxyUsernameHelp": "プロキシ認証用のユーザー名(必要な場合)",
"proxyPassword": "パスワード(任意)",
"proxyPasswordPlaceholder": "パスワード",
"proxyPasswordHelp": "プロキシ認証用のパスワード(必要な場合)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "다운로드 경로 템플릿",
"exampleImages": "예시 이미지",
"misc": "기타",
"metadataArchive": "메타데이터 아카이브 데이터베이스"
"metadataArchive": "메타데이터 아카이브 데이터베이스",
"proxySettings": "프록시 설정"
},
"contentFiltering": {
"blurNsfwContent": "NSFW 콘텐츠 블러 처리",
@@ -300,6 +301,24 @@
"connecting": "다운로드 서버에 연결 중...",
"completed": "완료됨",
"downloadComplete": "다운로드가 성공적으로 완료되었습니다"
},
"proxySettings": {
"enableProxy": "앱 수준 프록시 활성화",
"enableProxyHelp": "이 애플리케이션에 대한 사용자 지정 프록시 설정을 활성화하여 시스템 프록시 설정을 무시합니다",
"proxyType": "프록시 유형",
"proxyTypeHelp": "프록시 서버 유형을 선택하세요 (HTTP, HTTPS, SOCKS4, SOCKS5)",
"proxyHost": "프록시 호스트",
"proxyHostPlaceholder": "proxy.example.com",
"proxyHostHelp": "프록시 서버의 호스트명 또는 IP 주소",
"proxyPort": "프록시 포트",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "프록시 서버의 포트 번호",
"proxyUsername": "사용자 이름 (선택사항)",
"proxyUsernamePlaceholder": "username",
"proxyUsernameHelp": "프록시 인증에 필요한 사용자 이름 (필요한 경우)",
"proxyPassword": "비밀번호 (선택사항)",
"proxyPasswordPlaceholder": "password",
"proxyPasswordHelp": "프록시 인증에 필요한 비밀번호 (필요한 경우)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "Шаблоны путей загрузки",
"exampleImages": "Примеры изображений",
"misc": "Разное",
"metadataArchive": "Архив метаданных"
"metadataArchive": "Архив метаданных",
"proxySettings": "Настройки прокси"
},
"contentFiltering": {
"blurNsfwContent": "Размывать NSFW контент",
@@ -300,6 +301,24 @@
"connecting": "Подключение к серверу загрузки...",
"completed": "Завершено",
"downloadComplete": "Загрузка успешно завершена"
},
"proxySettings": {
"enableProxy": "Включить прокси на уровне приложения",
"enableProxyHelp": "Включить пользовательские настройки прокси для этого приложения, переопределяя системные настройки прокси",
"proxyType": "Тип прокси",
"proxyTypeHelp": "Выберите тип прокси-сервера (HTTP, HTTPS, SOCKS4, SOCKS5)",
"proxyHost": "Хост прокси",
"proxyHostPlaceholder": "proxy.example.com",
"proxyHostHelp": "Имя хоста или IP-адрес вашего прокси-сервера",
"proxyPort": "Порт прокси",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "Номер порта вашего прокси-сервера",
"proxyUsername": "Имя пользователя (необязательно)",
"proxyUsernamePlaceholder": "имя пользователя",
"proxyUsernameHelp": "Имя пользователя для аутентификации на прокси (если требуется)",
"proxyPassword": "Пароль (необязательно)",
"proxyPasswordPlaceholder": "пароль",
"proxyPasswordHelp": "Пароль для аутентификации на прокси (если требуется)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "下载路径模板",
"exampleImages": "示例图片",
"misc": "其他",
"metadataArchive": "元数据归档数据库"
"metadataArchive": "元数据归档数据库",
"proxySettings": "代理设置"
},
"contentFiltering": {
"blurNsfwContent": "模糊 NSFW 内容",
@@ -300,6 +301,24 @@
"connecting": "正在连接下载服务器...",
"completed": "已完成",
"downloadComplete": "下载成功完成"
},
"proxySettings": {
"enableProxy": "启用应用级代理",
"enableProxyHelp": "为此应用启用自定义代理设置,覆盖系统代理设置",
"proxyType": "代理类型",
"proxyTypeHelp": "选择代理服务器类型 (HTTP, HTTPS, SOCKS4, SOCKS5)",
"proxyHost": "代理主机",
"proxyHostPlaceholder": "proxy.example.com",
"proxyHostHelp": "代理服务器的主机名或IP地址",
"proxyPort": "代理端口",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "代理服务器的端口号",
"proxyUsername": "用户名 (可选)",
"proxyUsernamePlaceholder": "用户名",
"proxyUsernameHelp": "代理认证的用户名 (如果需要)",
"proxyPassword": "密码 (可选)",
"proxyPasswordPlaceholder": "密码",
"proxyPasswordHelp": "代理认证的密码 (如果需要)"
}
},
"loras": {

View File

@@ -181,7 +181,8 @@
"downloadPathTemplates": "下載路徑範本",
"exampleImages": "範例圖片",
"misc": "其他",
"metadataArchive": "中繼資料封存資料庫"
"metadataArchive": "中繼資料封存資料庫",
"proxySettings": "代理設定"
},
"contentFiltering": {
"blurNsfwContent": "模糊 NSFW 內容",
@@ -300,6 +301,24 @@
"connecting": "正在連接下載伺服器...",
"completed": "已完成",
"downloadComplete": "下載成功完成"
},
"proxySettings": {
"enableProxy": "啟用應用程式代理",
"enableProxyHelp": "啟用此應用程式的自訂代理設定,將覆蓋系統代理設定",
"proxyType": "代理類型",
"proxyTypeHelp": "選擇代理伺服器類型HTTP、HTTPS、SOCKS4、SOCKS5",
"proxyHost": "代理主機",
"proxyHostPlaceholder": "proxy.example.com",
"proxyHostHelp": "您的代理伺服器主機名稱或 IP 位址",
"proxyPort": "代理埠號",
"proxyPortPlaceholder": "8080",
"proxyPortHelp": "您的代理伺服器埠號",
"proxyUsername": "使用者名稱(選填)",
"proxyUsernamePlaceholder": "username",
"proxyUsernameHelp": "代理驗證所需的使用者名稱(如有需要)",
"proxyPassword": "密碼(選填)",
"proxyPasswordPlaceholder": "password",
"proxyPasswordHelp": "代理驗證所需的密碼(如有需要)"
}
},
"loras": {