mirror of
https://github.com/xjasonlyu/tun2socks.git
synced 2025-10-06 01:07:03 +08:00
Chore: with engine
This commit is contained in:
@@ -62,13 +62,11 @@ func (e *engine) start() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, f := range []func() error{
|
for _, f := range []func() error{
|
||||||
e.applyLogLevel,
|
e.withGeneral,
|
||||||
e.applyDialer,
|
e.withRestAPI,
|
||||||
e.applyRestAPI,
|
e.withProxy,
|
||||||
e.applyUDPTimeout,
|
e.withDevice,
|
||||||
e.applyProxy,
|
e.withStack,
|
||||||
e.applyDevice,
|
|
||||||
e.applyStack,
|
|
||||||
} {
|
} {
|
||||||
if err := f(); err != nil {
|
if err := f(); err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -92,28 +90,30 @@ func (e *engine) insert(k *Key) {
|
|||||||
e.Key = k
|
e.Key = k
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *engine) applyLogLevel() error {
|
func (e *engine) withGeneral() error {
|
||||||
level, err := log.ParseLevel(e.LogLevel)
|
level, err := log.ParseLevel(e.LogLevel)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
log.SetLevel(level)
|
log.SetLevel(level)
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *engine) applyDialer() error {
|
|
||||||
if e.Interface != "" {
|
if e.Interface != "" {
|
||||||
dialer.DefaultInterfaceName.Store(e.Interface)
|
dialer.DefaultInterfaceName.Store(e.Interface)
|
||||||
log.Infof("[DIALER] bind to interface: %s", e.Interface)
|
log.Infof("[DIALER] bind to interface: %s", e.Interface)
|
||||||
}
|
}
|
||||||
|
|
||||||
if e.Mark != 0 {
|
if e.Mark != 0 {
|
||||||
dialer.DefaultRoutingMark.Store(int32(e.Mark))
|
dialer.DefaultRoutingMark.Store(int32(e.Mark))
|
||||||
log.Infof("[DIALER] set fwmark: %#x", e.Mark)
|
log.Infof("[DIALER] set fwmark: %#x", e.Mark)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if e.UDPTimeout > 0 {
|
||||||
|
tunnel.SetUDPTimeout(e.UDPTimeout)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *engine) applyRestAPI() error {
|
func (e *engine) withRestAPI() error {
|
||||||
if e.RestAPI != "" {
|
if e.RestAPI != "" {
|
||||||
u, err := parseRestAPI(e.RestAPI)
|
u, err := parseRestAPI(e.RestAPI)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -131,14 +131,7 @@ func (e *engine) applyRestAPI() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *engine) applyUDPTimeout() error {
|
func (e *engine) withProxy() (err error) {
|
||||||
if e.UDPTimeout > 0 {
|
|
||||||
tunnel.SetUDPTimeout(e.UDPTimeout)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *engine) applyProxy() (err error) {
|
|
||||||
if e.Proxy == "" {
|
if e.Proxy == "" {
|
||||||
return errors.New("empty proxy")
|
return errors.New("empty proxy")
|
||||||
}
|
}
|
||||||
@@ -148,7 +141,7 @@ func (e *engine) applyProxy() (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *engine) applyDevice() (err error) {
|
func (e *engine) withDevice() (err error) {
|
||||||
if e.Device == "" {
|
if e.Device == "" {
|
||||||
return errors.New("empty device")
|
return errors.New("empty device")
|
||||||
}
|
}
|
||||||
@@ -157,7 +150,7 @@ func (e *engine) applyDevice() (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *engine) applyStack() (err error) {
|
func (e *engine) withStack() (err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
log.Infof(
|
log.Infof(
|
||||||
|
Reference in New Issue
Block a user