Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 commits
Select commit Hold shift + click to select a range
d956887
备份:开始修改前 2026-02-13 01:36
AlickH Feb 12, 2026
4f64642
移除设置页中的检查更新、自动更新、Beta通道功能,仅保留版本号显示
AlickH Feb 12, 2026
1f50032
将开源协议从 MIT 改为 GPL-3.0
AlickH Feb 12, 2026
05bbdb9
移除设置页中的联系邮箱
AlickH Feb 12, 2026
fcadf81
修复 NE 状态继承和自动连接的竞态条件
AlickH Feb 12, 2026
947fed7
2026-02-13 准备实施 Connect On Demand 改造前的快照
AlickH Feb 12, 2026
6a6f46f
采用 Connect On Demand 机制管理 VPN 连接
AlickH Feb 12, 2026
bebbdfc
添加缺失的 NetworkExtension import
AlickH Feb 12, 2026
a0a23ce
设置项名称改为 Connect On Demand
AlickH Feb 12, 2026
55f6466
修复连接时长:使用 NE connectedDate 而非 App 启动时间
AlickH Feb 12, 2026
a71ac91
补全本地化:GPL 声明、Connect On Demand 及其他缺失英文翻译
AlickH Feb 12, 2026
c583b11
移除重复的本地化 key(wireguard路由 vs wireguard 路由)
AlickH Feb 12, 2026
8b77203
修复 UI 重启导致 NE 被杀重连的问题
AlickH Feb 12, 2026
7d14b3b
修复手动关闭 VPN 时 Connect On Demand 自动重连的问题
AlickH Feb 12, 2026
4c9ae2a
改进手动关闭逻辑:先 stop 再禁用 On Demand,避免 saveToPreferences 触发隧道重启
AlickH Feb 12, 2026
3a9b3f6
修复 On Demand 操作:save 前先 loadFromPreferences 确保状态最新
AlickH Feb 12, 2026
f31579b
开始修改前备份 2026-02-13 - 修复 ContentView 中 stop 按钮未调用 disableOnDemandAndStop
AlickH Feb 12, 2026
8f4d700
修复两个问题:
AlickH Feb 12, 2026
39982d6
修复迁移到 iCloud 后 Open in Finder 仍打开旧路径的问题
AlickH Feb 12, 2026
ff86a50
启动时自动清除与 customPathString 不一致的残留书签
AlickH Feb 12, 2026
92f613c
Pre-modification commit - 2026-02-13 03:20
AlickH Feb 13, 2026
7646b9a
Refactor: Rename project to Spotier; Fix App Group ID mismatch; Bump …
AlickH Feb 16, 2026
820d23f
Refactor: Rename project to Spotier, update branding, and add TestFli…
AlickH Feb 21, 2026
66ace4e
Update README.md
AlickH Feb 21, 2026
224fe96
Fix VPN startup, CloudKit sync, and IPv6/MagicDNS handling
AlickH Mar 12, 2026
d906791
Handle missing CloudKit record type gracefully
AlickH Mar 12, 2026
a2608ab
Add CloudKit on/off controls and storage label localization
AlickH Mar 12, 2026
74e2663
Bump build number to 5 for TestFlight
AlickH Mar 12, 2026
1bb694f
Simplify config storage and dashboard flow
AlickH Mar 26, 2026
23d8621
Align build numbers for release archive
AlickH Mar 26, 2026
90f50a1
chore: snapshot current workspace before log fix
AlickH May 10, 2026
968af02
docs: add swift core rewrite plan
AlickH May 10, 2026
1394730
feat: add swift mesh engine skeleton
AlickH May 10, 2026
3d4f0c6
feat: add swift core config parser
AlickH May 10, 2026
3f75f4c
feat: add swift node identity
AlickH May 10, 2026
7e95fc2
feat: add swift core frame codec
AlickH May 10, 2026
d1f1369
feat: add swift session crypto
AlickH May 10, 2026
774ba0c
feat: add swift udp transport
AlickH May 10, 2026
9683cda
feat: add swift relay transport
AlickH May 10, 2026
d81c054
feat: add swift peer manager
AlickH May 10, 2026
d95607c
feat: add swift route table
AlickH May 10, 2026
226fb48
feat: add swift packet classifier
AlickH May 10, 2026
82369f1
feat: wire packet flow to swift mesh engine
AlickH May 10, 2026
2ec0328
feat: serve running info from swift core
AlickH May 10, 2026
2328e3b
feat: add swift hole punch coordination
AlickH May 10, 2026
f419383
docs: define swift relay protocol contract
AlickH May 10, 2026
5df1745
refactor: remove swift rust ffi wrapper
AlickH May 10, 2026
96adb99
build: remove rust core build inputs
AlickH May 10, 2026
e9b8abc
docs: add apple entitlement audit
AlickH May 10, 2026
78dc9c8
test: add local mesh integration harness
AlickH May 10, 2026
b79aa46
test: stabilize swift core verification
AlickH May 10, 2026
98abea0
docs: record swift core verification status
AlickH May 10, 2026
79f49ce
docs: mark completed swift core tests
AlickH May 10, 2026
0424144
docs: sync swift core checklist summary
AlickH May 10, 2026
ee5b041
docs: clarify remaining swift core blockers
AlickH May 10, 2026
7e917ad
chore: checkpoint before peer bootstrap
AlickH May 10, 2026
aa72004
feat: bootstrap configured mesh peers
AlickH May 10, 2026
9695edd
chore: checkpoint before running info ipc
AlickH May 10, 2026
cdaa039
fix: serve swift running info over ipc
AlickH May 10, 2026
5d750ad
chore: checkpoint before one way bootstrap routing
AlickH May 10, 2026
27c5b88
fix: route one way configured peers
AlickH May 10, 2026
de32411
chore: checkpoint before route update control
AlickH May 10, 2026
718d95d
feat: apply route update control frames
AlickH May 10, 2026
41dc9d0
chore: checkpoint before stop state cleanup
AlickH May 10, 2026
5d02255
fix: clear mesh state on stop
AlickH May 10, 2026
b807b56
chore: checkpoint before advertised routes
AlickH May 10, 2026
7637306
feat: advertise configured routes
AlickH May 10, 2026
7a01d3a
chore: checkpoint before vpn profile selection
AlickH May 10, 2026
26c9cee
fix: select matching vpn profile
AlickH May 10, 2026
58608dc
chore: checkpoint before disable ipv6 config
AlickH May 10, 2026
2d18cbd
feat: honor disable ipv6 config
AlickH May 10, 2026
1106ebd
chore: checkpoint before p2p flag config
AlickH May 10, 2026
526e331
feat: honor p2p disable flags
AlickH May 10, 2026
926483e
chore: checkpoint before instance name config
AlickH May 10, 2026
0a39fb8
feat: honor instance name config
AlickH May 10, 2026
6033076
chore: checkpoint before endpoint candidate broadcast
AlickH May 10, 2026
a889ae7
feat: broadcast udp endpoint candidates
AlickH May 10, 2026
be34698
chore: checkpoint before mapped listener candidates
AlickH May 10, 2026
555d794
feat: publish mapped udp listener candidates
AlickH May 10, 2026
36e8cbe
chore: checkpoint before exit node routing config
AlickH May 10, 2026
7851dfd
feat: route external traffic through exit nodes
AlickH May 10, 2026
684e78c
chore: checkpoint before exit node receive gating
AlickH May 10, 2026
ab1b147
feat: gate inbound exit node packets
AlickH May 10, 2026
1c4a787
chore: checkpoint before running info listeners
AlickH May 10, 2026
0626fd7
feat: expose listeners in running info
AlickH May 10, 2026
b667009
chore: checkpoint before running info route grouping
AlickH May 10, 2026
6fd896a
feat: group running info proxy routes
AlickH May 10, 2026
598043a
chore: checkpoint before node info ipv6 peer id
AlickH May 10, 2026
1798421
feat: expose node ipv6 and peer id
AlickH May 10, 2026
6d1300a
chore: checkpoint before app node info fields
AlickH May 10, 2026
d7cb98a
feat: decode node ipv6 and peer id
AlickH May 10, 2026
470f268
chore: checkpoint before magic dns responder
AlickH May 10, 2026
653c6b2
feat: answer magic dns queries
AlickH May 10, 2026
5ef9e6f
fix: write magic dns ipv4 checksum
AlickH May 10, 2026
ab11dd5
feat: parse proxy network routes
AlickH May 10, 2026
c258223
feat: honor p2p only routing
AlickH May 10, 2026
dde7074
chore: checkpoint before next swift core parity slice
AlickH May 10, 2026
33ae3d6
feat: return magic dns nxdomain
AlickH May 10, 2026
164bdcf
chore: checkpoint before magic dns soa
AlickH May 10, 2026
d72f8ef
feat: answer magic dns soa queries
AlickH May 10, 2026
e063a37
chore: checkpoint before magic dns ttl
AlickH May 10, 2026
539d1f8
fix: match magic dns a record ttl
AlickH May 10, 2026
9c3a23a
chore: checkpoint before running info tunnel details
AlickH May 10, 2026
e1d6c8c
feat: expose running info tunnel details
AlickH May 10, 2026
e9a20d9
chore: checkpoint before peer version running info
AlickH May 10, 2026
8892bce
feat: publish peer version in running info
AlickH May 10, 2026
778e366
chore: checkpoint before running info traffic stats
AlickH May 10, 2026
deccc7a
feat: expose running info traffic stats
AlickH May 10, 2026
3f2323f
chore: checkpoint before peer latency stats
AlickH May 10, 2026
e3541d0
feat: measure peer latency in running info
AlickH May 10, 2026
00ac80f
chore: checkpoint before ipv6 subnet route matching
AlickH May 10, 2026
a6a3e0e
feat: match ipv6 subnet proxy routes
AlickH May 10, 2026
b9f4a4a
chore: checkpoint before local cidr route matching
AlickH May 10, 2026
892a765
fix: route local cidr addresses to tunnel
AlickH May 10, 2026
ad454ff
chore: checkpoint before cidr host route normalization
AlickH May 10, 2026
98bf1b5
fix: normalize peer cidr host routes
AlickH May 10, 2026
a0e3416
chore: checkpoint before same ipv6 network routing
AlickH May 10, 2026
bf60919
fix: drop unknown same-network ipv6 routes
AlickH May 10, 2026
0199d49
chore: checkpoint before authenticated route updates
AlickH May 10, 2026
8a263fe
fix: require session before route updates
AlickH May 10, 2026
3b595f8
chore: checkpoint before disable p2p candidate handling
AlickH May 10, 2026
c98ef53
chore: checkpoint before frame receiver validation
AlickH May 10, 2026
fd29202
fix: ignore frames for other peers
AlickH May 10, 2026
274a7d8
chore: checkpoint before data frame receiver validation test
AlickH May 10, 2026
48e7710
fix: reject broadcast data frames
AlickH May 10, 2026
69a1030
chore: checkpoint before route prefix specificity
AlickH May 10, 2026
8a48b0a
fix: prefer longest matching subnet route
AlickH May 10, 2026
d3aaca8
chore: checkpoint before unknown session offer handling
AlickH May 10, 2026
bbdafe6
chore: checkpoint before peer ping validation
AlickH May 10, 2026
4861fc0
fix: ignore pings from unknown peers
AlickH May 10, 2026
27ec3b9
chore: checkpoint before route update liveness validation
AlickH May 10, 2026
82318a5
fix: keep route updates from refreshing peer liveness
AlickH May 10, 2026
75bfaa6
chore: checkpoint before running info route ordering
AlickH May 10, 2026
8a511dd
fix: sort running info routes by ipv4
AlickH May 10, 2026
5d0e774
chore: checkpoint before magic dns hostname validation
AlickH May 10, 2026
2d7c0cb
fix: skip invalid magic dns hostnames
AlickH May 10, 2026
9611346
chore: checkpoint before ipv6 link local source routing
AlickH May 10, 2026
0dcf55d
fix: drop foreign ipv6 link local packets
AlickH May 10, 2026
981a956
chore: checkpoint before updating parity checklist
AlickH May 10, 2026
ad82a9e
docs: record swift core parity hardening
AlickH May 10, 2026
3fa45f2
chore: checkpoint before multicast packet forwarding
AlickH May 10, 2026
86dfa86
fix: forward multicast packets to mesh peers
AlickH May 10, 2026
3a8cd03
chore: checkpoint before ipv6 link local destination routing
AlickH May 10, 2026
b924fdb
fix: drop ipv6 link local destinations
AlickH May 10, 2026
fa75a4e
chore: checkpoint before aligning last address routing
AlickH May 10, 2026
77370f4
fix: align network last address fanout
AlickH May 10, 2026
9307c0d
chore: checkpoint before magic dns icmp echo
AlickH May 10, 2026
41b50b3
fix: answer magic dns icmp echo requests
AlickH May 10, 2026
7e5a683
chore: checkpoint before magic dns udp checksum
AlickH May 10, 2026
d068602
fix: compute magic dns udp checksums
AlickH May 10, 2026
bd597e7
chore: checkpoint before swift package core target
AlickH May 10, 2026
7dba09a
build: add swift package core entry point
AlickH May 10, 2026
71f7038
chore: checkpoint before default hostname test
AlickH May 10, 2026
3b3fa56
test: cover stable default mesh hostname
AlickH May 10, 2026
416be46
chore: checkpoint before checklist platform wording
AlickH May 10, 2026
91913fe
docs: align platform verification checklist
AlickH May 10, 2026
2ee4d65
chore: checkpoint before preserving magic dns ipv4 header
AlickH May 10, 2026
ad75aa0
fix: preserve magic dns ipv4 header options
AlickH May 10, 2026
5fe944c
chore: checkpoint before udp bootstrap peer filtering
AlickH May 10, 2026
68c4dfb
fix: skip non udp bootstrap peers
AlickH May 10, 2026
164c4ce
chore: checkpoint before swift default config peers
AlickH May 10, 2026
d6bc8f3
fix: generate swift compatible udp configs
AlickH May 10, 2026
79aa46f
chore: checkpoint before removing incompatible public server mode
AlickH May 10, 2026
e24b2fc
fix: remove incompatible default public server peer
AlickH May 10, 2026
837a78f
chore: checkpoint before hiding unsupported peer mode
AlickH May 10, 2026
08ea43f
fix: hide unsupported public server peer mode
AlickH May 10, 2026
9d3fcb9
chore: checkpoint before config parser sample cleanup
AlickH May 10, 2026
121a076
test: align core config parser fixture with swift core
AlickH May 10, 2026
b046a0e
chore: checkpoint before omitting unsupported generated config
AlickH May 10, 2026
4dafc7b
fix: omit unsupported swift core config output
AlickH May 10, 2026
0849786
chore: checkpoint before unsupported listener validation
AlickH May 10, 2026
38a7a4d
fix: reject unsupported listener-only configs
AlickH May 10, 2026
ba15bfe
chore: checkpoint before unsupported peer validation
AlickH May 10, 2026
bcb4681
fix: reject unsupported peer-only bootstrap configs
AlickH May 10, 2026
6f6f745
chore: checkpoint before peer validation ordering
AlickH May 10, 2026
64db8b9
fix: validate peer schemes before starting transport
AlickH May 10, 2026
32997a8
chore: checkpoint before configuration fixture cleanup
AlickH May 10, 2026
1ca10a1
test: align mesh configuration fixture with swift core
AlickH May 10, 2026
e92d65a
chore: checkpoint before udp config form examples
AlickH May 10, 2026
1b3cf03
fix: align config form endpoint examples
AlickH May 10, 2026
292009a
chore: checkpoint before hiding port forwarding generator
AlickH May 10, 2026
7774b1f
fix: hide unsupported port forwarding generator
AlickH May 10, 2026
6da2836
chore: checkpoint before pruning unsupported advanced options
AlickH May 10, 2026
8cc62ba
fix: hide unsupported advanced config controls
AlickH May 10, 2026
b9ae4c1
chore: checkpoint before removing dead config controls
AlickH May 10, 2026
92aa6da
refactor: remove dead unsupported config controls
AlickH May 10, 2026
60aca36
chore: checkpoint before mesh relay bootstrap
AlickH May 10, 2026
de51c6c
fix: bootstrap mesh over explicit relay transport
AlickH May 10, 2026
3aeec2c
chore: checkpoint before endpoint scheme reporting
AlickH May 10, 2026
f282cfd
fix: preserve running info endpoint schemes
AlickH May 10, 2026
7e3e25a
chore: checkpoint before pruning stale localized strings
AlickH May 10, 2026
48331c4
chore: remove stale rust-only localized strings
AlickH May 10, 2026
14f6cbf
chore: checkpoint before removing dead public server UI branch
AlickH May 10, 2026
5c23229
refactor: remove dead public server config branch
AlickH May 10, 2026
c0390b4
chore: checkpoint before relay endpoint expectation fix
AlickH May 10, 2026
646ba66
test: expect tcp relay bootstrap endpoint scheme
AlickH May 10, 2026
898d30f
chore: checkpoint before removing easytier core patch
AlickH May 10, 2026
bb9bddc
chore: remove easytier core patch workspace
AlickH May 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ UserInterfaceState.xcuserstate
xcuserdata/
DerivedData/
build/
.build/
*.mode1v3
*.mode2v3
*.moved-aside
Expand Down
Binary file removed EasyTier/.DS_Store
Binary file not shown.
275 changes: 0 additions & 275 deletions EasyTier/CliClient.swift

This file was deleted.

Loading