Fix: replace pflag with flag

pflag was deprecated due to poor maintenance
This commit is contained in:
xjasonlyu
2021-02-11 13:06:12 +08:00
parent c96c5946c8
commit 7e55b71b30
4 changed files with 17 additions and 19 deletions

View File

@@ -50,22 +50,22 @@ main() {
fi fi
if [ -n "$MTU" ]; then if [ -n "$MTU" ]; then
ARGS="--mtu $MTU" ARGS="-mtu $MTU"
fi fi
if [ -n "$STATS" ]; then if [ -n "$STATS" ]; then
ARGS="$ARGS --stats $STATS" ARGS="$ARGS -stats $STATS"
fi fi
if [ -n "$TOKEN" ]; then if [ -n "$TOKEN" ]; then
ARGS="$ARGS --token $TOKEN" ARGS="$ARGS -token $TOKEN"
fi fi
exec tun2socks \ exec tun2socks \
--loglevel "$LOGLEVEL" \ -loglevel "$LOGLEVEL" \
--fwmark "$FWMARK" \ -fwmark "$FWMARK" \
--device "$TUN" \ -device "$TUN" \
--proxy "$PROXY" \ -proxy "$PROXY" \
$ARGS $ARGS
} }

View File

@@ -30,7 +30,7 @@ func Insert(k *Key) {
} }
type Key struct { type Key struct {
MTU uint32 MTU int
Mark int Mark int
Proxy string Proxy string
Stats string Stats string
@@ -138,7 +138,7 @@ func (e *engine) setDevice() (err error) {
return errors.New("empty device") return errors.New("empty device")
} }
e.device, err = parseDevice(e.Device, e.MTU) e.device, err = parseDevice(e.Device, uint32(e.MTU))
return return
} }

1
go.mod
View File

@@ -10,7 +10,6 @@ require (
github.com/gofrs/uuid v4.0.0+incompatible github.com/gofrs/uuid v4.0.0+incompatible
github.com/gorilla/websocket v1.4.2 github.com/gorilla/websocket v1.4.2
github.com/sirupsen/logrus v1.7.0 github.com/sirupsen/logrus v1.7.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.5.1 github.com/stretchr/testify v1.5.1
go.uber.org/atomic v1.7.0 go.uber.org/atomic v1.7.0
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect

17
main.go
View File

@@ -1,28 +1,27 @@
package main package main
import ( import (
"flag"
"os" "os"
"os/signal" "os/signal"
"syscall" "syscall"
"github.com/xjasonlyu/tun2socks/engine" "github.com/xjasonlyu/tun2socks/engine"
"github.com/xjasonlyu/tun2socks/log" "github.com/xjasonlyu/tun2socks/log"
flag "github.com/spf13/pflag"
) )
var key = new(engine.Key) var key = new(engine.Key)
func init() { func init() {
flag.StringVarP(&key.Device, "device", "d", "", "use this device [driver://]name") flag.IntVar(&key.Mark, "fwmark", 0, "Set firewall MARK (Linux only)")
flag.IntVar(&key.Mark, "fwmark", 0, "set firewall MARK (Linux only)") flag.IntVar(&key.MTU, "mtu", 0, "Set device maximum transmission unit (MTU)")
flag.StringVarP(&key.Interface, "interface", "i", "", "use network INTERFACE (Linux/MacOS only)") flag.BoolVar(&key.Version, "version", false, "Show version information and quit")
flag.StringVarP(&key.LogLevel, "loglevel", "l", "info", "log level [debug|info|warn|error|silent]") flag.StringVar(&key.Device, "device", "", "Use this device [driver://]name")
flag.Uint32VarP(&key.MTU, "mtu", "m", 0, "set device maximum transmission unit (MTU)") flag.StringVar(&key.Interface, "interface", "", "Use network INTERFACE (Linux/MacOS only)")
flag.StringVarP(&key.Proxy, "proxy", "p", "", "use this proxy [protocol://]host[:port]") flag.StringVar(&key.LogLevel, "loglevel", "info", "Log level [debug|info|warn|error|silent]")
flag.StringVar(&key.Proxy, "proxy", "", "Use this proxy [protocol://]host[:port]")
flag.StringVar(&key.Stats, "stats", "", "HTTP statistic server listen address") flag.StringVar(&key.Stats, "stats", "", "HTTP statistic server listen address")
flag.StringVar(&key.Token, "token", "", "HTTP statistic server auth token") flag.StringVar(&key.Token, "token", "", "HTTP statistic server auth token")
flag.BoolVarP(&key.Version, "version", "v", false, "show version information and quit")
flag.Parse() flag.Parse()
} }