impv rdme

This commit is contained in:
tensorknower69 2022-03-28 02:22:26 +08:00 committed by GitHub
parent 77105e51dc
commit 43a5a5df54

View file

@ -1,65 +1,78 @@
# wireproxy # 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 # 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 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. interface for whatever reasons.
# Why you might want this # Why you might want this
- You simply want wireguard as a way to proxy some traffic - You simply want to use wireguard as a way to proxy some traffic.
- You don't want root permission just to change wireguard settings - You don't want root permission just to change wireguard settings.
Currently I am running wireproxy connected to a wireguard server in another country, Currently, I'm 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 and configured my browser to use wireproxy for certain sites. It's pretty useful since
wireproxy is completely isolated from my network interfaces, also I don't need root to configure wireproxy is completely isolated from my network interfaces, and I don't need root to configure
anything. anything.
# Usage # Usage
`./wireproxy [config file path]` ```
./wireproxy [path to config]
```
# Sample config file # Sample config file
``` ```
# SelfSecretKey is the secret key of your wireguard peer # SelfSecretKey is the secret key of your wireguard peer.
# This should be the same as the PrivateKey in your client.conf wireguard setting # This should be the same as the PrivateKey in your `client.conf` wireguard setting.
SelfSecretKey = uCTIK+56CPyCvwJxmU5dBfuyJvPuSXAq1FzHdnIxe1Q= 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 # SelfEndpoint is the IP of your wireguard peer.
# forward any TCP traffic received to the specified target via wireguard SelfEndpoint = 172.16.31.2
# some applications on your LAN -> 127.0.0.1:25565 --wireguard--> play.cubecraft.net:25565
# 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:
# <an app on your LAN> --> localhost:25565 --(wireguard)--> play.cubecraft.net:25565
[TCPClientTunnel] [TCPClientTunnel]
BindAddress = 127.0.0.1:25565 BindAddress = 127.0.0.1:25565
Target = play.cubecraft.net:25565 Target = play.cubecraft.net:25565
# TCPServerTunnel is a tunnel listening on wireguard, and # TCPServerTunnel is a tunnel listening on wireguard,
# forward any TCP traffic received to the specified target via local network # and it forwards 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 # Flow:
# <an app on your wireguard network> --(wireguard)--> 172.16.31.2:3422 --> localhost:25545
[TCPServerTunnel] [TCPServerTunnel]
ListenPort = 3422 ListenPort = 3422
Target = localhost:25545 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] [Socks5]
BindAddress = 127.0.0.1:25344 BindAddress = 127.0.0.1:25344
# Socks5 authentication parameters, specifying username and password enables # Socks5 authentication parameters, specifying username and password enables
# proxy authentication. # proxy authentication.
# Username = username_of_user #Username = ...
# Avoid using spaces in the password field # Avoid using spaces in the password field
# Password = password_of_user #Password = ...
``` ```