feat: allow selecting inbounds synchronized from nodes (#5178)

* feat: select node inbounds for synchronization

Allow node owners to import either all remote inbounds or an explicit tag-based selection. Add remote inbound discovery, persistence, snapshot filtering, API documentation, tests, and localized UI labels.

* fix

* fix: scope node reconcile and orphan sweep to selected inbound tags

In 'selected' sync mode unselected inbounds never enter the panel DB, so
ReconcileNode treated them as undesired and deleted them from the node the
first time it went config-dirty. Reconcile now only sweeps remote tags that
are part of the selection; everything else on the node is unmanaged.

Panel-created or renamed inbounds on a selected-mode node also vanished:
their tag was outside the selection, so the next traffic pull filtered them
out of the snapshot and the orphan sweep silently dropped the central row.
AddInbound/UpdateInbound now allow the tag on the node before committing.

---------

Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
This commit is contained in:
animesha3
2026-06-11 20:48:26 +02:00
committed by GitHub
parent 2a7342baa9
commit 554d85c2f7
32 changed files with 741 additions and 16 deletions
+10
View File
@@ -860,6 +860,16 @@
"regenerateConfirm": "重新產生會使目前的權杖失效。任何使用該權杖的中央面板將失去存取權,直到更新為止。是否繼續?",
"allowPrivateAddress": "允許私有地址",
"allowPrivateAddressHint": "僅對私有網路或VPN上的節點啟用。",
"inboundSyncMode": "入站匯入",
"inboundSyncModeHint": "選擇要從此節點匯入的入站。現有節點預設匯入所有入站。",
"allInbounds": "所有入站",
"selectedInbounds": "選取的入站",
"inboundTags": "入站",
"inboundTagsHint": "依入站標籤比對。空白選取不會匯入任何入站。",
"inboundTagsPlaceholder": "載入並選取入站",
"loadInbounds": "從節點載入入站",
"inboundsLoaded": "已載入 {{count}} 個入站",
"inboundsLoadFailed": "載入入站失敗",
"enable": "已啟用",
"status": "狀態",
"cpu": "CPU",