mirror of
https://github.com/xjasonlyu/tun2socks.git
synced 2025-10-06 01:07:03 +08:00
Chore(tun): remove with options
This commit is contained in:
@@ -1,15 +0,0 @@
|
||||
package tun
|
||||
|
||||
type Option func(*TUN)
|
||||
|
||||
func WithName(name string) Option {
|
||||
return func(t *TUN) {
|
||||
t.name = name
|
||||
}
|
||||
}
|
||||
|
||||
func WithMTU(mtu uint32) Option {
|
||||
return func(t *TUN) {
|
||||
t.mtu = mtu
|
||||
}
|
||||
}
|
@@ -23,12 +23,8 @@ type TUN struct {
|
||||
name string
|
||||
}
|
||||
|
||||
func Open(opts ...Option) (device.Device, error) {
|
||||
t := &TUN{}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt(t)
|
||||
}
|
||||
func Open(name string, mtu uint32) (device.Device, error) {
|
||||
t := &TUN{name: name, mtu: mtu}
|
||||
|
||||
if len(t.name) >= unix.IFNAMSIZ {
|
||||
return nil, fmt.Errorf("interface name too long: %s", t.name)
|
||||
@@ -46,11 +42,11 @@ func Open(opts ...Option) (device.Device, error) {
|
||||
}
|
||||
}
|
||||
|
||||
mtu, err := rawfile.GetMTU(t.name)
|
||||
_mtu, err := rawfile.GetMTU(t.name)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("get mtu: %w", err)
|
||||
}
|
||||
t.mtu = mtu
|
||||
t.mtu = _mtu
|
||||
|
||||
ep, err := fdbased.New(&fdbased.Options{
|
||||
MTU: t.mtu,
|
||||
|
@@ -19,12 +19,8 @@ type TUN struct {
|
||||
name string
|
||||
}
|
||||
|
||||
func Open(opts ...Option) (device.Device, error) {
|
||||
t := &TUN{}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt(t)
|
||||
}
|
||||
func Open(name string, mtu uint32) (device.Device, error) {
|
||||
t := &TUN{name: name, mtu: mtu}
|
||||
|
||||
forcedMTU := defaultMTU
|
||||
if t.mtu > 0 {
|
||||
@@ -37,11 +33,11 @@ func Open(opts ...Option) (device.Device, error) {
|
||||
}
|
||||
t.nt = nt.(*tun.NativeTun)
|
||||
|
||||
mtu, err := nt.MTU()
|
||||
_mtu, err := nt.MTU()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("get mtu: %w", err)
|
||||
}
|
||||
t.mtu = uint32(mtu)
|
||||
t.mtu = uint32(_mtu)
|
||||
|
||||
ep, err := rwbased.New(t, t.mtu)
|
||||
if err != nil {
|
||||
|
@@ -27,7 +27,7 @@ func parseDevice(s string, mtu uint32) (device.Device, error) {
|
||||
|
||||
switch driver {
|
||||
case tun.Driver:
|
||||
return tun.Open(tun.WithName(name), tun.WithMTU(mtu))
|
||||
return tun.Open(name, mtu)
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported driver: %s", driver)
|
||||
}
|
||||
|
Reference in New Issue
Block a user