extremecoders-re / go-dispatch-proxy

SOCKS5/Transparent load balancing proxy developed in Go, combines multiple internet connections
MIT License
278 stars 45 forks source link

Provide a statically linked MIPS Binary please! #25

Closed Spamm00r closed 2 years ago

Spamm00r commented 2 years ago

Hi,

this is an awesome tool and solves a big problem. Thanks for this tool. I found it 5 minutes after I was searching for a solution to load balance two socks proxies.

I'm asking you to provide also a static MIPS binary. Unfortunately I lack the linux skill to crosscompile it myself. MIPS is run on many Linux based routers and I'd like to run go-dispatch-proxy on my MIPS based router, which is running 24/7 and is handling all the internet anyway. So it would be handy to have a static MIPS binary on that router without having to run or configure another pc to use this app.

Thanks!

extremecoders-re commented 2 years ago

Cross compiling with go is really easy. Only a working go installation is needed. Go compiles statically by default.

MIPS (big endian)

$ GOOS=linux GOARCH=mips go build -o go-dispatch-proxy.mips

MIPSEL (little endian)

$ GOOS=linux GOARCH=mipsle go build -o go-dispatch-proxy.mipsle

Attached both builds. Compiled in clean environment on GitHub codespaces. But you can always compile yourself by following the steps above.

go-dispatch-proxy-mips-builds.zip

This is just the compiled binaries. Didn't try running though.

Spamm00r commented 2 years ago

Thanks for the binaries,

For the MIPSEL you misspelled it MIPSLE in your compilation command.

Also the MIPS version gives me "Illegal instruction" upon execution on my MIPS router.

extremecoders-re commented 2 years ago

Go refers to little endian mips as mipsle. Hence it is GOARCH=mipsle. Technically mipsel is the same as mipsle.

About the illegal instruction error, perhaps you can upload an executable binary file from your router (/bin, /usr/bin etc) and I can cross-check the architecture the router supports.

Spamm00r commented 2 years ago

Here is a Wake on Lan Binary that works on the router. wol.zip

Here is a site with technical details on the box and its firmware:

https://boxmatrix.info/wiki/FRITZ!Box_7590

extremecoders-re commented 2 years ago

This has been compiled with soft floating point. The earlier build was hard float.

go-dispatch-proxy-softfloat.zip

Spamm00r commented 2 years ago

Yeah that works! It gives me proper response. I will test it in depth in the coming days with an aim to use it as my main load balancer.

Thanks!