erebe / wstunnel

Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI - Static binary available
Other
3.22k stars 290 forks source link

Apple Silicon builds #199

Closed vercas closed 4 months ago

vercas commented 4 months ago

Older versions used to come with macOS ARM builds, new versions don't.
Is there anything blocking these?
On my machine, I can compile the project just fine and it seems to work perfectly.

erebe commented 4 months ago

Hi,

There is no specific blocker, wstunnel can be compiled on ARM Mac. It is just that I haven't managed to cross-compile it with GitHub CI. I had some linker issue when I tried, but to be honest haven't dug too much into it.

I saw another rust project that managed to cross-compile on GitHub CI, I take a look at it and try to provide a Mac ARM binary.

erebe commented 4 months ago

If you have a Mac ARM, would you mind trying the new release and let me know if it is ok ? https://github.com/erebe/wstunnel/releases/tag/v8.4.3

wstunnel_8.4.3_darwin_arm64.tar.gz should be ok on MacOs ARM

vercas commented 4 months ago

It works perfectly, thank you very much. 😃

cattyhouse commented 4 months ago

@erebe @vercas i've been using cargo-zigbuild to cross compile rust project for a long time, it works great, at least for me i can compile linux arm64/amd64 binary on macOS (M1) like this:

cd wstunnel
cargo zigbuild -r --target aarch64-unknown-linux-musl --config ~/.cargo/config.toml
cargo zigbuild -r --target x86_64-unknown-linux-musl --config ~/.cargo/config.toml
# --config is to override the profile.release.debug=1 to debug=0 in your Cargo.toml
cp target/..../wstunnel wstunnel-aarch64-v8.5
cp target/..../wstunnel wstunnel-x86_64-v8.5

and result binary:

wstunnel-aarch64-v8.5: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
wstunnel-x86_64-v8.5:  ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
erebe commented 4 months ago

nice thank you :)