Releases: voidful/shadowspace
Release list
ShadowSpace v0.6.0
新增
- Tailscale 私有組網:支援 MagicDNS、子網路路由、Exit Node、自訂控制伺服器與無金鑰登入。
- DNS over HTTP/3:支援
h3://與 Google/Cloudflare DoH3 預設值。 - ClientHello 指紋:新增 Android、360、QQ、random 與 randomized 等 uTLS 指紋。
- 大型群組測速調校:可設定測試網址、自動重測間隔、切換容差與 1–64 路並行數。
效能改善
- 日誌、流量與活躍連線改為獨立、批次發布,降低 SwiftUI 重繪頻率。
- 大型節點匯入、訂閱刷新、延遲測試結果合併更新;去重與清單分組改為線性處理。
- QR 辨識、分享內容解析、sing-box 設定生成與狀態寫檔移出主執行緒。
- 修正連線後同步重複執行
networksetup導致所有操作卡頓;系統代理改由背景序列控制器套用,並加入防抖與相同設定去重。
修正
- 原生引擎連線時,手動測速改用 TCP 握手,不再呼叫未啟動的 sing-box API。
- 網路切換、斷線與重新套用代理依序處理,避免代理狀態競速。
驗證
- 171 項測試通過。
- Developer ID 簽章與 Apple 公證通過。
- Gatekeeper、staple 與 DMG 完整性驗證通過。
- App Store Release preflight 通過。
DMG 下載後打開,將 ShadowSpace 拖到「應用程式」即可。
SHA-256:a2138aa6d9797e9e8cba9d413259a23b85d678684886e629a8257ee6e33e198b
ShadowSpace v0.5.0
新增
- 全域選單命令與 ⌘ 快速鍵:⌘K 連線/取消、⌘T 測延遲、⌘R 更新訂閱、⌘1–⌘6 切換分頁、⌘, 開設定;App 常駐選單列時命令會自動開啟/聚焦主視窗。
- 節點清單搜尋與排序:可依名稱或伺服器搜尋,並依延遲由低到高排序(上百節點的訂閱更好操作)。
- 連線檢視可排序:連線分頁表格欄位(目標/規則/節點/上下傳/時間)可點標題排序,預設依下載量。
- 連線中可取消:連線過程(尤其首次下載核心引擎)可再按一次取消,不再被鎖在轉圈狀態。
- 單一節點測延遲:節點右鍵可只測該節點延遲。
- 手動編輯節點可直接刪除:編輯節點表單新增刪除鈕。
改善
- 設定即時套用防抖:連續調整多個設定時合併成一次重連並顯示「正在套用設定…」,不再每改一項就重連一輪。
- 匯入回饋:貼上多行內容時,無法辨識的行會提示「另有 N 行無法辨識」而非無聲消失;貼上匯入失敗會就地顯示錯誤並保留輸入。
- 刪除訂閱/群組前確認:避免一鍵誤刪整包節點。
- 無障礙:首頁電源鈕、模式切換、規則列開關補上 VoiceOver 標籤與滑鼠提示。
- 原生引擎規則提示:原生引擎下不支援的內建規則/GeoIP/Geosite 會明確標示,避免誤以為已生效。
- 文案:更新原生引擎支援範圍說明(REALITY/XTLS Vision 已支援)、統一術語與匯入格式說明,修正殘留簡體字。
修正
- 日誌自動捲動:超過 800 行後自動捲動失效的問題已修復。
- 分享連結/QR 往返:VLESS/Trojan 的 ALPN、Clash 訂閱的 uTLS 指紋(
client-fingerprint)不再於匯入/分享時遺失。 - Hysteria2 匯入:統一
insecure別名(allowInsecure/allow_insecure),修正收不到「允許不安全憑證」設定。 - 設定持久化:節點/訂閱/規則/群組補上防禦性解碼,未來新增欄位不會讓舊設定檔整包失效;狀態改為原子寫入,寫檔失敗會記錄而非無聲吞掉。
- 啟動穩定性:修正自動連線可能與殘留代理清理搶跑、導致「連上卻不走代理」的競態;啟動副作用移出初始化以免卡第一幀。
- 備份匯出/匯入:失敗時明確報錯,不再假成功。
- App Store 版建置:修正一項長期無法編譯的問題。
內部
- 大規模重構:即時流量統計獨立成 store(停止每秒重繪整個 App),匯入解析、設定綁定、出口選單、設定頁等抽出共用元件與純函式,並補上多項單元測試(共 160 項全綠)。
DMG 下載後打開 .dmg,將 ShadowSpace 拖到「應用程式」即可(已 Developer ID 簽章並經 Apple 公證)。
ShadowSpace v0.4.2
修正
- 原生 XTLS Vision(
flow=xtls-rprx-vision)完整可用:修復切換後資料流損毀、HTTP/2 與大檔傳輸失敗的問題。XTLS Vision 偵測到內層 TLS 握手完成後,會切換為 TLS splice——之後兩個方向都裸傳內層 TLS record、繞過外層 TLS(避免雙重加密)。先前原生實作切換後仍以外層 TLS 讀寫,導致資料錯位,表現為「HTTP/1.1 小回應可用、HTTP/2 與大檔傳輸全損」。現已實作對稱 splice,vision 節點恢復由原生引擎處理。已對真實節點逐 byte 驗證:h1/h2、雙向 128 KB、108 KB 檔上傳下載皆與直連完全相同。
自 v0.3.2 以來的重點(含未單獨發佈的 v0.4.0 / v0.4.1)
- 原生引擎抗封鎖堆疊(純 Apple 框架、零 sing-box):自建可控 ClientHello 的 TLS 1.3 客戶端(瀏覽器指紋;macOS 26+ 送後量子 X25519MLKEM768 混合金鑰)、原生 REALITY、原生 XTLS Vision、原生 Shadowsocks-2022(TCP 與 AES 系 UDP,含純 Swift BLAKE3)、以及 SOCKS5 UDP ASSOCIATE + UDP relay 的原生 UDP 子系統。
- 原生引擎不支援的節點(Hysteria2 / TUIC / VMess / WireGuard 等)連線時自動改用 sing-box 引擎。
完整變更請見 CHANGELOG.md。
DMG SHA-256: 5ef171efa96a83dd4d7832baa752d1ed107a422400c3f8ab0c466ff012e1e634
ShadowSpace v0.3.2
修正
- 原生引擎自迴圈根治:原生引擎的出站連線不再遵循系統代理(
preferNoProxies),
避免「系統代理指向引擎自己 → 出站被繞回引擎」造成的連線後完全沒網路。比先前
只把節點主機加進 bypass 的修補更徹底,direct/規則模式命中直連的流量也不再迴圈。 - VPN 開關殘留修正:系統代理只設在主要網路服務,不再污染 Tailscale/Surfshark
等其他服務,且關閉時徹底還原(清掉本機代理與 bypass 例外清單);網路切換時代理
跟著主要服務搬。 - 啟動校正:上次強制結束/閃退若殘留系統代理或孤兒引擎,啟動時自動清除,回到
乾淨的未連線狀態;啟動引擎前先清孤兒程序,避免埠衝突導致開不起來。
ShadowSpace v0.3.1
重要修補:修正原生引擎 + 自動系統代理造成的代理迴圈,連線後完全沒網路。
修了什麼
v0.3.0(預設使用原生引擎 + 自動系統代理)連線一般節點時,引擎連往代理伺服器的
流量會被系統代理又繞回本機代理埠(= 引擎自己)形成無限迴圈 → 所有流量逾時
→「連線後完全沒網路」。本版把代理伺服器主機加進系統代理的繞過清單,讓引擎連往
伺服器時直連、不再繞回,迴圈即斷。
sing-box 引擎本就不受影響;此問題只發生在原生引擎 + 自動系統代理(皆為預設)。
強烈建議所有 v0.3.0 使用者更新。
下載
ShadowSpace-0.3.1.dmg — Developer ID 簽章 + Apple 公證,macOS 14+。打開 DMG 拖進「應用程式」即可。
SHA256: 47dc63416277024be4374929f6db87225d9c268e7df8121eec01a704d151bfeb
ShadowSpace v0.3.0
一次大幅擴充:代理群組、節點鏈、可訂閱規則集、Clash YAML 訂閱、即時流量圖、Kill switch、自動連線、TLS 分片、AnyTLS、自動更新檢查與英文介面。
新功能
- 代理群組:手動選擇與自動測速(urltest)群組
- 節點鏈 / Relay:先經中轉節點再落地(sing-box
detour) - Rule Providers:可訂閱的遠端規則集(
.srs) - Clash / Clash.Meta YAML 訂閱:自製解析,依內容自動判型(sing-box JSON / Clash YAML / base64)
- 分應用分流:
process_name規則(TUN 模式) - Kill switch 防洩漏:引擎意外停止時保留系統代理擋住流量外洩
- 自動連線 On-demand:偵測到網路就自動連上
- 即時流量圖:上傳 / 下載速率折線圖與本次用量統計
- 設定備份 / 匯出與原始 sing-box 設定檢視
- URL scheme(
shadowspace://)與剪貼簿 QR 掃描匯入 - TLS 分片(原生引擎,抗封鎖):把 TLS ClientHello 切段送出干擾 DPI 的 SNI 偵測
- AnyTLS 協議(sing-box 引擎)
- 自動更新檢查(GitHub Releases)
- 多語系:繁體中文與英文介面(隨系統語言自動切換)
下載
ShadowSpace-0.3.0.dmg — Developer ID 簽章 + Apple 公證,macOS 14+。打開 DMG 拖進「應用程式」即可。
SHA256: 4b501a172170e7ad96bbbf4a8a8bf9f5b61f3bca41ae763ffda0c15c52940a65
ShadowSpace v0.2.1
ShadowSpace v0.2.1
這版更新 App Store / NetworkExtension 路線,也同步發布 Developer ID 直發版 DMG。DMG 已完成 Apple notarization 與 staple,下載後拖進「應用程式」即可使用。(本次重建為 build 4)
安裝
- 下載下方的
ShadowSpace-0.2.1.dmg - 開啟 DMG,把 ShadowSpace 拖進「應用程式」
- 從啟動台或應用程式開啟
需要 macOS 14 Sonoma 以上。這次上傳的 DMG 是 Apple Silicon arm64 build。
更新內容
- 訂閱 User-Agent 可在設定調整(預設
sing-box/1.13.13),並支援解析 sing-box JSON 訂閱格式(修正部分機場以 UA 判斷而拉不到 VLESS 節點的問題)。 - App Store 版補上 NetworkExtension UDP flow 與 DNS 分流處理。
- 新增可重複產生的
AppStore/ShadowSpace.xcodeproj與make appstore-preflight驗證流程。 - ShadowCore 新增 datagram session 介面,Direct outbound 可做 UDP 直連。
- App Store 路線改用共享設定目錄與 tunnel payload 啟動流程,避免混入 sing-box / 系統代理路徑。
- 設定頁版本改讀取 bundle metadata。
- 內嵌 sing-box 更新到
1.13.13。
驗證
swift test: 72 tests passedspctl -a -vvv --type execute build/ShadowSpace.app: accepted / Notarized Developer IDxcrun stapler validate build/ShadowSpace-0.2.1.dmg: The validate action worked
SHA-256 (ShadowSpace-0.2.1.dmg) = e8114dbaebd6da5e49eab777e5ed5f7d95afc286177023d8427649b4199df725
ShadowSpace v0.2.0
Shadowrocket 風格的 macOS 代理工具——介面簡單、功能豐富、對新手友善。
原生 SwiftUI 打造,核心使用 sing-box(已內嵌,無需另裝)。本版本已通過 Apple 公證,下載開啟不會跳安全警告。
安裝
- 下載下方的
ShadowSpace-0.2.0.dmg - 開啟後把 ShadowSpace 拖進「應用程式」
- 從啟動台或應用程式開啟即可
需要 macOS 14(Sonoma)以上,支援 Apple Silicon 與 Intel。
新手三步驟
- 複製你的節點分享連結(
ss://、vmess://、trojan://…)或機場訂閱網址 - 開啟 ShadowSpace,點「從剪貼簿匯入」
- 回首頁按下大圓鈕,完成 🎉
主要功能
- 一鍵連線+系統代理自動設定/還原
- TUN/增強模式:虛擬網卡接管全部流量(含終端機、Docker),輸入一次管理員密碼即可
- 三種模式:規則/全域/直連,連線中熱切換不需重啟
- 協議:Shadowsocks、VMess、VLESS(含 Reality)、Trojan、Hysteria2、TUIC、SOCKS5
- 分流規則編輯器+一鍵廣告阻擋
- 連線檢視器:即時看每條連線命中的規則與出口節點,可強制中斷
- 節點管理:手動編輯、複製分享連結、QR Code 匯出
- 訂閱管理:流量/到期顯示、一鍵與定時自動更新
- DNS 自訂(DoH/DoT)、延遲測試、即時流量、選單列 VPN 狀態
完整變更見 CHANGELOG.md。
校驗
SHA-256 (ShadowSpace-0.2.0.dmg) = 462c60e0fba8589c42caf6b1d98be3374dc5ccca74bba37f6cadc5c1038e040e
授權
GPL-3.0。核心引擎 sing-box(GPLv3)以獨立子程序方式執行,內嵌於 .app。