Skip to content

Commit b68a80b

Browse files
authored
Merge pull request #4 from oviron/feature/tools-ia-v3
v0.13.2: deep IA restructure of VPN/Engine/DNS/Logging/Privacy
2 parents d835a22 + 07d2e29 commit b68a80b

26 files changed

Lines changed: 476 additions & 275 deletions

arb/intl_en.arb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@
9494
"accessControlDesc": "Configure application access proxy",
9595
"application": "Application",
9696
"applicationDesc": "Modify application related settings",
97+
"advanced": "Advanced",
98+
"detailsSection": "Details",
99+
"diagnostics": "Diagnostics",
100+
"dnsCoreSection": "Core",
101+
"dnsServersSection": "Servers",
102+
"dnsFakeIpSection": "Fake-IP",
103+
"dnsFallbackLegacy": "China / Fallback (legacy)",
104+
"geoDatabases": "Geo databases",
105+
"geoDatabasesDesc": "GeoIP, GeoSite, MMDB, ASN updaters",
106+
"generalSettings": "General settings",
107+
"ipv6ModeOff": "Off",
108+
"ipv6ModeSyncOn": "Sync ON",
109+
"ipv6ModeCustom": "Custom",
110+
"legalAndDisclaimer": "Legal & disclaimer",
97111
"edit": "Edit",
98112
"confirm": "Confirm",
99113
"update": "Update",

arb/intl_ja.arb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@
9494
"accessControlDesc": "アプリケーションのプロキシアクセスを設定",
9595
"application": "アプリケーション",
9696
"applicationDesc": "アプリ関連設定を変更",
97+
"advanced": "詳細設定",
98+
"detailsSection": "詳細",
99+
"diagnostics": "診断",
100+
"dnsCoreSection": "コア",
101+
"dnsServersSection": "サーバー",
102+
"dnsFakeIpSection": "Fake-IP",
103+
"dnsFallbackLegacy": "中国 / フォールバック (レガシー)",
104+
"geoDatabases": "Geo データベース",
105+
"geoDatabasesDesc": "GeoIP, GeoSite, MMDB, ASN の更新",
106+
"generalSettings": "一般設定",
107+
"ipv6ModeOff": "オフ",
108+
"ipv6ModeSyncOn": "同期 ON",
109+
"ipv6ModeCustom": "カスタム",
110+
"legalAndDisclaimer": "法務と免責事項",
97111
"edit": "編集",
98112
"confirm": "確認",
99113
"update": "更新",

arb/intl_ru.arb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@
9494
"accessControlDesc": "Настройка доступа приложений к прокси",
9595
"application": "Приложение",
9696
"applicationDesc": "Изменение настроек, связанных с приложением",
97+
"advanced": "Дополнительно",
98+
"detailsSection": "Подробности",
99+
"diagnostics": "Диагностика",
100+
"dnsCoreSection": "Ядро",
101+
"dnsServersSection": "Серверы",
102+
"dnsFakeIpSection": "Fake-IP",
103+
"dnsFallbackLegacy": "Китай / Fallback (устар.)",
104+
"geoDatabases": "Гео-базы",
105+
"geoDatabasesDesc": "Обновление GeoIP, GeoSite, MMDB, ASN",
106+
"generalSettings": "Общие настройки",
107+
"ipv6ModeOff": "Выкл",
108+
"ipv6ModeSyncOn": "Синхр. ВКЛ",
109+
"ipv6ModeCustom": "Раздельно",
110+
"legalAndDisclaimer": "Правовая информация",
97111
"edit": "Редактировать",
98112
"confirm": "Подтвердить",
99113
"update": "Обновить",

arb/intl_zh_CN.arb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@
9494
"accessControlDesc": "配置应用访问代理",
9595
"application": "应用程序",
9696
"applicationDesc": "修改应用程序相关设置",
97+
"advanced": "高级",
98+
"detailsSection": "详细",
99+
"diagnostics": "诊断",
100+
"dnsCoreSection": "核心",
101+
"dnsServersSection": "服务器",
102+
"dnsFakeIpSection": "Fake-IP",
103+
"dnsFallbackLegacy": "中国 / Fallback (遗留)",
104+
"geoDatabases": "地理数据库",
105+
"geoDatabasesDesc": "GeoIP、GeoSite、MMDB、ASN 更新",
106+
"generalSettings": "通用设置",
107+
"ipv6ModeOff": "关",
108+
"ipv6ModeSyncOn": "同步开",
109+
"ipv6ModeCustom": "自定义",
110+
"legalAndDisclaimer": "法律声明",
97111
"edit": "编辑",
98112
"confirm": "确定",
99113
"update": "更新",

lib/common/task.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ Future<Map<String, dynamic>> _makeRealProfileTask(
115115
rawConfig['socks-port'] = realPatchConfig.socksPort;
116116
rawConfig['redir-port'] = realPatchConfig.redirPort;
117117
rawConfig['tproxy-port'] = realPatchConfig.tproxyPort;
118-
// YAML-set find-process-mode wins; only fall back to UI value if absent.
118+
// YAML-set find-process-mode wins; fall back to UI value (FlClash enum is {always, off}, default always).
119119
rawConfig['find-process-mode'] ??= realPatchConfig.findProcessMode.name;
120120
rawConfig['allow-lan'] = realPatchConfig.allowLan;
121121
rawConfig['mode'] = realPatchConfig.mode.name;

lib/controller.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -902,12 +902,6 @@ extension SystemControllerExt on AppController {
902902
.update((state) => state.copyWith(systemProxy: !state.systemProxy));
903903
}
904904

905-
void updateAutoLaunch() {
906-
_ref
907-
.read(appSettingProvider.notifier)
908-
.update((state) => state.copyWith(autoLaunch: !state.autoLaunch));
909-
}
910-
911905
Future<void> updateLocalIp() async {
912906
_ref.read(localIpProvider.notifier).value = null;
913907
await Future.delayed(commonDuration);

lib/enum/enum.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ enum ProxiesSortType { none, delay, name }
8787

8888
enum TunStack { gvisor, system, mixed }
8989

90+
enum Ipv6Mode { off, syncOn, custom }
91+
9092
enum AccessControlMode { acceptSelected, rejectSelected }
9193

9294
enum AccessSortType { none, name, time }

lib/l10n/intl/messages_en.dart

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ class MessageLookup extends MessageLookupByLibrary {
135135
),
136136
"account": MessageLookupByLibrary.simpleMessage("Account"),
137137
"action": MessageLookupByLibrary.simpleMessage("Action"),
138+
"advanced": MessageLookupByLibrary.simpleMessage("Advanced"),
138139
"action_mode": MessageLookupByLibrary.simpleMessage("Switch mode"),
139140
"action_proxy": MessageLookupByLibrary.simpleMessage("System proxy"),
140141
"action_start": MessageLookupByLibrary.simpleMessage("Start/Stop"),
@@ -340,6 +341,12 @@ class MessageLookup extends MessageLookupByLibrary {
340341
"delete": MessageLookupByLibrary.simpleMessage("Delete"),
341342
"deleteMultipTip": m1,
342343
"deleteTip": m2,
344+
"dnsCoreSection": MessageLookupByLibrary.simpleMessage("Core"),
345+
"dnsFakeIpSection": MessageLookupByLibrary.simpleMessage("Fake-IP"),
346+
"dnsFallbackLegacy": MessageLookupByLibrary.simpleMessage(
347+
"China / Fallback (legacy)",
348+
),
349+
"dnsServersSection": MessageLookupByLibrary.simpleMessage("Servers"),
343350
"desc": MessageLookupByLibrary.simpleMessage(
344351
"A multi-platform proxy client based on ClashMeta, simple and easy to use, open-source and ad-free.",
345352
),
@@ -360,6 +367,7 @@ class MessageLookup extends MessageLookupByLibrary {
360367
"developerModeEnableTip": MessageLookupByLibrary.simpleMessage(
361368
"Developer mode is enabled.",
362369
),
370+
"diagnostics": MessageLookupByLibrary.simpleMessage("Diagnostics"),
363371
"direct": MessageLookupByLibrary.simpleMessage("Direct"),
364372
"disclaimer": MessageLookupByLibrary.simpleMessage("Disclaimer"),
365373
"disclaimerDesc": MessageLookupByLibrary.simpleMessage(
@@ -417,6 +425,11 @@ class MessageLookup extends MessageLookupByLibrary {
417425
"forkOf": m6,
418426
"fruitSaladScheme": MessageLookupByLibrary.simpleMessage("FruitSalad"),
419427
"general": MessageLookupByLibrary.simpleMessage("General"),
428+
"generalSettings": MessageLookupByLibrary.simpleMessage("General settings"),
429+
"geoDatabases": MessageLookupByLibrary.simpleMessage("Geo databases"),
430+
"geoDatabasesDesc": MessageLookupByLibrary.simpleMessage(
431+
"GeoIP, GeoSite, MMDB, ASN updaters",
432+
),
420433
"geodataLoader": MessageLookupByLibrary.simpleMessage(
421434
"Geo Low Memory Mode",
422435
),
@@ -480,6 +493,9 @@ class MessageLookup extends MessageLookupByLibrary {
480493
"ipv6InboundDesc": MessageLookupByLibrary.simpleMessage(
481494
"Allow IPv6 inbound",
482495
),
496+
"ipv6ModeCustom": MessageLookupByLibrary.simpleMessage("Custom"),
497+
"ipv6ModeOff": MessageLookupByLibrary.simpleMessage("Off"),
498+
"ipv6ModeSyncOn": MessageLookupByLibrary.simpleMessage("Sync ON"),
483499
"ja": MessageLookupByLibrary.simpleMessage("Japanese"),
484500
"justNow": MessageLookupByLibrary.simpleMessage("Just now"),
485501
"keepAliveIntervalDesc": MessageLookupByLibrary.simpleMessage(
@@ -488,6 +504,10 @@ class MessageLookup extends MessageLookupByLibrary {
488504
"key": MessageLookupByLibrary.simpleMessage("Key"),
489505
"language": MessageLookupByLibrary.simpleMessage("Language"),
490506
"layout": MessageLookupByLibrary.simpleMessage("Layout"),
507+
"legalAndDisclaimer": MessageLookupByLibrary.simpleMessage(
508+
"Legal & disclaimer",
509+
),
510+
"detailsSection": MessageLookupByLibrary.simpleMessage("Details"),
491511
"light": MessageLookupByLibrary.simpleMessage("Light"),
492512
"list": MessageLookupByLibrary.simpleMessage("List"),
493513
"listen": MessageLookupByLibrary.simpleMessage("Listen"),

lib/l10n/intl/messages_ja.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ class MessageLookup extends MessageLookupByLibrary {
116116
"accessControlSettings": MessageLookupByLibrary.simpleMessage("アクセス制御設定"),
117117
"account": MessageLookupByLibrary.simpleMessage("アカウント"),
118118
"action": MessageLookupByLibrary.simpleMessage("アクション"),
119+
"advanced": MessageLookupByLibrary.simpleMessage("詳細設定"),
119120
"action_mode": MessageLookupByLibrary.simpleMessage("モード切替"),
120121
"action_proxy": MessageLookupByLibrary.simpleMessage("システムプロキシ"),
121122
"action_start": MessageLookupByLibrary.simpleMessage("開始/停止"),
@@ -285,6 +286,14 @@ class MessageLookup extends MessageLookupByLibrary {
285286
"delete": MessageLookupByLibrary.simpleMessage("削除"),
286287
"deleteMultipTip": m1,
287288
"deleteTip": m2,
289+
"detailsSection": MessageLookupByLibrary.simpleMessage("詳細"),
290+
"diagnostics": MessageLookupByLibrary.simpleMessage("診断"),
291+
"dnsCoreSection": MessageLookupByLibrary.simpleMessage("コア"),
292+
"dnsFakeIpSection": MessageLookupByLibrary.simpleMessage("Fake-IP"),
293+
"dnsFallbackLegacy": MessageLookupByLibrary.simpleMessage(
294+
"中国 / フォールバック (レガシー)",
295+
),
296+
"dnsServersSection": MessageLookupByLibrary.simpleMessage("サーバー"),
288297
"desc": MessageLookupByLibrary.simpleMessage(
289298
"ClashMetaベースのマルチプラットフォームプロキシクライアント。シンプルで使いやすく、オープンソースで広告なし。",
290299
),
@@ -299,6 +308,7 @@ class MessageLookup extends MessageLookupByLibrary {
299308
"developerModeEnableTip": MessageLookupByLibrary.simpleMessage(
300309
"デベロッパーモードが有効になりました。",
301310
),
311+
"diagnostics": MessageLookupByLibrary.simpleMessage("診断"),
302312
"direct": MessageLookupByLibrary.simpleMessage("ダイレクト"),
303313
"disclaimer": MessageLookupByLibrary.simpleMessage("免責事項"),
304314
"disclaimerDesc": MessageLookupByLibrary.simpleMessage(
@@ -348,6 +358,11 @@ class MessageLookup extends MessageLookupByLibrary {
348358
"forkOf": m6,
349359
"fruitSaladScheme": MessageLookupByLibrary.simpleMessage("フルーツサラダ"),
350360
"general": MessageLookupByLibrary.simpleMessage("一般"),
361+
"generalSettings": MessageLookupByLibrary.simpleMessage("一般設定"),
362+
"geoDatabases": MessageLookupByLibrary.simpleMessage("Geo データベース"),
363+
"geoDatabasesDesc": MessageLookupByLibrary.simpleMessage(
364+
"GeoIP, GeoSite, MMDB, ASN の更新",
365+
),
351366
"geodataLoader": MessageLookupByLibrary.simpleMessage("Geo低メモリモード"),
352367
"geodataLoaderDesc": MessageLookupByLibrary.simpleMessage(
353368
"有効化するとGeo低メモリローダーを使用",
@@ -393,6 +408,9 @@ class MessageLookup extends MessageLookupByLibrary {
393408
"ipcidr": MessageLookupByLibrary.simpleMessage("IPCIDR"),
394409
"ipv6Desc": MessageLookupByLibrary.simpleMessage("有効化するとIPv6トラフィックを受信可能"),
395410
"ipv6InboundDesc": MessageLookupByLibrary.simpleMessage("IPv6インバウンドを許可"),
411+
"ipv6ModeCustom": MessageLookupByLibrary.simpleMessage("カスタム"),
412+
"ipv6ModeOff": MessageLookupByLibrary.simpleMessage("オフ"),
413+
"ipv6ModeSyncOn": MessageLookupByLibrary.simpleMessage("同期 ON"),
396414
"ja": MessageLookupByLibrary.simpleMessage("日本語"),
397415
"justNow": MessageLookupByLibrary.simpleMessage("たった今"),
398416
"keepAliveIntervalDesc": MessageLookupByLibrary.simpleMessage(
@@ -401,6 +419,7 @@ class MessageLookup extends MessageLookupByLibrary {
401419
"key": MessageLookupByLibrary.simpleMessage("キー"),
402420
"language": MessageLookupByLibrary.simpleMessage("言語"),
403421
"layout": MessageLookupByLibrary.simpleMessage("レイアウト"),
422+
"legalAndDisclaimer": MessageLookupByLibrary.simpleMessage("法務と免責事項"),
404423
"light": MessageLookupByLibrary.simpleMessage("ライト"),
405424
"list": MessageLookupByLibrary.simpleMessage("リスト"),
406425
"listen": MessageLookupByLibrary.simpleMessage("リスン"),

lib/l10n/intl/messages_ru.dart

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ class MessageLookup extends MessageLookupByLibrary {
134134
),
135135
"account": MessageLookupByLibrary.simpleMessage("Аккаунт"),
136136
"action": MessageLookupByLibrary.simpleMessage("Действие"),
137+
"advanced": MessageLookupByLibrary.simpleMessage("Дополнительно"),
137138
"action_mode": MessageLookupByLibrary.simpleMessage("Переключить режим"),
138139
"action_proxy": MessageLookupByLibrary.simpleMessage("Системный прокси"),
139140
"action_start": MessageLookupByLibrary.simpleMessage("Старт/Стоп"),
@@ -353,6 +354,14 @@ class MessageLookup extends MessageLookupByLibrary {
353354
"delete": MessageLookupByLibrary.simpleMessage("Удалить"),
354355
"deleteMultipTip": m1,
355356
"deleteTip": m2,
357+
"detailsSection": MessageLookupByLibrary.simpleMessage("Подробности"),
358+
"diagnostics": MessageLookupByLibrary.simpleMessage("Диагностика"),
359+
"dnsCoreSection": MessageLookupByLibrary.simpleMessage("Ядро"),
360+
"dnsFakeIpSection": MessageLookupByLibrary.simpleMessage("Fake-IP"),
361+
"dnsFallbackLegacy": MessageLookupByLibrary.simpleMessage(
362+
"Китай / Fallback (устар.)",
363+
),
364+
"dnsServersSection": MessageLookupByLibrary.simpleMessage("Серверы"),
356365
"desc": MessageLookupByLibrary.simpleMessage(
357366
"Многоплатформенный прокси-клиент на основе ClashMeta, простой и удобный в использовании, с открытым исходным кодом и без рекламы.",
358367
),
@@ -434,6 +443,11 @@ class MessageLookup extends MessageLookupByLibrary {
434443
"forkOf": m6,
435444
"fruitSaladScheme": MessageLookupByLibrary.simpleMessage("Фруктовый микс"),
436445
"general": MessageLookupByLibrary.simpleMessage("Общие"),
446+
"generalSettings": MessageLookupByLibrary.simpleMessage("Общие настройки"),
447+
"geoDatabases": MessageLookupByLibrary.simpleMessage("Гео-базы"),
448+
"geoDatabasesDesc": MessageLookupByLibrary.simpleMessage(
449+
"Обновление GeoIP, GeoSite, MMDB, ASN",
450+
),
437451
"geodataLoader": MessageLookupByLibrary.simpleMessage(
438452
"Режим низкого потребления памяти для геоданных",
439453
),
@@ -501,6 +515,9 @@ class MessageLookup extends MessageLookupByLibrary {
501515
"ipv6InboundDesc": MessageLookupByLibrary.simpleMessage(
502516
"Разрешить входящий IPv6",
503517
),
518+
"ipv6ModeCustom": MessageLookupByLibrary.simpleMessage("Раздельно"),
519+
"ipv6ModeOff": MessageLookupByLibrary.simpleMessage("Выкл"),
520+
"ipv6ModeSyncOn": MessageLookupByLibrary.simpleMessage("Синхр. ВКЛ"),
504521
"ja": MessageLookupByLibrary.simpleMessage("Японский"),
505522
"justNow": MessageLookupByLibrary.simpleMessage("Только что"),
506523
"keepAliveIntervalDesc": MessageLookupByLibrary.simpleMessage(
@@ -509,6 +526,9 @@ class MessageLookup extends MessageLookupByLibrary {
509526
"key": MessageLookupByLibrary.simpleMessage("Ключ"),
510527
"language": MessageLookupByLibrary.simpleMessage("Язык"),
511528
"layout": MessageLookupByLibrary.simpleMessage("Макет"),
529+
"legalAndDisclaimer": MessageLookupByLibrary.simpleMessage(
530+
"Правовая информация",
531+
),
512532
"light": MessageLookupByLibrary.simpleMessage("Светлый"),
513533
"list": MessageLookupByLibrary.simpleMessage("Список"),
514534
"listen": MessageLookupByLibrary.simpleMessage("Слушать"),

0 commit comments

Comments
 (0)