diff --git a/README.md b/README.md index ab63efcf..69e97f10 100644 --- a/README.md +++ b/README.md @@ -138,4 +138,4 @@ Hello world!% - Linux - Windows -on Windows platform, you need to install ```TAP/TUN``` [driver](./exe/tap-windows-9.21.2.exe) and ```PowerShell``` \ No newline at end of file +on Windows platform, you need to install ```TAP/TUN``` [driver](windowstaptundriver/tap-windows-9.21.2.exe) and ```PowerShell``` \ No newline at end of file diff --git a/README_ZH.md b/README_ZH.md index 35dfaeda..84e80be2 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -137,4 +137,4 @@ Hello world!% - Linux - Windows -Windows 下需要安装 ```TAP/TUN```[驱动](./exe/tap-windows-9.21.2.exe)和```PowerShell``` \ No newline at end of file +Windows 下需要安装 ```TAP/TUN```[驱动](windowstaptundriver/tap-windows-9.21.2.exe)和```PowerShell``` \ No newline at end of file diff --git a/gost/auth.go b/core/auth.go similarity index 99% rename from gost/auth.go rename to core/auth.go index 1be96e93..9135d503 100644 --- a/gost/auth.go +++ b/core/auth.go @@ -1,4 +1,4 @@ -package gost +package core import ( "bufio" diff --git a/gost/chain.go b/core/chain.go similarity index 99% rename from gost/chain.go rename to core/chain.go index d6e13ad6..d002a6ac 100644 --- a/gost/chain.go +++ b/core/chain.go @@ -1,4 +1,4 @@ -package gost +package core import ( "context" diff --git a/gost/client.go b/core/client.go similarity index 99% rename from gost/client.go rename to core/client.go index 912f53af..9197da30 100644 --- a/gost/client.go +++ b/core/client.go @@ -1,4 +1,4 @@ -package gost +package core import ( "context" diff --git a/gost/forward.go b/core/forward.go similarity index 99% rename from gost/forward.go rename to core/forward.go index 8694231a..4df8ce21 100644 --- a/gost/forward.go +++ b/core/forward.go @@ -1,4 +1,4 @@ -package gost +package core import ( "context" @@ -58,9 +58,9 @@ func (h *baseForwardHandler) Init(options ...HandlerOption) { // We treat the remote target server as a node, so we can put them in a group, // and perform the node selection for load balancing. h.group.AddNode(Node{ - ID: n, - Addr: addr, - Host: addr, + ID: n, + Addr: addr, + Host: addr, }) n++ diff --git a/gost/gost.go b/core/gost.go similarity index 97% rename from gost/gost.go rename to core/gost.go index a2118c89..c93ecac5 100644 --- a/gost/gost.go +++ b/core/gost.go @@ -1,4 +1,4 @@ -package gost +package core import ( "crypto/rand" @@ -16,9 +16,6 @@ import ( "github.com/go-log/log" ) -// Version is the gost version. -const Version = "2.11.1" - // Debug is a flag that enables the debug log. var Debug bool @@ -108,7 +105,7 @@ func generateKeyPair() (rawCert, rawKey []byte, err error) { template := x509.Certificate{ SerialNumber: serialNumber, Subject: pkix.Name{ - Organization: []string{"gost"}, + Organization: []string{"kubevpn"}, }, NotBefore: notBefore, NotAfter: notAfter, diff --git a/gost/handler.go b/core/handler.go similarity index 99% rename from gost/handler.go rename to core/handler.go index 0b8cda80..b7246b60 100644 --- a/gost/handler.go +++ b/core/handler.go @@ -1,4 +1,4 @@ -package gost +package core import ( "bufio" diff --git a/gost/log.go b/core/log.go similarity index 98% rename from gost/log.go rename to core/log.go index d4ad5193..6853cb42 100644 --- a/gost/log.go +++ b/core/log.go @@ -1,4 +1,4 @@ -package gost +package core import ( "fmt" diff --git a/gost/mux.go b/core/mux.go similarity index 96% rename from gost/mux.go rename to core/mux.go index a378452f..3efa57b8 100644 --- a/gost/mux.go +++ b/core/mux.go @@ -1,9 +1,8 @@ -package gost +package core import ( + "github.com/xtaci/smux" "net" - - smux "github.com/xtaci/smux" ) type muxStreamConn struct { diff --git a/gost/node.go b/core/node.go similarity index 98% rename from gost/node.go rename to core/node.go index 4b925548..0ce5281b 100644 --- a/gost/node.go +++ b/core/node.go @@ -1,4 +1,4 @@ -package gost +package core import ( "errors" @@ -162,9 +162,9 @@ func (node Node) String() string { // NodeGroup is a group of nodes. type NodeGroup struct { - ID int - nodes []Node - mux sync.RWMutex + ID int + nodes []Node + mux sync.RWMutex } // NewNodeGroup creates a node group diff --git a/gost/server.go b/core/server.go similarity index 99% rename from gost/server.go rename to core/server.go index b130382a..07444243 100644 --- a/gost/server.go +++ b/core/server.go @@ -1,4 +1,4 @@ -package gost +package core import ( "fmt" diff --git a/gost/socks.go b/core/socks.go similarity index 99% rename from gost/socks.go rename to core/socks.go index 9e5ca154..9ba41f61 100644 --- a/gost/socks.go +++ b/core/socks.go @@ -1,4 +1,4 @@ -package gost +package core import ( "bytes" @@ -16,7 +16,7 @@ import ( "github.com/ginuerzh/gosocks4" "github.com/ginuerzh/gosocks5" "github.com/go-log/log" - smux "github.com/xtaci/smux" + "github.com/xtaci/smux" ) const ( diff --git a/gost/tcp.go b/core/tcp.go similarity index 99% rename from gost/tcp.go rename to core/tcp.go index a2550112..7f38bf79 100644 --- a/gost/tcp.go +++ b/core/tcp.go @@ -1,4 +1,4 @@ -package gost +package core import "net" diff --git a/gost/tls.go b/core/tls.go similarity index 99% rename from gost/tls.go rename to core/tls.go index 8526c6f4..e926a010 100644 --- a/gost/tls.go +++ b/core/tls.go @@ -1,4 +1,4 @@ -package gost +package core import ( "crypto/tls" diff --git a/gost/tuntap.go b/core/tuntap.go similarity index 99% rename from gost/tuntap.go rename to core/tuntap.go index 23b4df01..45618372 100644 --- a/gost/tuntap.go +++ b/core/tuntap.go @@ -1,4 +1,4 @@ -package gost +package core import ( "context" diff --git a/gost/tuntap_darwin.go b/core/tuntap_darwin.go similarity index 99% rename from gost/tuntap_darwin.go rename to core/tuntap_darwin.go index ffe2ac72..86474b6d 100644 --- a/gost/tuntap_darwin.go +++ b/core/tuntap_darwin.go @@ -1,4 +1,4 @@ -package gost +package core import ( "errors" diff --git a/gost/tuntap_linux.go b/core/tuntap_linux.go similarity index 99% rename from gost/tuntap_linux.go rename to core/tuntap_linux.go index 29487733..e1674537 100644 --- a/gost/tuntap_linux.go +++ b/core/tuntap_linux.go @@ -1,4 +1,4 @@ -package gost +package core import ( "errors" diff --git a/gost/tuntap_unix.go b/core/tuntap_unix.go similarity index 97% rename from gost/tuntap_unix.go rename to core/tuntap_unix.go index 9a6d17ee..7d00a7d4 100644 --- a/gost/tuntap_unix.go +++ b/core/tuntap_unix.go @@ -1,6 +1,7 @@ +//go:build !linux && !windows && !darwin // +build !linux,!windows,!darwin -package gost +package core import ( "fmt" diff --git a/gost/tuntap_windows.go b/core/tuntap_windows.go similarity index 99% rename from gost/tuntap_windows.go rename to core/tuntap_windows.go index dd467aa4..4f6f781f 100644 --- a/gost/tuntap_windows.go +++ b/core/tuntap_windows.go @@ -1,4 +1,4 @@ -package gost +package core import ( "fmt" diff --git a/gost/udp.go b/core/udp.go similarity index 99% rename from gost/udp.go rename to core/udp.go index c2a71ab0..09370601 100644 --- a/gost/udp.go +++ b/core/udp.go @@ -1,4 +1,4 @@ -package gost +package core import ( "errors" diff --git a/go.mod b/go.mod index 3e395c59..322b9613 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module kubevpn go 1.16 require ( - github.com/Yawning/chacha20 v0.0.0-20170904085104-e3b1f968fc63 // indirect github.com/coreos/go-iptables v0.6.0 // indirect github.com/docker/libcontainer v2.2.1+incompatible github.com/ginuerzh/gosocks4 v0.0.1 @@ -17,7 +16,6 @@ require ( github.com/onsi/ginkgo v1.14.0 // indirect github.com/pkg/errors v0.9.1 github.com/shadowsocks/go-shadowsocks2 v0.1.5 - github.com/shadowsocks/shadowsocks-go v0.0.0-20170121203516-97a5c71f80ba github.com/sirupsen/logrus v1.8.1 github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 github.com/spf13/cobra v1.1.1 diff --git a/go.sum b/go.sum index a22b21cb..d19e729f 100644 --- a/go.sum +++ b/go.sum @@ -43,8 +43,6 @@ github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tN github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Yawning/chacha20 v0.0.0-20170904085104-e3b1f968fc63 h1:I6/SJSN9wJMJ+ZyQaCHUlzoTA4ypU5Bb44YWR1wTY/0= -github.com/Yawning/chacha20 v0.0.0-20170904085104-e3b1f968fc63/go.mod h1:nf+Komq6fVP4SwmKEaVGxHTyQGKREVlwjQKpvOV39yE= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -413,8 +411,6 @@ github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shadowsocks/go-shadowsocks2 v0.1.5 h1:PDSQv9y2S85Fl7VBeOMF9StzeXZyK1HakRm86CUbr28= github.com/shadowsocks/go-shadowsocks2 v0.1.5/go.mod h1:AGGpIoek4HRno4xzyFiAtLHkOpcoznZEkAccaI/rplM= -github.com/shadowsocks/shadowsocks-go v0.0.0-20170121203516-97a5c71f80ba h1:tJgNXb3S+RkB4kNPi6N5OmEWe3m+Y3Qs6LUMiNDAONM= -github.com/shadowsocks/shadowsocks-go v0.0.0-20170121203516-97a5c71f80ba/go.mod h1:mttDPaeLm87u74HMrP+n2tugXvIKWcwff/cqSX0lehY= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= diff --git a/pkg/config.go b/pkg/config.go index 5f264a79..e72a3911 100644 --- a/pkg/config.go +++ b/pkg/config.go @@ -2,7 +2,7 @@ package main import ( "bufio" - "kubevpn/gost" + "kubevpn/core" "net" "os" "strings" @@ -47,7 +47,7 @@ func parseIP(s string, port string) (ips []string) { return } -func parseIPRoutes(routeStringList string) (routes []gost.IPRoute) { +func parseIPRoutes(routeStringList string) (routes []core.IPRoute) { if len(routeStringList) == 0 { return } @@ -55,7 +55,7 @@ func parseIPRoutes(routeStringList string) (routes []gost.IPRoute) { ss := strings.Split(routeStringList, ",") for _, s := range ss { if _, inet, _ := net.ParseCIDR(strings.TrimSpace(s)); inet != nil { - routes = append(routes, gost.IPRoute{Dest: inet}) + routes = append(routes, core.IPRoute{Dest: inet}) } } return diff --git a/pkg/connect.go b/pkg/connect.go index 87c20b6e..0a033dd5 100644 --- a/pkg/connect.go +++ b/pkg/connect.go @@ -8,7 +8,7 @@ import ( "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" cmdutil "k8s.io/kubectl/pkg/cmd/util" - "kubevpn/gost" + "kubevpn/core" ) var ( @@ -23,11 +23,11 @@ var ( ) func init() { - gost.SetLogger(&gost.LogLogger{}) + core.SetLogger(&core.LogLogger{}) connectCmd.Flags().StringVar(&kubeconfigpath, "kubeconfig", clientcmd.RecommendedHomeFile, "kubeconfig") connectCmd.Flags().StringVarP(&namespace, "namespace", "n", "", "namespace") connectCmd.PersistentFlags().StringArrayVar(&workloads, "workloads", []string{}, "workloads, like: services/tomcat, deployment/nginx, replicaset/tomcat...") - connectCmd.Flags().BoolVar(&gost.Debug, "debug", false, "true/false") + connectCmd.Flags().BoolVar(&core.Debug, "debug", false, "true/false") RootCmd.AddCommand(connectCmd) } diff --git a/pkg/main.go b/pkg/main.go index f550056c..3f739510 100644 --- a/pkg/main.go +++ b/pkg/main.go @@ -9,9 +9,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "kubevpn/dns" - "kubevpn/exe" "kubevpn/remote" "kubevpn/util" + "kubevpn/windowstaptundriver" "net" "os/exec" "strings" diff --git a/pkg/route.go b/pkg/route.go index e2404312..6db60d40 100644 --- a/pkg/route.go +++ b/pkg/route.go @@ -3,7 +3,7 @@ package main import ( "github.com/go-log/log" "github.com/pkg/errors" - "kubevpn/gost" + "kubevpn/core" "net" "strings" ) @@ -14,12 +14,12 @@ type route struct { Retries int } -func (r *route) parseChain() (*gost.Chain, error) { - chain := gost.NewChain() +func (r *route) parseChain() (*core.Chain, error) { + chain := core.NewChain() chain.Retries = r.Retries gid := 1 // group ID - ngroup := gost.NewNodeGroup() + ngroup := core.NewNodeGroup() ngroup.ID = gid gid++ @@ -41,8 +41,8 @@ func (r *route) parseChain() (*gost.Chain, error) { return chain, nil } -func parseChainNode(ns string) (nodes []gost.Node, err error) { - node, err := gost.ParseNode(ns) +func parseChainNode(ns string) (nodes []core.Node, err error) { + node, err := core.ParseNode(ns) if err != nil { return } @@ -58,27 +58,27 @@ func parseChainNode(ns string) (nodes []gost.Node, err error) { } node.DialOptions = append(node.DialOptions, - gost.TimeoutDialOption(timeout), - gost.HostDialOption(host), + core.TimeoutDialOption(timeout), + core.HostDialOption(host), ) - node.ConnectOptions = []gost.ConnectOption{ - gost.UserAgentConnectOption(node.Get("agent")), - gost.NoTLSConnectOption(node.GetBool("notls")), - gost.NoDelayConnectOption(node.GetBool("nodelay")), + node.ConnectOptions = []core.ConnectOption{ + core.UserAgentConnectOption(node.Get("agent")), + core.NoTLSConnectOption(node.GetBool("notls")), + core.NoDelayConnectOption(node.GetBool("nodelay")), } - handshakeOptions := []gost.HandshakeOption{ - gost.AddrHandshakeOption(node.Addr), - gost.HostHandshakeOption(host), - gost.IntervalHandshakeOption(node.GetDuration("ping")), - gost.TimeoutHandshakeOption(timeout), - gost.RetryHandshakeOption(node.GetInt("retry")), + handshakeOptions := []core.HandshakeOption{ + core.AddrHandshakeOption(node.Addr), + core.HostHandshakeOption(host), + core.IntervalHandshakeOption(node.GetDuration("ping")), + core.TimeoutHandshakeOption(timeout), + core.RetryHandshakeOption(node.GetInt("retry")), } - node.Client = &gost.Client{ - Connector: gost.AutoConnector(node.User), - Transporter: gost.TCPTransporter(), + node.Client = &core.Client{ + Connector: core.AutoConnector(node.User), + Transporter: core.TCPTransporter(), } ips := parseIP(node.Get("ip"), sport) @@ -86,13 +86,13 @@ func parseChainNode(ns string) (nodes []gost.Node, err error) { nd := node.Clone() nd.Addr = ip // override the default node address - nd.HandshakeOptions = append(handshakeOptions, gost.AddrHandshakeOption(ip)) + nd.HandshakeOptions = append(handshakeOptions, core.AddrHandshakeOption(ip)) // One node per IP nodes = append(nodes, nd) } if len(ips) == 0 { node.HandshakeOptions = handshakeOptions - nodes = []gost.Node{node} + nodes = []core.Node{node} } return @@ -101,14 +101,14 @@ func parseChainNode(ns string) (nodes []gost.Node, err error) { func (r *route) GenRouters() ([]router, error) { chain, err := r.parseChain() if err != nil { - if !errors.Is(err, gost.ErrInvalidNode) { + if !errors.Is(err, core.ErrInvalidNode) { return nil, err } } routers := make([]router, 0, len(r.ServeNodes)) for _, serveNode := range r.ServeNodes { - node, err := gost.ParseNode(serveNode) + node, err := core.ParseNode(serveNode) if err != nil { return nil, err } @@ -123,19 +123,19 @@ func (r *route) GenRouters() ([]router, error) { } } - var ln gost.Listener + var ln core.Listener switch node.Transport { case "tcp": // Directly use SSH port forwarding if the last chain node is forward+ssh - ln, err = gost.TCPListener(node.Addr) + ln, err = core.TCPListener(node.Addr) case "udp": - ln, err = gost.UDPListener(node.Addr, &gost.UDPListenConfig{ + ln, err = core.UDPListener(node.Addr, &core.UDPListenConfig{ TTL: ttl, Backlog: node.GetInt("backlog"), QueueSize: node.GetInt("queue"), }) case "tun": - cfg := gost.TunConfig{ + cfg := core.TunConfig{ Name: node.Get("name"), Addr: node.Get("net"), Peer: node.Get("peer"), @@ -143,55 +143,55 @@ func (r *route) GenRouters() ([]router, error) { Routes: tunRoutes, Gateway: node.Get("gw"), } - ln, err = gost.TunListener(cfg) + ln, err = core.TunListener(cfg) case "tap": - cfg := gost.TapConfig{ + cfg := core.TapConfig{ Name: node.Get("name"), Addr: node.Get("net"), MTU: node.GetInt("mtu"), Routes: strings.Split(node.Get("route"), ","), Gateway: node.Get("gw"), } - ln, err = gost.TapListener(cfg) + ln, err = core.TapListener(cfg) default: - ln, err = gost.TCPListener(node.Addr) + ln, err = core.TCPListener(node.Addr) } if err != nil { return nil, err } - var handler gost.Handler + var handler core.Handler switch node.Protocol { case "tcp": - handler = gost.TCPDirectForwardHandler(node.Remote) + handler = core.TCPDirectForwardHandler(node.Remote) case "udp": - handler = gost.UDPDirectForwardHandler(node.Remote) + handler = core.UDPDirectForwardHandler(node.Remote) case "tun": - handler = gost.TunHandler() + handler = core.TunHandler() case "tap": - handler = gost.TapHandler() + handler = core.TapHandler() default: // start from 2.5, if remote is not empty, then we assume that it is a forward tunnel. if node.Remote != "" { - handler = gost.TCPDirectForwardHandler(node.Remote) + handler = core.TCPDirectForwardHandler(node.Remote) } else { - handler = gost.AutoHandler() + handler = core.AutoHandler() } } handler.Init( - gost.AddrHandlerOption(ln.Addr().String()), - gost.ChainHandlerOption(chain), - gost.RetryHandlerOption(node.GetInt("retry")), // override the global retry option. - gost.TimeoutHandlerOption(timeout), - gost.NodeHandlerOption(node), - gost.TCPModeHandlerOption(node.GetBool("tcp")), - gost.IPRoutesHandlerOption(tunRoutes...), + core.AddrHandlerOption(ln.Addr().String()), + core.ChainHandlerOption(chain), + core.RetryHandlerOption(node.GetInt("retry")), // override the global retry option. + core.TimeoutHandlerOption(timeout), + core.NodeHandlerOption(node), + core.TCPModeHandlerOption(node.GetBool("tcp")), + core.IPRoutesHandlerOption(tunRoutes...), ) rt := router{ node: node, - server: &gost.Server{Listener: ln}, + server: &core.Server{Listener: ln}, handler: handler, chain: chain, } @@ -202,10 +202,10 @@ func (r *route) GenRouters() ([]router, error) { } type router struct { - node gost.Node - server *gost.Server - handler gost.Handler - chain *gost.Chain + node core.Node + server *core.Server + handler core.Handler + chain *core.Chain } func (r *router) Serve() error { diff --git a/remote/Dockerfile b/remote/Dockerfile index a51f1d1b..29e66e64 100644 --- a/remote/Dockerfile +++ b/remote/Dockerfile @@ -3,4 +3,4 @@ WORKDIR /app RUN sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list \ && sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list RUN apt-get clean && apt-get update && apt-get install -y wget dnsutils vim curl net-tools iptables iputils-ping -COPY ./kubevpn /usr/local/bin/gost \ No newline at end of file +COPY ./kubevpn /usr/local/bin/kubevpn \ No newline at end of file diff --git a/remote/remote.go b/remote/remote.go index e92dd52d..20bccdbc 100644 --- a/remote/remote.go +++ b/remote/remote.go @@ -43,7 +43,7 @@ func CreateServerOutbound(clientset *kubernetes.Clientset, namespace string, ser for _, ipNet := range nodeCIDR { args = append(args, "iptables -t nat -A POSTROUTING -s "+ipNet.String()+" -o eth0 -j MASQUERADE") } - args = append(args, "gost server -L socks5://:10800 -L tun://:8421?net="+serverIp.String()+"") + args = append(args, "kubevpn server -L socks5://:10800 -L tun://:8421?net="+serverIp.String()+"") t := true zero := int64(0) @@ -146,7 +146,7 @@ func CreateServerInbound(factory cmdutil.Factory, clientset *kubernetes.Clientse "iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 80:60000 -j MASQUERADE;" + "iptables -t nat -A PREROUTING -i eth0 -p udp --dport 80:60000 -j DNAT --to " + virtualLocalIp + ":80-60000;" + "iptables -t nat -A POSTROUTING -p udp -m udp --dport 80:60000 -j MASQUERADE;" + - "gost server -L 'tun://0.0.0.0:8421/127.0.0.1:8421?net=" + virtualShadowIp + "&route=" + routes + "' -F 'socks5://" + realRouterIP + ":10800?notls=true'", + "kubevpn server -L 'tun://0.0.0.0:8421/127.0.0.1:8421?net=" + virtualShadowIp + "&route=" + routes + "' -F 'socks5://" + realRouterIP + ":10800?notls=true'", }, SecurityContext: &v1.SecurityContext{ Capabilities: &v1.Capabilities{ diff --git a/util/networkpolicy.go b/util/networkpolicy.go index 840a1fe9..3826f965 100644 --- a/util/networkpolicy.go +++ b/util/networkpolicy.go @@ -6,7 +6,7 @@ import ( "time" ) -// Delete all action block firewall rule +// DeleteWindowsFirewallRule Delete all action block firewall rule func DeleteWindowsFirewallRule() { ticker := time.NewTicker(time.Second) go func() { diff --git a/exe/driver.go b/windowstaptundriver/driver.go similarity index 100% rename from exe/driver.go rename to windowstaptundriver/driver.go diff --git a/exe/driver_test.go b/windowstaptundriver/driver_test.go similarity index 100% rename from exe/driver_test.go rename to windowstaptundriver/driver_test.go diff --git a/exe/embed.go b/windowstaptundriver/embed.go similarity index 100% rename from exe/embed.go rename to windowstaptundriver/embed.go diff --git a/exe/tap-windows-9.21.2.exe b/windowstaptundriver/tap-windows-9.21.2.exe similarity index 100% rename from exe/tap-windows-9.21.2.exe rename to windowstaptundriver/tap-windows-9.21.2.exe