proxy wireguard over TCP/TLS
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Travis Burtrum e5a309f66f Add .travis.yml, appveyor.yml adapted from japaric/trust 4ヶ月前
ci Add .travis.yml, appveyor.yml adapted from japaric/trust 3ヶ月前
src Refactor into lib, Implement `udp-test -is` to run full test in the same process 3ヶ月前
.gitignore Initial Commit 4ヶ月前
.travis.yml Add .travis.yml, appveyor.yml adapted from japaric/trust 3ヶ月前
Cargo.lock Initial Commit 4ヶ月前
Cargo.toml Initial Commit 4ヶ月前
LICENSE-APACHE Initial Commit 4ヶ月前
LICENSE-MIT Initial Commit 4ヶ月前
README.md Refactor into lib, Implement `udp-test -is` to run full test in the same process 3ヶ月前
appveyor.yml Add .travis.yml, appveyor.yml adapted from japaric/trust 3ヶ月前
test.sh Re-factor code, send packet length header in TCP, add test 4ヶ月前

README.md

wireguard-proxy

Proxy wireguard UDP packets over TCP/TLS

wireguard-proxyd is a server-side daemon to accept TCP connections from multiple clients and pipe data to and from the specified UDP port
wireguard-proxy is a client-side daemon that accepts UDP packets on a local port from a single client, connects to a single remote TCP port, and pipes data between them

Testing:

udp-test is a utility to send a UDP packet and then receive a UDP packet and ensure they are the same, this verifies packets sent through proxy/proxyd are unmolested
test.sh runs udp-test against itself and then through proxyd/proxy
udp-test -s runs udp-test against itself through proxyd/proxy by spawning actual binaries udp-test -is runs udp-test against itself through proxyd/proxy in same executable by using library, so does not test command line parsing etc

Testing with GNU netcat:

  • nc -vulp 51820 listen on udp like wireguard would
  • nc -u -p 51821 127.0.0.1 51820 connect directly to local udp wireguard port to send data to 51820 from port 51821
  • nc -vlp 5555 listen on tcp like wireguard-proxy would
  • nc 127.0.0.1 5555 connect directly to local tcp wireguard-proxy port to send/recieve data
  • so to test through wireguard-proxy run first and last command while it’s running, type in both places

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in die by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.