wireguard-go

command module
v0.0.0-...-2b8e069 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2021 License: MIT Imports: 36 Imported by: 0

README

Inverse's implementation of the wireguard client

How to build Windows client

NOTE: These instructions need to be executed on a Windows computer

First, clone this repo and then run:

.\build_windows.bat
cd windows_installer/
.\build.bat

The first bat command will output the binaries in x86/ and amd64/

The second bat command will output MSI installers in windows_installer/dist/

The build script should pull all dependencies that are required so running this on a bare Windows should work fine.

How to build Linux client

Building on Linux is easy enough, just run:

make

This client isn't packaged in .deb or .rpm yet but the binary doesn't depend on anything and should run fine on any recent kernel.

How to build Mac OS client

NOTE: These instructions need to be executed on a Mac computer

First, clone this repo and then run:

./build_macos.sh
cd macos_installer/
./build.sh

The first command will output the binaries in amd64/ (only architecture currently built for Mac OS)

The second shell command will output a dmg installer in macos_installer/dist/

The build script should pull all the dependencies it needs so running this on a bare Mac OS should work fine.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package conn implements WireGuard's network connections.
Package conn implements WireGuard's network connections.
dns
core
Package core registers the server and all plugins we support.
Package core registers the server and all plugins we support.
core/dnsserver
Package dnsserver implements all the interfaces from Caddy, so that CoreDNS can be a servertype plugin.
Package dnsserver implements all the interfaces from Caddy, so that CoreDNS can be a servertype plugin.
coremain
Package coremain contains the functions for starting CoreDNS.
Package coremain contains the functions for starting CoreDNS.
pb
plugin
Package plugin provides some types and functions common among plugin.
Package plugin provides some types and functions common among plugin.
plugin/auto
Package auto implements an on-the-fly loading file backend.
Package auto implements an on-the-fly loading file backend.
plugin/autopath
Package autopath implements autopathing.
Package autopath implements autopathing.
plugin/bind
Package bind allows binding to a specific interface instead of bind to all of them.
Package bind allows binding to a specific interface instead of bind to all of them.
plugin/bufsize
Package bufsize implements a plugin that modifies EDNS0 buffer size.
Package bufsize implements a plugin that modifies EDNS0 buffer size.
plugin/cache
Package cache implements a cache.
Package cache implements a cache.
plugin/cache/freq
Package freq keeps track of last X seen events.
Package freq keeps track of last X seen events.
plugin/cancel
Package cancel implements a plugin adds a canceling context to each request.
Package cancel implements a plugin adds a canceling context to each request.
plugin/chaos
Package chaos implements a plugin that answer to 'CH version.bind TXT' type queries.
Package chaos implements a plugin that answer to 'CH version.bind TXT' type queries.
plugin/clouddns
Package clouddns implements a plugin that returns resource records from GCP Cloud DNS.
Package clouddns implements a plugin that returns resource records from GCP Cloud DNS.
plugin/deprecated
Package deprecated is used when we deprecated plugin.
Package deprecated is used when we deprecated plugin.
plugin/dns64
Package dns64 implements a plugin that performs DNS64.
Package dns64 implements a plugin that performs DNS64.
plugin/dnssec
Package dnssec implements a plugin that signs responses on-the-fly using NSEC black lies.
Package dnssec implements a plugin that signs responses on-the-fly using NSEC black lies.
plugin/erratic
Package erratic implements a plugin that returns erratic answers (delayed, dropped).
Package erratic implements a plugin that returns erratic answers (delayed, dropped).
plugin/errors
Package errors implements an error handling plugin.
Package errors implements an error handling plugin.
plugin/etcd
Package etcd provides the etcd version 3 backend plugin.
Package etcd provides the etcd version 3 backend plugin.
plugin/etcd/msg
Package msg defines the Service structure which is used for service discovery.
Package msg defines the Service structure which is used for service discovery.
plugin/file
Package file implements a file backend.
Package file implements a file backend.
plugin/file/rrutil
Package rrutil provides function to find certain RRs in slices.
Package rrutil provides function to find certain RRs in slices.
plugin/file/tree
Package tree implements Left-Leaning Red Black trees as described by Robert Sedgewick.
Package tree implements Left-Leaning Red Black trees as described by Robert Sedgewick.
plugin/forward
Package forward implements a forwarding proxy.
Package forward implements a forwarding proxy.
plugin/health
Package health implements an HTTP handler that responds to health checks.
Package health implements an HTTP handler that responds to health checks.
plugin/k8s_external
Package external implements external names for kubernetes clusters.
Package external implements external names for kubernetes clusters.
plugin/kubernetes
Package kubernetes provides the kubernetes backend.
Package kubernetes provides the kubernetes backend.
plugin/kubernetes/object
Package object holds functions that convert the objects from the k8s API in to a more memory efficient structures.
Package object holds functions that convert the objects from the k8s API in to a more memory efficient structures.
plugin/loadbalance
Package loadbalance is a plugin for rewriting responses to do "load balancing" Package loadbalance shuffles A, AAAA and MX records.
Package loadbalance is a plugin for rewriting responses to do "load balancing" Package loadbalance shuffles A, AAAA and MX records.
plugin/log
Package log implements basic but useful request (access) logging plugin.
Package log implements basic but useful request (access) logging plugin.
plugin/metadata
Package metadata provides an API that allows plugins to add metadata to the context.
Package metadata provides an API that allows plugins to add metadata to the context.
plugin/metrics
Package metrics implement a handler and plugin that provides Prometheus metrics.
Package metrics implement a handler and plugin that provides Prometheus metrics.
plugin/nsid
Package nsid implements NSID protocol
Package nsid implements NSID protocol
plugin/pkg/cache
Package cache implements a cache.
Package cache implements a cache.
plugin/pkg/dnstest
Package dnstest allows for easy testing of DNS client against a test server.
Package dnstest allows for easy testing of DNS client against a test server.
plugin/pkg/dnsutil
Package dnsutil contains DNS related helper functions.
Package dnsutil contains DNS related helper functions.
plugin/pkg/edns
Package edns provides function useful for adding/inspecting OPT records to/in messages.
Package edns provides function useful for adding/inspecting OPT records to/in messages.
plugin/pkg/fall
Package fall handles the fallthrough logic used in plugins that support it.
Package fall handles the fallthrough logic used in plugins that support it.
plugin/pkg/fuzz
Package fuzz contains functions that enable fuzzing of plugins.
Package fuzz contains functions that enable fuzzing of plugins.
plugin/pkg/log
Package log implements a small wrapper around the std lib log package.
Package log implements a small wrapper around the std lib log package.
plugin/pkg/nonwriter
Package nonwriter implements a dns.ResponseWriter that never writes, but captures the dns.Msg being written.
Package nonwriter implements a dns.ResponseWriter that never writes, but captures the dns.Msg being written.
plugin/pkg/parse
Package parse contains functions that can be used in the setup code for plugins.
Package parse contains functions that can be used in the setup code for plugins.
plugin/pkg/singleflight
Package singleflight provides a duplicate function call suppression mechanism.
Package singleflight provides a duplicate function call suppression mechanism.
plugin/pkg/uniq
Package uniq keeps track of "thing" that are either "todo" or "done".
Package uniq keeps track of "thing" that are either "todo" or "done".
plugin/pkg/up
Package up is used to run a function for some duration.
Package up is used to run a function for some duration.
plugin/pkg/upstream
Package upstream abstracts a upstream lookups so that plugins can handle them in an unified way.
Package upstream abstracts a upstream lookups so that plugins can handle them in an unified way.
plugin/pprof
Package pprof implements a debug endpoint for getting profiles using the go pprof tooling.
Package pprof implements a debug endpoint for getting profiles using the go pprof tooling.
plugin/ready
Package ready is used to signal readiness of the CoreDNS process.
Package ready is used to signal readiness of the CoreDNS process.
plugin/reload
Package reload periodically checks if the Corefile has changed, and reloads if so.
Package reload periodically checks if the Corefile has changed, and reloads if so.
plugin/rewrite
Package rewrite is a plugin for rewriting requests internally to something different.
Package rewrite is a plugin for rewriting requests internally to something different.
plugin/route53
Package route53 implements a plugin that returns resource records from AWS route53.
Package route53 implements a plugin that returns resource records from AWS route53.
plugin/secondary
Package secondary implements a secondary plugin.
Package secondary implements a secondary plugin.
plugin/sign
Package sign implements a zone signer as a plugin.
Package sign implements a zone signer as a plugin.
plugin/test
Package test contains helper functions for writing plugin tests.
Package test contains helper functions for writing plugin tests.
plugin/trace
Package trace implements OpenTracing-based tracing
Package trace implements OpenTracing-based tracing
plugin/whoami
Package whoami implements a plugin that returns details about the resolving querying it.
Package whoami implements a plugin that returns details about the resolving querying it.
request
Package request abstracts a client's request so that all plugins will handle them in an unified way.
Package request abstracts a client's request so that all plugins will handle them in an unified way.
test
Package test contains function and types useful for writing tests.
Package test contains function and types useful for writing tests.
examples
ipc
Package rwcancel implements cancelable read/write operations on a file descriptor.
Package rwcancel implements cancelable read/write operations on a file descriptor.
tun

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL