new: add use xray core option
This commit is contained in:
@@ -327,6 +327,10 @@
|
||||
"reconnectMsg": "Reconnecting for taking into account the changes..."
|
||||
},
|
||||
"config": {
|
||||
"useXrayCoreWhenPossible":{
|
||||
"Label":"Use Xray-core When Possible",
|
||||
"Description":"Use Xray-core during parsing sub links. You need to reimport the sub link to enable this option."
|
||||
},
|
||||
"resetBtn": "Reset Options",
|
||||
"serviceMode": "Service Mode",
|
||||
"quickSettings": "Quick Settings",
|
||||
|
||||
@@ -327,6 +327,10 @@
|
||||
"reconnectMsg": "در حال اتصال مجدد برای اعمال تغییرات..."
|
||||
},
|
||||
"config": {
|
||||
"useXrayCoreWhenPossible":{
|
||||
"Label":"استفاده از Xray-core در صورت ممکن",
|
||||
"Description":"برای استفاده از Xray-core باید دوباره لینک ساب را وارد کنید تا این گزینه فعال شود."
|
||||
},
|
||||
"resetBtn": "بازنشانی تنظیمات",
|
||||
"serviceMode": "حالت سرویس",
|
||||
"quickSettings": "تنظیمات سریع",
|
||||
|
||||
@@ -31,7 +31,10 @@ abstract class ConfigOptions {
|
||||
mapFrom: Region.values.byName,
|
||||
mapTo: (value) => value.name,
|
||||
);
|
||||
|
||||
static final useXrayCoreWhenPossible = PreferencesNotifier.create<bool, bool>(
|
||||
"use-xray-core-when-possible",
|
||||
false,
|
||||
);
|
||||
static final blockAds = PreferencesNotifier.create<bool, bool>(
|
||||
"block-ads",
|
||||
false,
|
||||
@@ -329,6 +332,7 @@ abstract class ConfigOptions {
|
||||
static final Map<String, StateNotifierProvider<PreferencesNotifier, dynamic>> preferences = {
|
||||
"region": region,
|
||||
"block-ads": blockAds,
|
||||
"use-xray-core-when-possible": useXrayCoreWhenPossible,
|
||||
"service-mode": serviceMode,
|
||||
"log-level": logLevel,
|
||||
"resolve-destination": resolveDestination,
|
||||
@@ -432,6 +436,7 @@ abstract class ConfigOptions {
|
||||
return SingboxConfigOption(
|
||||
region: ref.watch(region).name,
|
||||
blockAds: ref.watch(blockAds),
|
||||
useXrayCoreWhenPossible: ref.watch(useXrayCoreWhenPossible),
|
||||
executeConfigAsIs: false,
|
||||
logLevel: ref.watch(logLevel),
|
||||
resolveDestination: ref.watch(resolveDestination),
|
||||
|
||||
@@ -138,6 +138,7 @@ class ConfigOptionsPage extends HookConsumerWidget {
|
||||
title: t.config.logLevel,
|
||||
presentChoice: (value) => value.name.toUpperCase(),
|
||||
),
|
||||
|
||||
const SettingsDivider(),
|
||||
SettingsSection(t.config.section.route),
|
||||
ChoicePreferenceWidget(
|
||||
@@ -358,6 +359,12 @@ class ConfigOptionsPage extends HookConsumerWidget {
|
||||
inputToValue: int.tryParse,
|
||||
),
|
||||
const Gap(24),
|
||||
SwitchListTile(
|
||||
title: Text(experimental(t.config.useXrayCoreWhenPossible.Label)),
|
||||
subtitle: Text(t.config.useXrayCoreWhenPossible.Description),
|
||||
value: ref.watch(ConfigOptions.useXrayCoreWhenPossible),
|
||||
onChanged: ref.watch(ConfigOptions.useXrayCoreWhenPossible.notifier).update,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -18,6 +18,7 @@ class SingboxConfigOption with _$SingboxConfigOption {
|
||||
const factory SingboxConfigOption({
|
||||
required String region,
|
||||
required bool blockAds,
|
||||
required bool useXrayCoreWhenPossible,
|
||||
required bool executeConfigAsIs,
|
||||
required LogLevel logLevel,
|
||||
required bool resolveDestination,
|
||||
|
||||
2
libcore
2
libcore
Submodule libcore updated: cfb37888d4...b389963aa8
Reference in New Issue
Block a user