Compare commits

...

3 Commits

Author SHA1 Message Date
chen08209
2d0a7d8d46 Fix the problem that the proxy group is empty in global mode. 2024-05-03 23:08:06 +08:00
chen08209
ca96cd1d82 Fix the problem that the proxy group is empty in global mode. 2024-05-03 23:07:38 +08:00
chen08209
91ab1e5dac Add ProxyProvider2 2024-05-03 21:48:22 +08:00
3 changed files with 8 additions and 11 deletions

View File

@@ -98,7 +98,7 @@ func changeProxy(s *C.char) bool {
log.Infoln("Unmarshal ChangeProxyParams %v", err) log.Infoln("Unmarshal ChangeProxyParams %v", err)
return false return false
} }
proxies := tunnel.Proxies() proxies := tunnel.ProxiesWithProviders()
proxy := proxies[*params.GroupName] proxy := proxies[*params.GroupName]
if proxy == nil { if proxy == nil {
return false return false
@@ -148,7 +148,7 @@ func asyncTestDelay(s *C.char) {
ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*time.Duration(params.Timeout)) ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*time.Duration(params.Timeout))
defer cancel() defer cancel()
proxies := tunnel.Proxies() proxies := tunnel.ProxiesWithProviders()
proxy := proxies[params.ProxyName] proxy := proxies[params.ProxyName]
delayData := &Delay{ delayData := &Delay{

View File

@@ -74,15 +74,12 @@ class ClashCore {
final proxiesRawString = proxiesRaw.cast<Utf8>().toDartString(); final proxiesRawString = proxiesRaw.cast<Utf8>().toDartString();
return Isolate.run<List<Group>>(() { return Isolate.run<List<Group>>(() {
final proxies = json.decode(proxiesRawString); final proxies = json.decode(proxiesRawString);
final groupsRaw = (proxies[UsedProxy.GLOBAL.name]["all"] as List) final groupNames =
.where((e) { (proxies[UsedProxy.GLOBAL.name]["all"] as List).where((e) {
final proxy = proxies[e]; final proxy = proxies[e];
final excludeName = !UsedProxyExtension.valueList return GroupTypeExtension.valueList.contains(proxy['type']);
.where((element) => element != UsedProxy.GLOBAL.name) });
.contains(proxy['name']); final groupsRaw = [UsedProxy.GLOBAL.name, ...groupNames].map((groupName) {
final validType = GroupTypeExtension.valueList.contains(proxy['type']);
return excludeName && validType;
}).map((groupName) {
final group = proxies[groupName]; final group = proxies[groupName];
group["all"] = ((group["all"] ?? []) as List) group["all"] = ((group["all"] ?? []) as List)
.map( .map(

View File

@@ -1,7 +1,7 @@
name: fl_clash name: fl_clash
description: A multi-platform proxy client based on ClashMeta, simple and easy to use, open-source and ad-free. description: A multi-platform proxy client based on ClashMeta, simple and easy to use, open-source and ad-free.
publish_to: 'none' publish_to: 'none'
version: 0.7.3 version: 0.7.5
environment: environment:
sdk: '>=3.1.0 <4.0.0' sdk: '>=3.1.0 <4.0.0'