diff --git a/.gitignore b/.gitignore index 71549f4..c6bbd9c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -wireguard-go \ No newline at end of file +amneziawg-go \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index a0d63da..cbf05b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,13 +8,13 @@ RUN go mod download && \ FROM alpine:3.15 as awg-tools ARG AWGTOOLS_RELEASE="1.0.20231215" RUN apk --no-cache add linux-headers build-base bash && \ - wget https://github.com/amnezia-vpn/amnezia-wg-tools/archive/refs/tags/v${AWGTOOLS_RELEASE}.zip && \ + wget https://github.com/amnezia-vpn/amneziawg-tools/archive/refs/tags/v${AWGTOOLS_RELEASE}.zip && \ unzip v${AWGTOOLS_RELEASE}.zip && \ - cd amnezia-wg-tools-${AWGTOOLS_RELEASE}/src && \ + cd amneziawg-tools-${AWGTOOLS_RELEASE}/src && \ make -e LDFLAGS=-static && \ make install FROM alpine:3.15 RUN apk --no-cache add iproute2 bash -COPY --from=awg /usr/bin/amnezia-wg /usr/bin/wireguard-go -COPY --from=awg-tools /usr/bin/wg /usr/bin/wg-quick /usr/bin/ +COPY --from=awg /usr/bin/amneziawg-go /usr/bin/amneziawg-go +COPY --from=awg-tools /usr/bin/awg /usr/bin/awg-quick /usr/bin/ diff --git a/Makefile b/Makefile index 3f6e407..4087cba 100644 --- a/Makefile +++ b/Makefile @@ -14,18 +14,18 @@ generate-version-and-build: [ "$$(cat version.go 2>/dev/null)" != "$$ver" ] && \ echo "$$ver" > version.go && \ git update-index --assume-unchanged version.go || true - @$(MAKE) wireguard-go + @$(MAKE) amneziawg-go -wireguard-go: $(wildcard *.go) $(wildcard */*.go) +amneziawg-go: $(wildcard *.go) $(wildcard */*.go) go build -v -o "$@" -install: wireguard-go - @install -v -d "$(DESTDIR)$(BINDIR)" && install -v -m 0755 "$<" "$(DESTDIR)$(BINDIR)/wireguard-go" +install: amneziawg-go + @install -v -d "$(DESTDIR)$(BINDIR)" && install -v -m 0755 "$<" "$(DESTDIR)$(BINDIR)/amneziawg-go" test: go test ./... clean: - rm -f wireguard-go + rm -f amneziawg-go .PHONY: all clean test install generate-version-and-build diff --git a/README.md b/README.md index 717c4c5..ab6f62b 100644 --- a/README.md +++ b/README.md @@ -11,17 +11,17 @@ As a result, AmneziaWG maintains high performance while adding an extra layer of Simply run: ``` -$ amnezia-wg wg0 +$ amneziawg-go wg0 ``` -This will create an interface and fork into the background. To remove the interface, use the usual `ip link del wg0`, or if your system does not support removing interfaces directly, you may instead remove the control socket via `rm -f /var/run/wireguard/wg0.sock`, which will result in wireguard-go shutting down. +This will create an interface and fork into the background. To remove the interface, use the usual `ip link del wg0`, or if your system does not support removing interfaces directly, you may instead remove the control socket via `rm -f /var/run/amneziawg/wg0.sock`, which will result in amneziawg-go shutting down. -To run amnezia-wg without forking to the background, pass `-f` or `--foreground`: +To run amneziawg-go without forking to the background, pass `-f` or `--foreground`: ``` -$ amnezia-wg -f wg0 +$ amneziawg-go -f wg0 ``` -When an interface is running, you may use [`amnezia-wg-tools `](https://github.com/amnezia-vpn/amnezia-wg-tools) to configure it, as well as the usual `ip(8)` and `ifconfig(8)` commands. +When an interface is running, you may use [`amnezia-wg-tools `](https://github.com/amnezia-vpn/amneziawg-go-tools) to configure it, as well as the usual `ip(8)` and `ifconfig(8)` commands. To run with more logging you may set the environment variable `LOG_LEVEL=debug`. @@ -46,7 +46,7 @@ This runs on Windows, you should use it from [awg-windows](https://github.com/am This requires an installation of the latest version of [Go](https://go.dev/). ``` -$ git clone https://github.com/amnezia-vpn/amnezia-wg -$ cd amnezia-wg +$ git clone https://github.com/amnezia-vpn/amneziawg-go +$ cd amneziawg-go $ make ``` diff --git a/conn/bind_windows.go b/conn/bind_windows.go index 9bad0ee..6cfa099 100644 --- a/conn/bind_windows.go +++ b/conn/bind_windows.go @@ -17,7 +17,7 @@ import ( "golang.org/x/sys/windows" - "github.com/amnezia-vpn/amnezia-wg/conn/winrio" + "github.com/amnezia-vpn/amneziawg-go/conn/winrio" ) const ( diff --git a/conn/bindtest/bindtest.go b/conn/bindtest/bindtest.go index 713c371..42b0bb7 100644 --- a/conn/bindtest/bindtest.go +++ b/conn/bindtest/bindtest.go @@ -12,7 +12,7 @@ import ( "net/netip" "os" - "github.com/amnezia-vpn/amnezia-wg/conn" + "github.com/amnezia-vpn/amneziawg-go/conn" ) type ChannelBind struct { diff --git a/device/bind_test.go b/device/bind_test.go index eae36c2..34d1c4a 100644 --- a/device/bind_test.go +++ b/device/bind_test.go @@ -8,7 +8,7 @@ package device import ( "errors" - "github.com/amnezia-vpn/amnezia-wg/conn" + "github.com/amnezia-vpn/amneziawg-go/conn" ) type DummyDatagram struct { diff --git a/device/device.go b/device/device.go index eded424..a9d6281 100644 --- a/device/device.go +++ b/device/device.go @@ -11,11 +11,11 @@ import ( "sync/atomic" "time" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/ipc" - "github.com/amnezia-vpn/amnezia-wg/ratelimiter" - "github.com/amnezia-vpn/amnezia-wg/rwcancel" - "github.com/amnezia-vpn/amnezia-wg/tun" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/ipc" + "github.com/amnezia-vpn/amneziawg-go/ratelimiter" + "github.com/amnezia-vpn/amneziawg-go/rwcancel" + "github.com/amnezia-vpn/amneziawg-go/tun" "github.com/tevino/abool/v2" ) diff --git a/device/device_test.go b/device/device_test.go index afa1dc3..e6664a6 100644 --- a/device/device_test.go +++ b/device/device_test.go @@ -20,10 +20,10 @@ import ( "testing" "time" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/conn/bindtest" - "github.com/amnezia-vpn/amnezia-wg/tun" - "github.com/amnezia-vpn/amnezia-wg/tun/tuntest" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/conn/bindtest" + "github.com/amnezia-vpn/amneziawg-go/tun" + "github.com/amnezia-vpn/amneziawg-go/tun/tuntest" ) // uapiCfg returns a string that contains cfg formatted use with IpcSet. @@ -237,7 +237,7 @@ func genTestPair( if _, ok := tb.(*testing.B); ok && !testing.Verbose() { level = LogLevelError } - p.dev = NewDevice(p.tun.TUN(),binds[i],NewLogger(level, fmt.Sprintf("dev%d: ", i))) + p.dev = NewDevice(p.tun.TUN(), binds[i], NewLogger(level, fmt.Sprintf("dev%d: ", i))) if err := p.dev.IpcSet(cfg[i]); err != nil { tb.Errorf("failed to configure device %d: %v", i, err) p.dev.Close() @@ -294,7 +294,7 @@ func TestUpDown(t *testing.T) { pair := genTestPair(t, false, false) for i := range pair { for k := range pair[i].dev.peers.keyMap { - pair[i].dev.IpcSet(fmt.Sprintf("public_key=%s\npersistent_keepalive_interval=1\n",hex.EncodeToString(k[:]))) + pair[i].dev.IpcSet(fmt.Sprintf("public_key=%s\npersistent_keepalive_interval=1\n", hex.EncodeToString(k[:]))) } } var wg sync.WaitGroup @@ -513,7 +513,7 @@ func (b *fakeBindSized) Open( func (b *fakeBindSized) Close() error { return nil } -func (b *fakeBindSized) SetMark(mark uint32) error {return nil } +func (b *fakeBindSized) SetMark(mark uint32) error { return nil } func (b *fakeBindSized) Send(bufs [][]byte, ep conn.Endpoint) error { return nil } @@ -527,7 +527,9 @@ type fakeTUNDeviceSized struct { func (t *fakeTUNDeviceSized) File() *os.File { return nil } -func (t *fakeTUNDeviceSized) Read(bufs [][]byte, sizes []int, offset int) (n int, err error) { return 0, nil } +func (t *fakeTUNDeviceSized) Read(bufs [][]byte, sizes []int, offset int) (n int, err error) { + return 0, nil +} func (t *fakeTUNDeviceSized) Write(bufs [][]byte, offset int) (int, error) { return 0, nil } diff --git a/device/keypair.go b/device/keypair.go index 73e69af..cc2941a 100644 --- a/device/keypair.go +++ b/device/keypair.go @@ -11,7 +11,7 @@ import ( "sync/atomic" "time" - "github.com/amnezia-vpn/amnezia-wg/replay" + "github.com/amnezia-vpn/amneziawg-go/replay" ) /* Due to limitations in Go and /x/crypto there is currently diff --git a/device/noise-protocol.go b/device/noise-protocol.go index 75c1d87..1289249 100644 --- a/device/noise-protocol.go +++ b/device/noise-protocol.go @@ -15,7 +15,7 @@ import ( "golang.org/x/crypto/chacha20poly1305" "golang.org/x/crypto/poly1305" - "github.com/amnezia-vpn/amnezia-wg/tai64n" + "github.com/amnezia-vpn/amneziawg-go/tai64n" ) type handshakeState int diff --git a/device/noise_test.go b/device/noise_test.go index 2363365..075b6d3 100644 --- a/device/noise_test.go +++ b/device/noise_test.go @@ -10,8 +10,8 @@ import ( "encoding/binary" "testing" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/tun/tuntest" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/tun/tuntest" ) func TestCurveWrappers(t *testing.T) { diff --git a/device/peer.go b/device/peer.go index 98bc0ec..5bc8ca4 100644 --- a/device/peer.go +++ b/device/peer.go @@ -12,7 +12,7 @@ import ( "sync/atomic" "time" - "github.com/amnezia-vpn/amnezia-wg/conn" + "github.com/amnezia-vpn/amneziawg-go/conn" ) type Peer struct { diff --git a/device/queueconstants_android.go b/device/queueconstants_android.go index d29dbc8..1bff95a 100644 --- a/device/queueconstants_android.go +++ b/device/queueconstants_android.go @@ -5,7 +5,7 @@ package device -import "github.com/amnezia-vpn/amnezia-wg/conn" +import "github.com/amnezia-vpn/amneziawg-go/conn" /* Reduce memory consumption for Android */ diff --git a/device/queueconstants_default.go b/device/queueconstants_default.go index 4ee2966..0061b63 100644 --- a/device/queueconstants_default.go +++ b/device/queueconstants_default.go @@ -7,7 +7,7 @@ package device -import "github.com/amnezia-vpn/amnezia-wg/conn" +import "github.com/amnezia-vpn/amneziawg-go/conn" const ( QueueStagedSize = conn.IdealBatchSize diff --git a/device/receive.go b/device/receive.go index 06d092e..66c1a32 100644 --- a/device/receive.go +++ b/device/receive.go @@ -13,7 +13,7 @@ import ( "sync" "time" - "github.com/amnezia-vpn/amnezia-wg/conn" + "github.com/amnezia-vpn/amneziawg-go/conn" "golang.org/x/crypto/chacha20poly1305" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" @@ -145,7 +145,7 @@ func (device *Device) RoutineReceiveIncoming( junkSize := msgTypeToJunkSize[assumedMsgType] // transport size can align with other header types; // making sure we have the right msgType - msgType = binary.LittleEndian.Uint32(packet[junkSize:junkSize+4]) + msgType = binary.LittleEndian.Uint32(packet[junkSize : junkSize+4]) if msgType == assumedMsgType { packet = packet[junkSize:] } else { diff --git a/device/send.go b/device/send.go index db4e1a1..1b4406d 100644 --- a/device/send.go +++ b/device/send.go @@ -15,8 +15,8 @@ import ( "sync" "time" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/tun" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/tun" "golang.org/x/crypto/chacha20poly1305" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" diff --git a/device/sticky_default.go b/device/sticky_default.go index 940702c..da776e8 100644 --- a/device/sticky_default.go +++ b/device/sticky_default.go @@ -3,8 +3,8 @@ package device import ( - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/rwcancel" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/rwcancel" ) func (device *Device) startRouteListener(bind conn.Bind) (*rwcancel.RWCancel, error) { diff --git a/device/sticky_linux.go b/device/sticky_linux.go index 070986c..63164a7 100644 --- a/device/sticky_linux.go +++ b/device/sticky_linux.go @@ -20,8 +20,8 @@ import ( "golang.org/x/sys/unix" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/rwcancel" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/rwcancel" ) func (device *Device) startRouteListener(bind conn.Bind) (*rwcancel.RWCancel, error) { diff --git a/device/tun.go b/device/tun.go index efc543d..600a5e5 100644 --- a/device/tun.go +++ b/device/tun.go @@ -8,7 +8,7 @@ package device import ( "fmt" - "github.com/amnezia-vpn/amnezia-wg/tun" + "github.com/amnezia-vpn/amneziawg-go/tun" ) const DefaultMTU = 1420 diff --git a/device/uapi.go b/device/uapi.go index 02a9fb7..777bdda 100644 --- a/device/uapi.go +++ b/device/uapi.go @@ -18,7 +18,7 @@ import ( "sync" "time" - "github.com/amnezia-vpn/amnezia-wg/ipc" + "github.com/amnezia-vpn/amneziawg-go/ipc" ) type IPCError struct { diff --git a/go.mod b/go.mod index 97cba1c..2df4282 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/amnezia-vpn/amnezia-wg +module github.com/amnezia-vpn/amneziawg-go go 1.20 diff --git a/ipc/namedpipe/namedpipe_test.go b/ipc/namedpipe/namedpipe_test.go index d4799e1..9f9cd6a 100644 --- a/ipc/namedpipe/namedpipe_test.go +++ b/ipc/namedpipe/namedpipe_test.go @@ -20,7 +20,7 @@ import ( "testing" "time" - "github.com/amnezia-vpn/amnezia-wg/ipc/namedpipe" + "github.com/amnezia-vpn/amneziawg-go/ipc/namedpipe" "golang.org/x/sys/windows" ) diff --git a/ipc/uapi_linux.go b/ipc/uapi_linux.go index 721c404..9738aea 100644 --- a/ipc/uapi_linux.go +++ b/ipc/uapi_linux.go @@ -9,7 +9,7 @@ import ( "net" "os" - "github.com/amnezia-vpn/amnezia-wg/rwcancel" + "github.com/amnezia-vpn/amneziawg-go/rwcancel" "golang.org/x/sys/unix" ) diff --git a/ipc/uapi_unix.go b/ipc/uapi_unix.go index e67be26..0da452a 100644 --- a/ipc/uapi_unix.go +++ b/ipc/uapi_unix.go @@ -26,7 +26,7 @@ const ( // socketDirectory is variable because it is modified by a linker // flag in wireguard-android. -var socketDirectory = "/var/run/wireguard" +var socketDirectory = "/var/run/amneziawg" func sockPath(iface string) string { return fmt.Sprintf("%s/%s.sock", socketDirectory, iface) diff --git a/ipc/uapi_windows.go b/ipc/uapi_windows.go index 97a4123..bfe7965 100644 --- a/ipc/uapi_windows.go +++ b/ipc/uapi_windows.go @@ -8,7 +8,7 @@ package ipc import ( "net" - "github.com/amnezia-vpn/amnezia-wg/ipc/namedpipe" + "github.com/amnezia-vpn/amneziawg-go/ipc/namedpipe" "golang.org/x/sys/windows" ) diff --git a/main.go b/main.go index ea7ef4e..775372c 100644 --- a/main.go +++ b/main.go @@ -14,10 +14,10 @@ import ( "runtime" "strconv" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/device" - "github.com/amnezia-vpn/amnezia-wg/ipc" - "github.com/amnezia-vpn/amnezia-wg/tun" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/device" + "github.com/amnezia-vpn/amneziawg-go/ipc" + "github.com/amnezia-vpn/amneziawg-go/tun" "golang.org/x/sys/unix" ) diff --git a/main_windows.go b/main_windows.go index d00b146..807f6e2 100644 --- a/main_windows.go +++ b/main_windows.go @@ -12,11 +12,11 @@ import ( "golang.org/x/sys/windows" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/device" - "github.com/amnezia-vpn/amnezia-wg/ipc" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/device" + "github.com/amnezia-vpn/amneziawg-go/ipc" - "github.com/amnezia-vpn/amnezia-wg/tun" + "github.com/amnezia-vpn/amneziawg-go/tun" ) const ( diff --git a/tun/netstack/examples/http_client.go b/tun/netstack/examples/http_client.go index ed40904..4c4ea12 100644 --- a/tun/netstack/examples/http_client.go +++ b/tun/netstack/examples/http_client.go @@ -13,9 +13,9 @@ import ( "net/http" "net/netip" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/device" - "github.com/amnezia-vpn/amnezia-wg/tun/netstack" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/device" + "github.com/amnezia-vpn/amneziawg-go/tun/netstack" ) func main() { diff --git a/tun/netstack/examples/http_server.go b/tun/netstack/examples/http_server.go index d5e7094..09929e0 100644 --- a/tun/netstack/examples/http_server.go +++ b/tun/netstack/examples/http_server.go @@ -14,9 +14,9 @@ import ( "net/http" "net/netip" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/device" - "github.com/amnezia-vpn/amnezia-wg/tun/netstack" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/device" + "github.com/amnezia-vpn/amneziawg-go/tun/netstack" ) func main() { diff --git a/tun/netstack/examples/ping_client.go b/tun/netstack/examples/ping_client.go index 9f917db..d7897b2 100644 --- a/tun/netstack/examples/ping_client.go +++ b/tun/netstack/examples/ping_client.go @@ -17,9 +17,9 @@ import ( "golang.org/x/net/icmp" "golang.org/x/net/ipv4" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/device" - "github.com/amnezia-vpn/amnezia-wg/tun/netstack" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/device" + "github.com/amnezia-vpn/amneziawg-go/tun/netstack" ) func main() { diff --git a/tun/netstack/tun.go b/tun/netstack/tun.go index b5e6145..2275173 100644 --- a/tun/netstack/tun.go +++ b/tun/netstack/tun.go @@ -22,7 +22,7 @@ import ( "syscall" "time" - "github.com/amnezia-vpn/amnezia-wg/tun" + "github.com/amnezia-vpn/amneziawg-go/tun" "golang.org/x/net/dns/dnsmessage" "gvisor.dev/gvisor/pkg/buffer" diff --git a/tun/offload_linux.go b/tun/offload_linux.go index 551f14d..89cf024 100644 --- a/tun/offload_linux.go +++ b/tun/offload_linux.go @@ -12,7 +12,7 @@ import ( "io" "unsafe" - "github.com/amnezia-vpn/amnezia-wg/conn" + "github.com/amnezia-vpn/amneziawg-go/conn" "golang.org/x/sys/unix" ) diff --git a/tun/offload_linux_test.go b/tun/offload_linux_test.go index 71dfba3..a68cd98 100644 --- a/tun/offload_linux_test.go +++ b/tun/offload_linux_test.go @@ -9,7 +9,7 @@ import ( "net/netip" "testing" - "github.com/amnezia-vpn/amnezia-wg/conn" + "github.com/amnezia-vpn/amneziawg-go/conn" "golang.org/x/sys/unix" "gvisor.dev/gvisor/pkg/tcpip" "gvisor.dev/gvisor/pkg/tcpip/header" diff --git a/tun/tun_linux.go b/tun/tun_linux.go index d57b167..011e56a 100644 --- a/tun/tun_linux.go +++ b/tun/tun_linux.go @@ -17,8 +17,8 @@ import ( "time" "unsafe" - "github.com/amnezia-vpn/amnezia-wg/conn" - "github.com/amnezia-vpn/amnezia-wg/rwcancel" + "github.com/amnezia-vpn/amneziawg-go/conn" + "github.com/amnezia-vpn/amneziawg-go/rwcancel" "golang.org/x/sys/unix" ) diff --git a/tun/tuntest/tuntest.go b/tun/tuntest/tuntest.go index 7068d9b..f620e0a 100644 --- a/tun/tuntest/tuntest.go +++ b/tun/tuntest/tuntest.go @@ -11,7 +11,7 @@ import ( "net/netip" "os" - "github.com/amnezia-vpn/amnezia-wg/tun" + "github.com/amnezia-vpn/amneziawg-go/tun" ) func Ping(dst, src netip.Addr) []byte {