| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
What Apple and I both share after this is done
A transparent interface level proxy for TCP packets. This project is designed to work around the loopback limitations on iOS.
em_proxy acts as a local WireGuard server listening on loopback (127.0.0.1) that performs packet source/destination address swapping.
It leverages Cloudflare's boringtun userspace WireGuard implementation to understand WireGuard encryption, decrypting incoming UDP packets from the WireGuard VPN app and rewriting IP headers so packets appear from a non-self origin address, acting as a proxy server for loopback relay.
Building em_proxy locally requires:
Install the required Apple compilation targets:
rustup target add aarch64-apple-ios
rustup target add aarch64-apple-ios-sim
rustup target add aarch64-apple-darwinGenerate the Apple XCFramework (libs/EMProxy.xcframework):
just xcframeworkOr build individual target static libraries using cargo:
cargo build --release --target aarch64-apple-iosPushes to branches (develop, main, master), pull requests, and tag pushes all trigger GitHub Actions CI to build and verify EMProxy.xcframework.zip.
Only pushing a version tag matching v*.*.* will generate and publish a GitHub Release with EMProxy.xcframework.zip, ready for use in Swift Package Manager via .binaryTarget:
.binaryTarget(
name: "EMProxyFFI",
url: "https://github.com/SideStore/em_proxy/releases/download/v0.1.0/EMProxy.xcframework.zip",
checksum: "<sha256-checksum>"
)To publish a release:
git tag v0.1.0
git push origin v0.1.0Note: Updating or force-pushing tags is only allowed for the latest release. Correcting or updating tags for any releases prior to the last release is disallowed and will trigger a build error.
| Back | FazBrowse Home | New Git URL |