wgtunnel
moduleThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
README¶
wgtunnel
wgtunnel is a simple WireGuard tunnel server. Clients can register themselvesto the server with a single API request (done periodically in the background incase the server restarts), and then connect to a WireGuard endpoint on theserver over UDP to tunnel.
Generated URLs are unique and are based on the WireGuard public key. Wildcardsfor each tunnel are also semi-supported, using hyphens instead of periods toallow for TLS.
This is used byCoder to create tunnels fortrial/demo deployments with globally accessible URLs.
Deployment
Deploytunneld onto your server and configure it with environment variables orflags. Point the DNS entries${base_url} and*.${base_url} to the server. Ifyou want to use HTTPS, setup a proxy such asCaddyin front of the server.
tunneld is available on GitHub releases or can be installed with:
$ go install github.com/coder/wgtunnel/cmd/tunneldor by runningmake build/tunneld.
You can also use the Docker imageghcr.io/coder/wgtunnel/tunneld.
Usage
Either usetunnel for easy usage from a terminal, or use thetunnelsdkpackage to initiate a tunnel against the given API server URL. Remember tostore the private key for future tunnel sessions in a safe place, otherwise youwill get a new hostname!
tunnel can be installed with:
$ go install github.com/coder/wgtunnel/cmd/tunnelor by runningmake build/tunnel.
License
Licensed under the MIT license.