change module to euphoria

This commit is contained in:
Mark Puha
2025-02-24 08:53:46 +01:00
parent b07f433ae0
commit bd94d8c055
28 changed files with 84 additions and 86 deletions

View File

@@ -1,4 +1,4 @@
# Embeddable WireGuard Tunnel Library
# Embeddable Euphoria Tunnel Library
A simple yet effective way of leveraging the existing WireGuard codebase.
This is more or less the same thing as the
@@ -36,4 +36,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
```
```

View File

@@ -11,12 +11,12 @@ import (
"net"
"sort"
"github.com/amnezia-vpn/amneziawg-go/tun"
"github.com/amnezia-vpn/euphoria/tun"
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/firewall"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/tunnel/firewall"
"github.com/amnezia-vpn/euphoria-windows/tunnel/winipcfg"
)
func cleanupAddressesOnDisconnectedInterfaces(family winipcfg.AddressFamily, addresses []net.IPNet) {

View File

@@ -13,7 +13,7 @@ if exist .deps\prepared goto :build
rmdir /s /q .deps 2> NUL
mkdir .deps || goto :error
cd .deps || goto :error
call :download go.zip https://go.dev/dl/go1.23.0.windows-amd64.zip d4be481ef73079ee0ad46081d278923aa3fd78db1b3cf147172592f73e14c1ac || goto :error
call :download go.zip https://go.dev/dl/go1.24.0.windows-amd64.zip 96b7280979205813759ee6947be7e3bb497da85c482711116c00522e3bb41ff1 || goto :error
rem Mirror of https://github.com/mstorsjo/llvm-mingw/releases/download/20201020/llvm-mingw-20201020-msvcrt-x86_64.zip
call :download llvm-mingw-msvcrt.zip https://download.wireguard.com/windows-toolchain/distfiles/llvm-mingw-20201020-msvcrt-x86_64.zip 2e46593245090df96d15e360e092f0b62b97e93866e0162dca7f93b16722b844 || goto :error
call :download wintun.zip https://www.wintun.net/builds/wintun-0.14.1.zip 07c256185d6ee3652e09fa55c0b673e2624b565e02c4b9091c79ca7d2f24ef51 || goto :error

View File

@@ -7,7 +7,7 @@ package conf
import "golang.org/x/sys/windows/registry"
const adminRegKey = `Software\AmneziaWG`
const adminRegKey = `Software\Euphoria`
var adminKey registry.Key

View File

@@ -17,7 +17,7 @@ import (
"golang.org/x/crypto/curve25519"
"github.com/amnezia-vpn/amneziawg-windows/l18n"
"github.com/amnezia-vpn/euphoria-windows/l18n"
)
const KeyLength = 32

View File

@@ -19,7 +19,7 @@ import (
"golang.org/x/text/encoding/unicode"
"github.com/amnezia-vpn/amneziawg-windows/l18n"
"github.com/amnezia-vpn/euphoria-windows/l18n"
)
type ParseError struct {

View File

@@ -36,7 +36,7 @@ func tunnelConfigurationsDirectory() (string, error) {
}
// PresetRootDirectory causes RootDirectory() to not try any automatic deduction, and instead
// uses what's passed to it. This isn't used by amneziawg-windows, but is useful for external
// uses what's passed to it. This isn't used by euphoria-windows, but is useful for external
// consumers of our libraries who might want to do strange things.
func PresetRootDirectory(root string) {
cachedRootDir = root
@@ -50,7 +50,7 @@ func RootDirectory(create bool) (string, error) {
if err != nil {
return "", err
}
root = filepath.Join(root, "AmneziaWG")
root = filepath.Join(root, "Euphoria")
if !create {
return filepath.Join(root, "Data"), nil
}

View File

@@ -11,7 +11,7 @@ import (
"path/filepath"
"strings"
"github.com/amnezia-vpn/amneziawg-windows/conf/dpapi"
"github.com/amnezia-vpn/euphoria-windows/conf/dpapi"
)
const configFileSuffix = ".conf.dpapi"

View File

@@ -15,7 +15,7 @@ import (
"golang.org/x/sys/windows"
"golang.org/x/text/unicode/norm"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
const deterministicGUIDLabel = "Deterministic WireGuard Windows GUID v1 jason@zx2c4.com"

View File

@@ -14,7 +14,7 @@ import (
"golang.org/x/sys/windows"
"golang.org/x/sys/windows/registry"
"github.com/amnezia-vpn/amneziawg-windows/version"
"github.com/amnezia-vpn/euphoria-windows/version"
)
const (

10
go.mod
View File

@@ -1,16 +1,14 @@
module github.com/amnezia-vpn/amneziawg-windows
module github.com/amnezia-vpn/euphoria-windows
go 1.23
go 1.24
require (
github.com/amnezia-vpn/amneziawg-go v0.2.12
golang.org/x/crypto v0.33.0
github.com/amnezia-vpn/euphoria v0.1.0
golang.org/x/crypto v0.34.0
golang.org/x/sys v0.30.0
golang.org/x/text v0.22.0
)
replace github.com/amnezia-vpn/amneziawg-go v0.2.12 => github.com/marko1777/amneziawg-go v0.1.2
require (
github.com/aarzilli/golua v0.0.0-20250217091409-248753f411c4 // indirect
github.com/tevino/abool/v2 v2.1.0 // indirect

20
go.sum
View File

@@ -1,22 +1,22 @@
github.com/aarzilli/golua v0.0.0-20250217091409-248753f411c4 h1:gW5i3FQAMcbkNgo/A87gCKAbBMalAO8BlPIMo9Gk2Ow=
github.com/aarzilli/golua v0.0.0-20250217091409-248753f411c4/go.mod h1:hMjfaJVSqVnxenMlsxrq3Ni+vrm9Hs64tU4M7dhUoO4=
github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
github.com/marko1777/amneziawg-go v0.1.2 h1:Z/qBpnI6ypEUk6TVGlajEA9WXu9M/xF+WNRHm9+bkG4=
github.com/marko1777/amneziawg-go v0.1.2/go.mod h1:gn0HQo0no3Y1vl3JYU77C+HVdddnGULlvFrS1kyyueQ=
github.com/amnezia-vpn/euphoria v0.1.0 h1:9Q0wzJUCSvnJyugJ+4sEmoH+Czch/N7NYyBQNkCVd5Y=
github.com/amnezia-vpn/euphoria v0.1.0/go.mod h1:HVJgwnv0aW7uoqjKeTcsDFhWv+zUCfrnMxoybkFux5c=
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
github.com/tevino/abool/v2 v2.1.0 h1:7w+Vf9f/5gmKT4m4qkayb33/92M+Um45F2BkHOR+L/c=
github.com/tevino/abool/v2 v2.1.0/go.mod h1:+Lmlqk6bHDWHqN1cbxqhwEAwMPXgc8I1SDEamtseuXY=
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
golang.org/x/crypto v0.34.0 h1:+/C6tk6rf/+t5DhUketUbD1aNGqiSX3j15Z6xuIDlBA=
golang.org/x/crypto v0.34.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeunTOisW56dUokqW/FOteYJJ/yg=
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI=
gvisor.dev/gvisor v0.0.0-20230927004350-cbd86285d259 h1:TbRPT0HtzFP3Cno1zZo7yPzEEnfu8EjLfl6IU9VfqkQ=
gvisor.dev/gvisor v0.0.0-20230927004350-cbd86285d259/go.mod h1:AVgIgHMwK63XvmAzWG9vLQ41YnVHN0du0tEC46fI7yY=
gvisor.dev/gvisor v0.0.0-20250130013005-04f9204697c6 h1:6B7MdW3OEbJqOMr7cEYU9bkzvCjUBX/JlXk12xcANuQ=
gvisor.dev/gvisor v0.0.0-20250130013005-04f9204697c6/go.mod h1:5DMfjtclAbTIjbXqO1qCe2K5GKKxWz2JHvCChuTcJEM=

View File

@@ -12,13 +12,13 @@ import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-go/conn"
"github.com/amnezia-vpn/amneziawg-go/tun"
"github.com/amnezia-vpn/euphoria/conn"
"github.com/amnezia-vpn/euphoria/tun"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/amneziawg-windows/services"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/firewall"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/services"
"github.com/amnezia-vpn/euphoria-windows/tunnel/firewall"
"github.com/amnezia-vpn/euphoria-windows/tunnel/winipcfg"
)
type interfaceWatcherError struct {

View File

@@ -8,9 +8,9 @@ package main
import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-go/ipc"
"github.com/amnezia-vpn/euphoria/ipc"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
func CopyConfigOwnerToIPCSecurityDescriptor(filename string) error {

View File

@@ -12,7 +12,7 @@ import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
func DumpTo(out io.Writer, notSystem bool) error {

View File

@@ -10,7 +10,7 @@ import (
"path/filepath"
"unsafe"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
var Global *Ringlogger

View File

@@ -15,7 +15,7 @@ import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
func runScriptCommand(command, interfaceName string) error {
@@ -47,7 +47,7 @@ func runScriptCommand(command, interfaceName string) error {
}
process, err := os.StartProcess(comspec, nil /* CmdLine below */, &os.ProcAttr{
Files: []*os.File{devNull, writer, writer},
Env: append(os.Environ(), "AMNEZIAWG_TUNNEL_NAME="+interfaceName),
Env: append(os.Environ(), "EUPHORIA_TUNNEL_NAME="+interfaceName),
Sys: &syscall.SysProcAttr{
HideWindow: true,
CmdLine: fmt.Sprintf("cmd /c %s", command),

View File

@@ -14,19 +14,19 @@ import (
"runtime"
"time"
"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"
"github.com/amnezia-vpn/euphoria/conn"
"github.com/amnezia-vpn/euphoria/device"
"github.com/amnezia-vpn/euphoria/ipc"
"github.com/amnezia-vpn/euphoria/tun"
"golang.org/x/sys/windows"
"golang.org/x/sys/windows/svc"
"golang.org/x/sys/windows/svc/mgr"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/amneziawg-windows/elevate"
"github.com/amnezia-vpn/amneziawg-windows/ringlogger"
"github.com/amnezia-vpn/amneziawg-windows/services"
"github.com/amnezia-vpn/amneziawg-windows/version"
"github.com/amnezia-vpn/euphoria-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/elevate"
"github.com/amnezia-vpn/euphoria-windows/ringlogger"
"github.com/amnezia-vpn/euphoria-windows/services"
"github.com/amnezia-vpn/euphoria-windows/version"
)
type tunnelService struct {

View File

@@ -8,19 +8,19 @@ package services
import (
"errors"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
func ServiceNameOfTunnel(tunnelName string) (string, error) {
if !conf.TunnelNameIsValid(tunnelName) {
return "", errors.New("Tunnel name is not valid")
}
return "AmneziaWGTunnel$" + tunnelName, nil
return "EuphoriaTunnel$" + tunnelName, nil
}
func PipePathOfTunnel(tunnelName string) (string, error) {
if !conf.TunnelNameIsValid(tunnelName) {
return "", errors.New("Tunnel name is not valid")
}
return `\\.\pipe\ProtectedPrefix\Administrators\AmneziaWG\` + tunnelName, nil
return `\\.\pipe\ProtectedPrefix\Administrators\Euphoria\` + tunnelName, nil
}

View File

@@ -11,12 +11,12 @@ import (
"net"
"sort"
"github.com/amnezia-vpn/amneziawg-go/tun"
"github.com/amnezia-vpn/euphoria/tun"
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/firewall"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/tunnel/firewall"
"github.com/amnezia-vpn/euphoria-windows/tunnel/winipcfg"
)
func cleanupAddressesOnDisconnectedInterfaces(family winipcfg.AddressFamily, addresses []net.IPNet) {

View File

@@ -12,9 +12,9 @@ import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-go/conn"
"github.com/amnezia-vpn/amneziawg-go/tun"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria/conn"
"github.com/amnezia-vpn/euphoria/tun"
)
func bindSocketRoute(family winipcfg.AddressFamily, binder conn.BindSocketToInterface, ourLUID winipcfg.LUID, lastLUID *winipcfg.LUID, lastIndex *uint32, blackholeWhenLoop bool) error {

View File

@@ -15,7 +15,7 @@ import (
"golang.org/x/sys/windows"
"golang.org/x/text/unicode/norm"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
const deterministicGUIDLabel = "Deterministic WireGuard Windows GUID v1 jason@zx2c4.com"

View File

@@ -11,13 +11,13 @@ import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-go/conn"
"github.com/amnezia-vpn/amneziawg-go/tun"
"github.com/amnezia-vpn/euphoria/conn"
"github.com/amnezia-vpn/euphoria/tun"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/amneziawg-windows/services"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/firewall"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/services"
"github.com/amnezia-vpn/euphoria-windows/tunnel/firewall"
"github.com/amnezia-vpn/euphoria-windows/tunnel/winipcfg"
)
type interfaceWatcherError struct {

View File

@@ -8,9 +8,9 @@ package tunnel
import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-go/ipc"
"github.com/amnezia-vpn/euphoria/ipc"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
func CopyConfigOwnerToIPCSecurityDescriptor(filename string) error {

View File

@@ -6,7 +6,7 @@
package tunnel
import (
"github.com/amnezia-vpn/amneziawg-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria-windows/tunnel/winipcfg"
"golang.org/x/sys/windows"
)

View File

@@ -15,7 +15,7 @@ import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/conf"
)
func runScriptCommand(command, interfaceName string) error {
@@ -47,7 +47,7 @@ func runScriptCommand(command, interfaceName string) error {
}
process, err := os.StartProcess(comspec, nil /* CmdLine below */, &os.ProcAttr{
Files: []*os.File{devNull, writer, writer},
Env: append(os.Environ(), "AMNEZIAWG_TUNNEL_NAME="+interfaceName),
Env: append(os.Environ(), "EUPHORIA_TUNNEL_NAME="+interfaceName),
Sys: &syscall.SysProcAttr{
HideWindow: true,
CmdLine: fmt.Sprintf("cmd /c %s", command),

View File

@@ -14,19 +14,19 @@ import (
"runtime"
"time"
"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"
"github.com/amnezia-vpn/euphoria/conn"
"github.com/amnezia-vpn/euphoria/device"
"github.com/amnezia-vpn/euphoria/ipc"
"github.com/amnezia-vpn/euphoria/tun"
"golang.org/x/sys/windows"
"golang.org/x/sys/windows/svc"
"golang.org/x/sys/windows/svc/mgr"
"github.com/amnezia-vpn/amneziawg-windows/conf"
"github.com/amnezia-vpn/amneziawg-windows/elevate"
"github.com/amnezia-vpn/amneziawg-windows/ringlogger"
"github.com/amnezia-vpn/amneziawg-windows/services"
"github.com/amnezia-vpn/amneziawg-windows/version"
"github.com/amnezia-vpn/euphoria-windows/conf"
"github.com/amnezia-vpn/euphoria-windows/elevate"
"github.com/amnezia-vpn/euphoria-windows/ringlogger"
"github.com/amnezia-vpn/euphoria-windows/services"
"github.com/amnezia-vpn/euphoria-windows/version"
)
type tunnelService struct {

View File

@@ -17,10 +17,10 @@ import (
"golang.org/x/sys/windows"
"github.com/amnezia-vpn/amneziawg-go/tun"
"github.com/amnezia-vpn/euphoria/tun"
"github.com/amnezia-vpn/amneziawg-windows/elevate"
"github.com/amnezia-vpn/amneziawg-windows/tunnel/winipcfg"
"github.com/amnezia-vpn/euphoria-windows/elevate"
"github.com/amnezia-vpn/euphoria-windows/tunnel/winipcfg"
)
func TestWintunOrdering(t *testing.T) {