Optimize performance

Update core

Optimize core stability

Fix linux tun authority check error

Fix some issues
This commit is contained in:
chen08209
2025-02-09 18:39:38 +08:00
parent 96328f66e9
commit 4e679f776e
138 changed files with 13013 additions and 8723 deletions

View File

@@ -1,13 +1,19 @@
import 'package:fl_clash/common/proxy.dart';
import 'package:fl_clash/models/models.dart';
import 'package:fl_clash/providers/state.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
class ProxyManager extends StatelessWidget {
class ProxyManager extends ConsumerStatefulWidget {
final Widget child;
const ProxyManager({super.key, required this.child});
@override
ConsumerState createState() => _ProxyManagerState();
}
class _ProxyManagerState extends ConsumerState<ProxyManager> {
_updateProxy(ProxyState proxyState) async {
final isStart = proxyState.isStart;
final systemProxy = proxyState.systemProxy;
@@ -20,19 +26,21 @@ class ProxyManager extends StatelessWidget {
}
@override
Widget build(BuildContext context) {
return Selector3<AppFlowingState, Config, ClashConfig, ProxyState>(
selector: (_, appFlowingState, config, clashConfig) => ProxyState(
isStart: appFlowingState.isStart,
systemProxy: config.networkProps.systemProxy,
port: clashConfig.mixedPort,
bassDomain: config.networkProps.bypassDomain,
),
builder: (_, state, child) {
_updateProxy(state);
return child!;
void initState() {
super.initState();
ref.listenManual(
proxyStateProvider,
(prev, next) {
if (prev != next) {
_updateProxy(next);
}
},
child: child,
fireImmediately: true,
);
}
@override
Widget build(BuildContext context) {
return widget.child;
}
}