wireproxy icon indicating copy to clipboard operation
wireproxy copied to clipboard

Multi-topic: Usage clarification, SOCKS5 auth, rotation policy feature, relatability to Gost

Open opsoyo opened this issue 3 years ago • 7 comments

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!

opsoyo avatar Mar 27 '22 07:03 opsoyo

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.

whyvl avatar Mar 27 '22 07:03 whyvl

I've also addressed Usage clarification in a new commit, do you have feedback on this?

whyvl avatar Mar 27 '22 17:03 whyvl

I've also addressed Usage clarification in a new commit, do you have feedback on this?

Simple fix works for me 👍 Thanks!

opsoyo avatar Mar 27 '22 21:03 opsoyo

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.

whyvl avatar Apr 02 '22 04:04 whyvl

Before WireProxy. I installed WGCF in alpine docker. And use the gost to create a socks5 proxy for the host machine.

fscarmen avatar Apr 02 '22 05:04 fscarmen

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.

opsoyo avatar Apr 03 '22 05:04 opsoyo

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.

happyharryh avatar May 10 '23 06:05 happyharryh