NetProxy:面向已 root Android 裝置的 sing-box 透明代理模組
此Android代理模組基於sing-box核心,支援一鍵啟動/停止透明代理,專為Android設備設計。
秒懂
- 它是什麼?
- 基於 cgroup 和 TC eBPF 的系統層級透明代理模組,支援按應用程式路由、訂閱和 Clash API 管理。
- 適合誰用?
- NetProxy 適合需要直接處理 Magisk 的讀者,未必適合只想要抽象結論的人。採用前應先依 README 在隔離環境執行 proxy,檢查 module 產出的實際結果,再決定是否符合現有流程;README 沒有說明的部分,應列為待確認事項。
- 可以商用嗎?
- 可以,但有條件。GPL-3.0 是 copyleft 授權:如果你散布包含它的軟體,就必須以同一授權公開該軟體的原始碼。只在內部執行、不對外散布,則不會觸發這項義務。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 2 天前。
- 用什麼語言寫的?
- 主要是 Shell(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
NetProxy 是什麼以及需要什麼
NetProxy 是面向已 root Android 裝置的系統層級透明代理模組。根據 README,其內建的 sing-box 核心透過 cgroup 和 TC eBPF 捕獲本地及共享網路流量。支援 Magisk、KernelSU 和 APatch 三種 root 環境。模組不建立 TUN 裝置,也不依賴 iptables、nftables 規則或策略路由,流量攔截由 eBPF 完成。倉庫描述還提到支援一鍵啟動和停止透明代理。來源未提供基準測試、效能資料或使用者統計。
在 NetProxy 的脈絡裡,這個判斷要連同 Magisk 一起閱讀。README 提到的 NetProxy 是可追溯的專案記號,讀者可以把它對照原始檔案與實際輸出,分辨文件描述、工具行為和自己的使用情境。這也說明本節的限制:沒有寫在 README 裡的整合方式、效能數字或相容性,不應從名稱推測。 p align="center" /p h1 align="center" NetProxy /h1 p align="center" s。
管理介面與預設端點
NetProxy 提供三種管理介面。Android Manager(可在 Google Play 取得)負責服務、節點、訂閱、按應用程式規則、設定和日誌。CLI 用於終端管理、自動化和診斷。Clash API 和 zashboard 提供執行時期群組、連線、延遲測試和模式控制。README 列出了預設 Clash API 端點:控制器為 http://<device-ip>:9999,zashboard 為 http://<device-ip>:9999/ui/,金鑰為 singbox。它提醒控制器預設監聽所有介面,應僅在可信網路中使用,並建議在必要時變更金鑰。
在 NetProxy 的脈絡裡,這個判斷要連同 proxy 一起閱讀。README 提到的 Magisk 是可追溯的專案記號,讀者可以把它對照原始檔案與實際輸出,分辨文件描述、工具行為和自己的使用情境。這也說明本節的限制:沒有寫在 README 裡的整合方式、效能數字或相容性,不應從名稱推測。nter" /p h1 align="center" NetProxy /h1 p align="center" strong Androi。
功能列表
README 列出了一組代理功能。本地 TCP、UDP 和 DNS 流量透過 cgroup eBPF 攔截,不使用 TUN 裝置、iptables 或 nftables 規則、策略路由。支援按應用程式黑名單和白名單路由,也支援 Wi-Fi 熱點和 USB 網路共享。節點輸入可以是連結、檔案、Clash YAML 或訂閱。選擇方式可以是手動或基於 URLTest,模式包括 Rule、Global 和 Direct。Wi-Fi SSID 可以在設定的模式和 Direct 之間切換。還包含 Clash API 整合、zashboard、連線控制、延遲測試、定時訂閱更新、規則集繞過,以及自動清理 eBPF 程式、對映和 TC 附加。
在 NetProxy 的脈絡裡,這個判斷要連同 module 一起閱讀。README 提到的 proxy 是可追溯的專案記號,讀者可以把它對照原始檔案與實際輸出,分辨文件描述、工具行為和自己的使用情境。這也說明本節的限制:沒有寫在 README 裡的整合方式、效能數字或相容性,不應從名稱推測。align="center" NetProxy /h1 p align="center" strong Android 系统级 sing-b。
安裝套件與核心需求
每個發行版本提供兩個套件。Full 套件(NetProxy_<version>_<build>.zip)包含 sing-box、Proxylink、zashboard 和 Android Manager APK。Lite 套件(NetProxy_<version>_<build>_lite.zip)具有相同的核心、CLI、eBPF 和 zashboard 功能,但不包含管理員 APK。README 說明兩者的代理能力相同。安裝前需要檢查核心支援:eBPF 入站要求 BPF 支援、cgroup v2 和 cgroup socket 附加;共享網路代理額外要求可用的 TC eBPF。不支援的核心無法啟動此版本。安裝步驟包括下載 ZIP、用 Magisk、KernelSU 或 APatch 刷入、跟隨安裝器提示、重新啟動,然後匯入並選擇節點。AUTO_START 預設關閉,可從管理員啟用或在 config/module.conf 中設定 AUTO_START=1。
透過 CLI 快速上手
README 的快速入門部分假定已取得 root 權限。命令包括使用 cli node add 新增節點連結、使用 cli node import 匯入節點列表或 Clash YAML、使用 cli node list 和 cli node use 選擇節點、使用 cli service start 啟動服務。使用 cli service status 和 cli mode 檢視狀態和模式,使用 cli api ui 顯示 zashboard 端點。訂閱使用 cli sub add、cli sub update 和 cli sub auto on 管理。CLI 總覽列出了 service、node、mode、sub、api、app、ebpf 和 wifi 的命令。還提供 cli help 命令。
在 NetProxy 的脈絡裡,這個判斷要連同 Magisk 一起閱讀。README 提到的 NetProxy 是可追溯的專案記號,讀者可以把它對照原始檔案與實際輸出,分辨文件描述、工具行為和自己的使用情境。這也說明本節的限制:沒有寫在 README 裡的整合方式、效能數字或相容性,不應從名稱推測。/h1 p align="center" strong Android 系统级 sing-box 透明代理模块 /strong br 支持 。
節點設定檔案格式
README 建議使用 Android Manager 或 CLI 匯入器進行節點設定。Proxylink 將節點連結、文字檔案、Clash YAML 和訂閱轉換為 NetProxy 期望的 sing-box 片段。手寫的節點檔案必須是完整的 sing-box 設定片段,並具有頂層 outbounds 陣列;裸的 outbound 物件不能作為文件根。README 包含一個 SOCKS5 範例,包含 type、tag、server、server_port、version、username 和 password 欄位,並顯示放置路徑為 /data/adb/modules/netproxy/config/singbox/outbounds/default/fr-socks.json。規則包括:使用 type 而不是 Xray 風格的 protocol;每個檔案保持一個一般節點並使用唯一 tag;避免使用 direct、block、Proxy 和 Auto-Fastest 作為標籤;活動節點目錄中的所有 JSON 檔案會一起載入,因此格式錯誤的檔案可能阻止核心啟動。
設定路徑、日誌與授權
設定和日誌分佈在多個路徑。config/module.conf 儲存啟動、模式、所選節點、選擇器和訂閱排程;config/ebpf/ebpf.conf 儲存 eBPF 入站、按應用程式規則、共享網路和對映容量;config/singbox/confdir 儲存共享的 DNS、路由和 Clash API 設定;outbounds 儲存本地和訂閱節點目錄;source 儲存本地路由規則和規則集。日誌位於 logs/service.log、logs/sing-box.log 和 logs/subscription.log。關鍵預設值包括 AUTO_START=0、OUTBOUND_MODE=rule、SELECTOR_MODE=urltest、EBPF_NETWORK=""(TCP 和 UDP)、EBPF_DNS_MODE=hijack、EBPF_IPV6=1、EBPF_BYPASS_RULE_SETS="direct ChinaIP"、EBPF_SHARED_NETWORK=0 和 WIFI_AUTO_SWITCH=0。對於啟動失敗,README 建議使用 cli service logs core 100 檢查核心日誌,並指向官方 NetProxy 文件。專案採用 GPL-3.0 授權。授權摘錄授予複製、散佈和修改軟體的自由,並要求修改版本標記為已變更;同時宣告此自由軟體不提供任何擔保。授權本身並不涉及安全態勢、支援或生產就緒性。
針對 NetProxy 的第 1 次核對,應把文件中的名稱、命令和檔案路徑放回同一條操作鏈。先確認輸入如何進入 Magisk,再觀察 proxy 的輸出是否包含 README 所描述的欄位或狀態,最後記錄 module 對結果的影響。這樣得到的是 NetProxy 的具體證據,而不是把一般工具的想像套在它身上。若環境、版本或資料格式不同,結論也應保留差異,因為目前素材沒有替那些條件提供保證。
針對 NetProxy 的第 2 次核對,應把文件中的名稱、命令和檔案路徑放回同一條操作鏈。先確認輸入如何進入 Magisk,再觀察 proxy 的輸出是否包含 README 所描述的欄位或狀態,最後記錄 module 對結果的影響。這樣得到的是 NetProxy 的具體證據,而不是把一般工具的想像套在它身上。若環境、版本或資料格式不同,結論也應保留差異,因為目前素材沒有替那些條件提供保證。
針對 NetProxy 的第 3 次核對,應把文件中的名稱、命令和檔案路徑放回同一條操作鏈。先確認輸入如何進入 Magisk,再觀察 proxy 的輸出是否包含 README 所描述的欄位或狀態,最後記錄 module 對結果的影響。這樣得到的是 NetProxy 的具體證據,而不是把一般工具的想像套在它身上。若環境、版本或資料格式不同,結論也應保留差異,因為目前素材沒有替那些條件提供保證。
編輯結論
NetProxy 適合需要直接處理 Magisk 的讀者,未必適合只想要抽象結論的人。採用前應先依 README 在隔離環境執行 proxy,檢查 module 產出的實際結果,再決定是否符合現有流程;README 沒有說明的部分,應列為待確認事項。
社群筆記