🍕 Sync 2026-11-12 03:24:35

This commit is contained in:
github-actions[bot] committed 2026-11-12 03:24:35 +08:00
1 parent 3af4c76cd6
commit 5738bba487
2 files changed
+23 -9

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=v2raya
PKG_VERSION:=2.5.14
PKG_RELEASE:=5
PKG_RELEASE:=6
PKG_SOURCE:=v2rayA-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)?
@@ -1,20 +1,22 @@
From 14c682ddbca62226c4ca453fcac2d28fae6109c8 Mon Sep 17 00:00:00 2001
From 8a3f10e0295a1587fd4beef414386290aca89605 Mon Sep 17 00:00:00 2001
From: Amr Fateem <amr.fateem@yahoo.com>
Date: Wed, 11 Nov 2026 19:56:35 +0200
Date: Wed, 11 Nov 2026 21:06:01 +0200
Subject: [PATCH] openwrt: clean residual transparent-proxy rules on stop
When a core process stops, the in-memory transparentOn flag may be
false even though tproxy rules from an earlier process are still
installed. The early return then leaves those rules and the policy
route behind, so all traffic is blackholed once the core is gone.
installed. The early return leaves those rules and the policy route
behind, so stopping the proxy or the service leaves no internet.
Delete the residual rules before returning. The normal path still runs
the transparent-proxy hooks and removes the rules as before.
The stop request can also arrive when no core process is tracked, for
example after a process restart. Clean the residual rules in that path
too. The normal path still runs the transparent-proxy hooks and removes
the rules as before.
Signed-off-by: Amr Fateem <amr.fateem@yahoo.com>
---
kernel/v2ray/processManager.go | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
kernel/v2ray/processManager.go | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
--- a/kernel/v2ray/processManager.go
+++ b/kernel/v2ray/processManager.go
@@ -35,3 +37,15 @@ Signed-off-by: Amr Fateem <amr.fateem@yahoo.com>
return
}
if setting == nil {
@@ -237,6 +241,11 @@ func (m *CoreProcessManager) Stop(saveRu
m.mu.Lock()
defer m.mu.Unlock()
if m.p == nil {
+ // A previous process may have left tproxy rules behind; a stop
+ // request must still restore direct connectivity.
+ hostMu.Lock()
+ deleteTransparentProxyRules()
+ hostMu.Unlock()
return
}
if saveRunning {