diff --git a/go.mod b/go.mod index 1d8c895..366ef83 100644 --- a/go.mod +++ b/go.mod @@ -6,8 +6,9 @@ require ( github.com/fumiama/go-base16384 v1.2.1 github.com/fumiama/go-x25519 v1.0.0 github.com/fumiama/gofastTEA v0.0.6 + github.com/fumiama/water v0.0.0-20211229153125-4158c133a4d8 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 github.com/sirupsen/logrus v1.8.1 - github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 + golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b ) diff --git a/go.sum b/go.sum index 8b67e9d..9ceabe8 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,32 @@ github.com/fumiama/go-x25519 v1.0.0 h1:hiGg9EhseVmGCc8T1jECVkj8Keu/aJ1ZK05RM8Vua github.com/fumiama/go-x25519 v1.0.0/go.mod h1:8VOhfyGZzw4IUs4nCjQFqW9cA3V/QpSCtP3fo2dLNg4= github.com/fumiama/gofastTEA v0.0.6 h1:Yni3MXDbJVa/c4CecgdZDgCJK+fLdvGph+OBqY2mtiI= github.com/fumiama/gofastTEA v0.0.6/go.mod h1:+sBZ05nCA2skZkursHNvyr8kULlEetrYTM2y5kA4rQc= +github.com/fumiama/water v0.0.0-20211229125942-5b6a70c00f4c h1:ww0Xu5oR+ItCOu/UG5oTZhxemEXac3RDW6dZHv+Hbkw= +github.com/fumiama/water v0.0.0-20211229125942-5b6a70c00f4c/go.mod h1:n7jB3H3AVzelGQJA+9r06R4XlGF4P1SVtcpvyLw5p+k= +github.com/fumiama/water v0.0.0-20211229134828-67285c9b6731 h1:V4+UIuj2gIG3HDU7lKOaC7JDu59Kr42trJ/pdhB0mj0= +github.com/fumiama/water v0.0.0-20211229134828-67285c9b6731/go.mod h1:2TP+zWbGdQhV8LgKMkltYUX7q6KqGoRUHIPKrUmsgxQ= +github.com/fumiama/water v0.0.0-20211229135330-90abaa32e415 h1:LipchbWUx40wYqE2eOOE/HU5t6atlphAYaOFTFDt6QA= +github.com/fumiama/water v0.0.0-20211229135330-90abaa32e415/go.mod h1:2TP+zWbGdQhV8LgKMkltYUX7q6KqGoRUHIPKrUmsgxQ= +github.com/fumiama/water v0.0.0-20211229140044-a18737bcce9e h1:4PUm9m0cT4caVf9oGF9DKrIzjyzCSP6CFuPVID/f2Z8= +github.com/fumiama/water v0.0.0-20211229140044-a18737bcce9e/go.mod h1:2TP+zWbGdQhV8LgKMkltYUX7q6KqGoRUHIPKrUmsgxQ= +github.com/fumiama/water v0.0.0-20211229140409-29e50756f779 h1:lyAFI9rSTdTDiIOYdCWbe21yAyUUiNoWD6SVV7Vv/ps= +github.com/fumiama/water v0.0.0-20211229140409-29e50756f779/go.mod h1:2TP+zWbGdQhV8LgKMkltYUX7q6KqGoRUHIPKrUmsgxQ= +github.com/fumiama/water v0.0.0-20211229143618-2e6a6e7c8734 h1:0HpMmtsfBphCjpDclBy/tprImRjXfBYtOLg2lif/jlk= +github.com/fumiama/water v0.0.0-20211229143618-2e6a6e7c8734/go.mod h1:2TP+zWbGdQhV8LgKMkltYUX7q6KqGoRUHIPKrUmsgxQ= +github.com/fumiama/water v0.0.0-20211229150150-f6779d7a5809 h1:aWzKgNIJBlUB75Xa1PoObKixPhQUMw8D23UDlIDyXjw= +github.com/fumiama/water v0.0.0-20211229150150-f6779d7a5809/go.mod h1:2TP+zWbGdQhV8LgKMkltYUX7q6KqGoRUHIPKrUmsgxQ= +github.com/fumiama/water v0.0.0-20211229151111-67ffd8a6cc33 h1:1s2DyitGTKCVhFvQrlfXLNS9JBKhyrzzj1lZVzs8Szk= +github.com/fumiama/water v0.0.0-20211229151111-67ffd8a6cc33/go.mod h1:2TP+zWbGdQhV8LgKMkltYUX7q6KqGoRUHIPKrUmsgxQ= +github.com/fumiama/water v0.0.0-20211229152420-ea1778e8a8fe h1:RHlAMWsIRaEhl6O6fkYZIy9NFX3SLCvNRf1zfgl62zE= +github.com/fumiama/water v0.0.0-20211229152420-ea1778e8a8fe/go.mod h1:XiHGWg8Lgc6+ZENjj9+qQinTraD+FFoJM9uiOs94PR4= +github.com/fumiama/water v0.0.0-20211229152936-c7837c176989 h1:ftaxOPIang127djF2u83QQqLV38yBeqJN/V6jDr29pY= +github.com/fumiama/water v0.0.0-20211229152936-c7837c176989/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo= +github.com/fumiama/water v0.0.0-20211229153125-4158c133a4d8 h1:nqcrKTt6+4AO+CXlyz/cqdANke8UOVSLZ50uoofcI0g= +github.com/fumiama/water v0.0.0-20211229153125-4158c133a4d8/go.mod h1:BBnNY9PwK+UUn4trAU+H0qsMEypm7+3Bj1bVFuJItlo= +github.com/fumiama/wintun v0.0.0-20211229152127-c33dd13d28a5 h1:pkMNtWnrMuqsy+o4y6ur0+lu8gw96I3If61k+9n0sK4= +github.com/fumiama/wintun v0.0.0-20211229152127-c33dd13d28a5/go.mod h1:dPOG7Af/ArO62RgBz2JJTNFByBn/IXWLo/1kZKcLSe8= +github.com/fumiama/wintun v0.0.0-20211229152851-8bc97c8034c0 h1:WfrSFlIlCAtg6Rt2IGna0HhJYSDE45YVHiYqO4wwsEw= +github.com/fumiama/wintun v0.0.0-20211229152851-8bc97c8034c0/go.mod h1:dPOG7Af/ArO62RgBz2JJTNFByBn/IXWLo/1kZKcLSe8= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -61,8 +87,10 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -70,6 +98,8 @@ golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224 h1:Ug9qvr1myri/zFN6xL17LSCBGFDnphBBhzmILHsM5TY= +golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= diff --git a/lower/config_unix.go b/lower/config_unix.go deleted file mode 100644 index 83a3fff..0000000 --- a/lower/config_unix.go +++ /dev/null @@ -1,8 +0,0 @@ -//go:build !windows -// +build !windows - -package lower - -import "github.com/songgao/water" - -var tuncfg = water.Config{DeviceType: water.TUN} diff --git a/lower/config_windows.go b/lower/config_windows.go deleted file mode 100644 index a337fba..0000000 --- a/lower/config_windows.go +++ /dev/null @@ -1,15 +0,0 @@ -//go:build windows -// +build windows - -package lower - -import "github.com/songgao/water" - -var tuncfg = water.Config{ - DeviceType: water.TUN, - PlatformSpecificParams: water.PlatformSpecificParams{ - ComponentID: "root\\tap0901", - InterfaceName: "OpenVPN TAP-Windows6", - Network: "192.168.233.0/24", - }, -} diff --git a/lower/nic.go b/lower/nic.go index 168b2d1..67f73be 100644 --- a/lower/nic.go +++ b/lower/nic.go @@ -4,9 +4,9 @@ import ( "os" "os/exec" + "github.com/fumiama/water" + "github.com/fumiama/water/waterutil" "github.com/sirupsen/logrus" - "github.com/songgao/water" - "github.com/songgao/water/waterutil" "github.com/fumiama/WireGold/gold/head" "github.com/fumiama/WireGold/gold/link" @@ -23,7 +23,7 @@ type NIC struct { // NewNIC 新建 TUN 网络接口卡 // 网卡地址为 ip, 所属子网为 subnet func NewNIC(ip, subnet string) (n *NIC) { - ifce, err := water.New(tuncfg) + ifce, err := water.New(water.Config{DeviceType: water.TUN}) if err != nil { panic(err) } diff --git a/main_win.go b/main_win.go index b3819ed..583e1d5 100644 --- a/main_win.go +++ b/main_win.go @@ -32,17 +32,13 @@ type LogFormat struct{} // Format implements logrus.Formatter func (f LogFormat) Format(entry *logrus.Entry) ([]byte, error) { buf := new(bytes.Buffer) - - buf.WriteString(getLogLevelColorCode(entry.Level)) - buf.WriteByte('[') + buf.WriteString(getLogLevelColorCode(entry.Level)) buf.WriteString(strings.ToUpper(entry.Level.String())) + buf.WriteString(colorReset) buf.WriteString("] ") buf.WriteString(entry.Message) buf.WriteString(" \n") - - buf.WriteString(colorReset) - return buf.Bytes(), nil }