Multi-topic: Usage clarification, SOCKS5 auth, rotation policy feature, relatability to Gost
Greatly appreciate this project. Many thanks.
I had a few things to note, and I didn't want to clutter up the issues with many entries unnecessarily.
Usage clarification
- [x] "SelfSecretKey" is the only param that I wasn't entirely sure would be where the "PrivateKey" fit. After confirming with the code and successful testing, it became clear. Would it be possible to clear this up in the documentation?
SOCKS Auth
- [x] Straight-forward as title. It would be nice to have authentication protecting the proxy.
Rotation Policy Feature
- [ ] It would be nice to have multiple peer connections and rotation policies (eg. random vs round robin) for those peers.
Gost (out of project scope)
- If you're not already familiar with Gost (https://v2.gost.run/en/), it could use this project a feature for expanded utility. Gost also already has connection rotation policies and auth methods.
Thanks again for building this!
I agree that the documentation can be more fleshed out. I will fix it soon.
Having multiple peers is a nice feature but it's currently at the bottom of my todo list, e.g. UDP tunnel. But I can probably get it done pretty soon hopefully.
I've also addressed Usage clarification in a new commit, do you have feedback on this?
I've also addressed Usage clarification in a new commit, do you have feedback on this?
Simple fix works for me 👍 Thanks!
I've finally gotten around to check out gost. It's possible to use gost + wireproxy by forming a proxy chain using -F socks5://<wireproxy address>.
It's cleaner to directly implement wireguard support in gost, but that is outside the scope of this project, and should be handled by gost contributors. Perhaps I will study gost codebase in the future and make a PR to support wireguard as a transport, but I don't see that happening in the near future.
Before WireProxy. I installed WGCF in alpine docker. And use the gost to create a socks5 proxy for the host machine.
I've finally gotten around to check out gost. It's possible to use gost + wireproxy by forming a proxy chain using
-F socks5://<wireproxy address>.It's cleaner to directly implement wireguard support in gost, but that is outside the scope of this project, and should be handled by gost contributors. Perhaps I will study gost codebase in the future and make a PR to support wireguard as a transport, but I don't see that happening in the near future.
You're on point. I'm looking forwarded to a unified experience, but Gost can compensate for now. Thanks for taking time to check into it.
You can try my branch: https://github.com/happyharryh/gost/tree/wireguard-client
# Build
git clone -b wireguard-client --recursive https://github.com/happyharryh/gost.git
cd gost
git apply wireproxy.patch
go build ./cmd/gost
# Usage (assuming that 1234 is your lucky number)
./gost -L=auto://127.0.0.1:8000 -F=wg://:1234?c=proxy.conf
It can be used only as the client, but not the server.