chore: refine code struct

This commit is contained in:
AkinoKaede
2023-10-22 22:44:35 +01:00
committed by Shelikhoo
parent c324d3af70
commit 5f6031b1e8
7 changed files with 19 additions and 17 deletions
@@ -1,4 +1,4 @@
package tun
package gvisor
import "github.com/v2fly/v2ray-core/v5/common/errors"
@@ -1,3 +1,3 @@
package tun
package gvisor
//go:generate go run github.com/v2fly/v2ray-core/v5/common/errors/errorgen
@@ -2,7 +2,7 @@
// +build linux
// +build linux,amd64 linux,arm64
package tun
package gvisor
import (
"fmt"
@@ -21,7 +21,7 @@ const (
ifReqSize = unix.IFNAMSIZ + 64
)
type TUN struct {
type GvisorTUN struct {
stack.LinkEndpoint
options device.Options
@@ -31,7 +31,7 @@ type TUN struct {
}
func New(options device.Options) (device.Device, error) {
t := &TUN{options: options}
t := &GvisorTUN{options: options}
if len(options.Name) > unix.IFNAMSIZ {
return nil, newError("name too long").AtError()
@@ -72,7 +72,7 @@ func New(options device.Options) (device.Device, error) {
return t, nil
}
func (t *TUN) Close() error {
func (t *GvisorTUN) Close() error {
return unix.Close(t.fd)
}
+10
View File
@@ -0,0 +1,10 @@
//go:build !linux || (linux && !(amd64 || arm64))
// +build !linux linux,!amd64,!arm64
package gvisor
import "github.com/v2fly/v2ray-core/v5/app/tun/device"
func New(options device.Options) (device.Device, error) {
return nil, newError("not supported").AtError()
}
+2 -2
View File
@@ -8,7 +8,7 @@ import (
core "github.com/v2fly/v2ray-core/v5"
"github.com/v2fly/v2ray-core/v5/app/tun/device"
"github.com/v2fly/v2ray-core/v5/app/tun/device/tun"
"github.com/v2fly/v2ray-core/v5/app/tun/device/gvisor"
"github.com/v2fly/v2ray-core/v5/common"
"github.com/v2fly/v2ray-core/v5/features/policy"
"github.com/v2fly/v2ray-core/v5/features/routing"
@@ -31,7 +31,7 @@ func (t *TUN) Type() interface{} {
}
func (t *TUN) Start() error {
DeviceConstructor := tun.New
DeviceConstructor := gvisor.New
device, err := DeviceConstructor(device.Options{
Name: t.config.Name,
MTU: t.config.Mtu,
+1
View File
@@ -34,6 +34,7 @@ import (
_ "github.com/v2fly/v2ray-core/v5/app/instman"
_ "github.com/v2fly/v2ray-core/v5/app/observatory"
_ "github.com/v2fly/v2ray-core/v5/app/restfulapi"
_ "github.com/v2fly/v2ray-core/v5/app/tun"
// Inbound and outbound proxies.
_ "github.com/v2fly/v2ray-core/v5/proxy/blackhole"
-9
View File
@@ -1,9 +0,0 @@
//go:build linux && ((linux && amd64) || (linux && arm64))
// +build linux
// +build linux,amd64 linux,arm64
package all
import (
_ "github.com/v2fly/v2ray-core/v5/app/tun"
)