mirror of
https://github.com/xjasonlyu/tun2socks.git
synced 2025-10-08 18:20:41 +08:00
Chore: rename proxy Type() to Proto()
This commit is contained in:
@@ -121,7 +121,7 @@ func (e *Engine) setStack() error {
|
|||||||
log.Infof(
|
log.Infof(
|
||||||
"[STACK] %s://%s <-> %s://%s",
|
"[STACK] %s://%s <-> %s://%s",
|
||||||
e.device.Type(), e.device.Name(),
|
e.device.Type(), e.device.Name(),
|
||||||
e.proxy.Type(), e.proxy.Addr(),
|
e.proxy.Proto(), e.proxy.Addr(),
|
||||||
)
|
)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@@ -33,9 +33,8 @@ func parseDevice(s string, mtu uint32) (device.Device, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func parseProxy(s string) (proxy.Proxy, error) {
|
func parseProxy(s string) (proxy.Proxy, error) {
|
||||||
const defaultProto = "socks5"
|
|
||||||
if !strings.Contains(s, "://") {
|
if !strings.Contains(s, "://") {
|
||||||
s = defaultProto + "://" + s
|
s = proxy.Socks5Proto.String() + "://" + s /* default protocol */
|
||||||
}
|
}
|
||||||
|
|
||||||
u, err := url.Parse(s)
|
u, err := url.Parse(s)
|
||||||
@@ -46,11 +45,11 @@ func parseProxy(s string) (proxy.Proxy, error) {
|
|||||||
proto := strings.ToLower(u.Scheme)
|
proto := strings.ToLower(u.Scheme)
|
||||||
|
|
||||||
switch proto {
|
switch proto {
|
||||||
case "direct":
|
case proxy.DirectProto.String():
|
||||||
return proxy.NewDirect(), nil
|
return proxy.NewDirect(), nil
|
||||||
case "socks5":
|
case proxy.Socks5Proto.String():
|
||||||
return proxy.NewSocks5(parseSocks(u))
|
return proxy.NewSocks5(parseSocks(u))
|
||||||
case "ss":
|
case proxy.ShadowsocksProto.String():
|
||||||
return proxy.NewShadowsocks(parseShadowsocks(u))
|
return proxy.NewShadowsocks(parseShadowsocks(u))
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("unsupported protocol: %s", proto)
|
return nil, fmt.Errorf("unsupported protocol: %s", proto)
|
||||||
|
@@ -22,8 +22,8 @@ func (b *Base) Addr() string {
|
|||||||
return b.addr
|
return b.addr
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Base) Type() string {
|
func (b *Base) Proto() string {
|
||||||
return "base"
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Base) DialContext(context.Context, *adapter.Metadata) (net.Conn, error) {
|
func (b *Base) DialContext(context.Context, *adapter.Metadata) (net.Conn, error) {
|
||||||
|
@@ -20,8 +20,8 @@ func NewDirect() *Direct {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Direct) Type() string {
|
func (d *Direct) Proto() string {
|
||||||
return "direct"
|
return DirectProto.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Direct) DialContext(ctx context.Context, metadata *adapter.Metadata) (net.Conn, error) {
|
func (d *Direct) DialContext(ctx context.Context, metadata *adapter.Metadata) (net.Conn, error) {
|
||||||
|
24
proxy/proto.go
Normal file
24
proxy/proto.go
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package proxy
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
const (
|
||||||
|
DirectProto Proto = iota
|
||||||
|
ShadowsocksProto
|
||||||
|
Socks5Proto
|
||||||
|
)
|
||||||
|
|
||||||
|
type Proto uint8
|
||||||
|
|
||||||
|
func (proto Proto) String() string {
|
||||||
|
switch proto {
|
||||||
|
case DirectProto:
|
||||||
|
return "direct"
|
||||||
|
case ShadowsocksProto:
|
||||||
|
return "ss"
|
||||||
|
case Socks5Proto:
|
||||||
|
return "socks5"
|
||||||
|
default:
|
||||||
|
return fmt.Sprintf("proto(%d)", proto)
|
||||||
|
}
|
||||||
|
}
|
@@ -25,7 +25,7 @@ type Dialer interface {
|
|||||||
type Proxy interface {
|
type Proxy interface {
|
||||||
Dialer
|
Dialer
|
||||||
Addr() string
|
Addr() string
|
||||||
Type() string
|
Proto() string
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetDialer sets default Dialer.
|
// SetDialer sets default Dialer.
|
||||||
|
@@ -39,8 +39,8 @@ func NewShadowsocks(addr, method, password, obfsMode, obfsHost string) (*Shadows
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ss *Shadowsocks) Type() string {
|
func (ss *Shadowsocks) Proto() string {
|
||||||
return "ss"
|
return ShadowsocksProto.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ss *Shadowsocks) DialContext(ctx context.Context, metadata *adapter.Metadata) (c net.Conn, err error) {
|
func (ss *Shadowsocks) DialContext(ctx context.Context, metadata *adapter.Metadata) (c net.Conn, err error) {
|
||||||
|
@@ -29,8 +29,8 @@ func NewSocks5(addr, user, pass string) (*Socks5, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ss *Socks5) Type() string {
|
func (ss *Socks5) Proto() string {
|
||||||
return "socks5"
|
return Socks5Proto.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ss *Socks5) DialContext(ctx context.Context, metadata *adapter.Metadata) (c net.Conn, err error) {
|
func (ss *Socks5) DialContext(ctx context.Context, metadata *adapter.Metadata) (c net.Conn, err error) {
|
||||||
|
Reference in New Issue
Block a user