|
@@ -299,13 +299,17 @@ class ServiceController extends GetxController {
|
|
|
|
|
|
Future<void> fetchSetProxy() async {
|
|
Future<void> fetchSetProxy() async {
|
|
try {
|
|
try {
|
|
|
|
+ var dns_ip = "";
|
|
|
|
+ if(controllers.global.routeModesSelect.value == "tun"){
|
|
|
|
+ dns_ip = "198.18.0.2";
|
|
|
|
+ }
|
|
var ut = Uri.http(url,'on');
|
|
var ut = Uri.http(url,'on');
|
|
final body = json.encode({
|
|
final body = json.encode({
|
|
"http_port" : controllers.config.mixedPort.value,
|
|
"http_port" : controllers.config.mixedPort.value,
|
|
"https_port" : controllers.config.mixedPort.value,
|
|
"https_port" : controllers.config.mixedPort.value,
|
|
"socks_port" :controllers.config.mixedPort.value,
|
|
"socks_port" :controllers.config.mixedPort.value,
|
|
"bypass": "127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, 17.0.0.0/8, localhost, *.local, *.crashlytics.com, seed-sequoia.siri.apple.com, sequoia.apple.com,xd.apple.com",
|
|
"bypass": "127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, 17.0.0.0/8, localhost, *.local, *.crashlytics.com, seed-sequoia.siri.apple.com, sequoia.apple.com,xd.apple.com",
|
|
- "dns_ip": "",
|
|
|
|
|
|
+ "dns_ip": dns_ip,
|
|
"dns_type":"",
|
|
"dns_type":"",
|
|
"address":"127.0.0.1"
|
|
"address":"127.0.0.1"
|
|
});
|
|
});
|
|
@@ -318,14 +322,42 @@ class ServiceController extends GetxController {
|
|
print('Exception: $e');
|
|
print('Exception: $e');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ Future<void> fetchSetDnsProxy() async {
|
|
|
|
+ try {
|
|
|
|
+ var dns_ip = "";
|
|
|
|
+ if(controllers.global.routeModesSelect.value == "tun"){
|
|
|
|
+ dns_ip = "198.18.0.2";
|
|
|
|
+ }
|
|
|
|
+ var ut = Uri.http(url,'on');
|
|
|
|
+ final body = json.encode({
|
|
|
|
+ "http_port" : 0,
|
|
|
|
+ "https_port" : 0,
|
|
|
|
+ "socks_port" : 0,
|
|
|
|
+ "bypass": "",
|
|
|
|
+ "dns_ip": dns_ip,
|
|
|
|
+ "dns_type":"",
|
|
|
|
+ "address":"127.0.0.1"
|
|
|
|
+ });
|
|
|
|
+ await client.post(ut,body: body,headers: headers);
|
|
|
|
+ } on http.ClientException catch (e) {
|
|
|
|
+ // 处理客户端异常,例如没有网络连接
|
|
|
|
+ print('Client Exception: ${e.message}');
|
|
|
|
+ } on Exception catch (e) {
|
|
|
|
+ // 处理其他类型的异常
|
|
|
|
+ print('Exception: $e');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
Future<void> fetchSetProxyStop() async {
|
|
Future<void> fetchSetProxyStop() async {
|
|
|
|
|
|
try {
|
|
try {
|
|
|
|
+ var dnsIp = "";
|
|
|
|
+ if(controllers.global.routeModesSelect.value == "tun"){
|
|
|
|
+ dnsIp = "223.5.5.5";
|
|
|
|
+ }
|
|
var ut = Uri.http(url,'off');
|
|
var ut = Uri.http(url,'off');
|
|
final body = json.encode({
|
|
final body = json.encode({
|
|
"bypass": "",
|
|
"bypass": "",
|
|
- "dns_ip":""
|
|
|
|
|
|
+ "dns_ip": dnsIp
|
|
});
|
|
});
|
|
await client.post(ut,body:body,headers: headers);
|
|
await client.post(ut,body:body,headers: headers);
|
|
} on http.ClientException catch (e) {
|
|
} on http.ClientException catch (e) {
|
|
@@ -374,13 +406,8 @@ class ServiceController extends GetxController {
|
|
} catch (e) {
|
|
} catch (e) {
|
|
BotToast.showText(text: e.toString());
|
|
BotToast.showText(text: e.toString());
|
|
}
|
|
}
|
|
- if(open){
|
|
|
|
- await startService();
|
|
|
|
- //await startClashCore();
|
|
|
|
- }else{
|
|
|
|
- serviceMode.value = false;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ await startService();
|
|
|
|
+ await fetchStartInit();
|
|
}
|
|
}
|
|
Future<bool> isPortAvailable(int port) async {
|
|
Future<bool> isPortAvailable(int port) async {
|
|
try {
|
|
try {
|