From db9c1a6885f12d1c3c685dfdece0878127360878 Mon Sep 17 00:00:00 2001 From: tensorknower69 Date: Mon, 28 Mar 2022 02:22:26 +0800 Subject: [PATCH] impv rdme --- README.md | 83 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index bfd59b4..f20bbe6 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,78 @@ # wireproxy -Wireguard client that exposes itself as a socks5 proxy or tunnels +A wireguard client that exposes itself as a socks5 proxy or tunnels. # What is this -wireproxy is a completely userspace application that connects to a wireguard peer, +`wireproxy` is a completely userspace application that connects to a wireguard peer, and exposes a socks5 proxy or tunnels on the machine. This can be useful if you need -to connect to certain sites via a wireguard peer, but do not want to setup a new network +to connect to certain sites via a wireguard peer, but can't be bothered to setup a new network interface for whatever reasons. # Why you might want this -- You simply want wireguard as a way to proxy some traffic -- You don't want root permission just to change wireguard settings +- You simply want to use wireguard as a way to proxy some traffic. +- You don't want root permission just to change wireguard settings. -Currently I am running wireproxy connected to a wireguard server in another country, -and configured my browser to use wireproxy for certain sites. It is pretty useful since -wireproxy is completely isolated from my network interfaces, also I don't need root to configure +Currently, I'm running wireproxy connected to a wireguard server in another country, +and configured my browser to use wireproxy for certain sites. It's pretty useful since +wireproxy is completely isolated from my network interfaces, and I don't need root to configure anything. # Usage -`./wireproxy [config file path]` +``` +./wireproxy [path to config] +``` # Sample config file ``` -# SelfSecretKey is the secret key of your wireguard peer -# This should be the same as the PrivateKey in your client.conf wireguard setting +# SelfSecretKey is the secret key of your wireguard peer. +# This should be the same as the PrivateKey in your `client.conf` wireguard setting. SelfSecretKey = uCTIK+56CPyCvwJxmU5dBfuyJvPuSXAq1FzHdnIxe1Q= -# SelfEndpoint is the IP of your wireguard peer -SelfEndpoint = 172.16.31.2 -# PeerPublicKey is the public key of the wireguard server you want to connect to -PeerPublicKey = QP+A67Z2UBrMgvNIdHv8gPel5URWNLS4B3ZQ2hQIZlg= -# PeerEndpoint is the endpoint of the wireguard server you want to connect to -PeerEndpoint = 172.16.0.1:53 -# DNS is the nameservers that will be used by wireproxy. -# Multple nameservers can be specified as such: DNS = 1.1.1.1, 1.0.0.1 -DNS = 1.1.1.1 -# KeepAlive is the persistent keep alive interval of the wireguard device -# usually not needed -# KeepAlive = 25 -# PreSharedKey is the pre shared key of your wireguard device -# if you don't know what this is you don't need it -# PreSharedKey = UItQuvLsyh50ucXHfjF0bbR4IIpVBd74lwKc8uIPXXs= -# TCPClientTunnel is a tunnel listening on your machine, and -# forward any TCP traffic received to the specified target via wireguard -# some applications on your LAN -> 127.0.0.1:25565 --wireguard--> play.cubecraft.net:25565 +# SelfEndpoint is the IP of your wireguard peer. +SelfEndpoint = 172.16.31.2 + +# PeerPublicKey is the public key of the wireguard server you want to connect to. +PeerPublicKey = QP+A67Z2UBrMgvNIdHv8gPel5URWNLS4B3ZQ2hQIZlg= + +# PeerEndpoint is the endpoint of the wireguard server you want to connect to. +PeerEndpoint = 172.16.0.1:53 + +# DNS is the list of nameservers that will be used by wireproxy. +# For just a single nameserver: +DNS = 1.1.1.1 +# For multiple nameservers: +#DNS = 1.1.1.1, 1.0.0.1 + +# KeepAlive is the persistent keep alive interval of the wireguard device. +# Usually not needed. +#KeepAlive = 25 + +# PreSharedKey is the pre shared key of your wireguard device +# If you don't know what this is, then you probably don't need it. +#PreSharedKey = UItQuvLsyh50ucXHfjF0bbR4IIpVBd74lwKc8uIPXXs= + +# TCPClientTunnel is a tunnel listening on your machine, +# and it forwards any TCP traffic received to the specified target via wireguard. +# Flow: +# --> localhost:25565 --(wireguard)--> play.cubecraft.net:25565 [TCPClientTunnel] BindAddress = 127.0.0.1:25565 Target = play.cubecraft.net:25565 -# TCPServerTunnel is a tunnel listening on wireguard, and -# forward any TCP traffic received to the specified target via local network -# some applications on your wireguard network --wireguard--> 172.16.31.2:3422 -> localhost:25545 +# TCPServerTunnel is a tunnel listening on wireguard, +# and it forwards any TCP traffic received to the specified target via local network. +# Flow: +# --(wireguard)--> 172.16.31.2:3422 --> localhost:25545 [TCPServerTunnel] ListenPort = 3422 Target = localhost:25545 -# Socks5 create a socks5 proxy on your LAN, and any traffic would be routed via wireguard +# Socks5 creates a socks5 proxy on your LAN, and all traffic would be routed via wireguard. [Socks5] BindAddress = 127.0.0.1:25344 + # Socks5 authentication parameters, specifying username and password enables # proxy authentication. -# Username = username_of_user +#Username = ... # Avoid using spaces in the password field -# Password = password_of_user +#Password = ... ```