Pin meow-rs to 0.21.0 and default to the app extension - #103
Closed
madeye wants to merge 2 commits into
Closed
Conversation
…ider Bump every meow-* git pin from 7d7f830 (0.20.2) to ac3fcd8 (workspace 0.21.0) and keep bridge_version in lockstep so the FFI version test is a real check against the pinned release. Local Debug/Release and MAS already ship TransparentProxy.appex. Docs and deploy scripts now match that: require the appex, prune the Developer ID system-extension product so the two providers cannot share a bundle ID at runtime, start via the autoconnect sentinel (scutil --nc races before the NE config exists), and wait for "meow engine started" instead of the old tun2socks packet_thread marker. Developer ID PKG/DMG still ship the system-extension variant (TN3134).
…ison it `--socks5` resolves the target locally before the CONNECT. After a transparent-proxy run the system resolver can still hold a 28.0.0.0/8 fake-ip (or hang on AAAA), so the engine test timed out while the mixed HTTP path — which hands the hostname to the engine — still returned 204. `--socks5-hostname` matches the HTTP-proxy test and the production mixed listener: the engine does the lookup through its own dns: section.
madeye
commented
Aug 27, 2026
madeye
left a comment
Owner
Author
There was a problem hiding this comment.
Review
Do not merge this PR onto current main.
The kernel pin and several of the code changes have already landed in later PRs, and a three-way merge would regress that work:
| This PR | Already on main |
If merged |
|---|---|---|
Pin meow-rs 0.21.0 at madeye/meow-rs ac3fcd8 |
#106 — 0.21.1 at meow-rs/meow-rs bc38424, plus mux |
Downgrade kernel, switch back to the fork, drop sing-mux |
Restore global selectedNode + applySelectedNode() |
#105 — per-subscription ProxyGroupSelections, selectedNode retired |
Reintroduce the stale-node rewrite that #105 removed |
SOCKS5 tests curl gstatic via --socks5-hostname |
#107 — hermetic LocalHTTPServer + --socks5 + --noproxy |
Lose the offline/IP-literal coverage #107 added |
| Drop controller-secret test helpers | #109 — authenticated /connections polling |
Un-test the TrafficStore auth fix |
Conflicts with main in Cargo.toml / Cargo.lock, VPNManager.swift, ProxyEngineHelper.swift, ProxyEngineIntegrationTests.swift, README.md, and tests/e2e/vm-stress-test.sh.
Unique leftovers (still valuable, not mergeable from this branch)
These bits of the PR are still missing on main and are worth a follow-up — they cannot be taken from this branch without the regressions above:
bridge_versionstill reports"meow-rs 0.20.2"whileCargo.tomlis0.21.1- Local deploy scripts still wait for the Go-era
packet_thread: entering main loopmarker, which meow-rs never logs - Local Debug/Release installs do not prune
Contents/Library/SystemExtensionsor requireTransparentProxy.appex - E2E still assumes a system extension + SIP-off VM (
systemextensionsctl, recovery-mode SIP disable)
Closing as superseded by #105–#109. Follow-up will pick up only those leftovers.
Owner
Author
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
meow-*git dependency toac3fcd8(meow-rs0.21.0) and keepbridge_version/ the FFI version test in lockstep with that workspace version.PlugIns/TransparentProxy.appexas the default provider in docs and local deploy scripts. Debug/Release installs now require the appex, prune the Developer ID system-extension product so the two providers cannot share a bundle ID at runtime, start via the autoconnect sentinel (scutil --ncraces before the NE config exists), and wait formeow engine started.socks5hso leftover fake-ip DNS from a previous tunnel cannot poison--socks5local resolution.Test plan
cargo fmt --all -- --check && cargo clippy --all-targets -- -D warnings && cargo test --libinRust/meow-ffi(23 passed)xcodebuild test … -only-testing:BaoLianDengTests(211 passed, including SOCKS5/HTTP mixed/controller)/Applications/BaoLianDeng.appwithTransparentProxy.appex, enginev0.21.0, two HTTP 200 fetches over the live tunnelmake framework+ Debug/Release app build