Chore: allow tunnels don't set special proxy
This commit is contained in:
parent
a3873404ba
commit
cc1f051d99
3 changed files with 8 additions and 10 deletions
|
@ -340,7 +340,7 @@ func (t *Tunnel) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
parts := lo.Map(strings.Split(tp, ","), func(s string, _ int) string {
|
||||
return strings.TrimSpace(s)
|
||||
})
|
||||
if len(parts) != 4 {
|
||||
if len(parts) != 3 && len(parts) != 4 {
|
||||
return fmt.Errorf("invalid tunnel config %s", tp)
|
||||
}
|
||||
network := strings.Split(parts[0], "/")
|
||||
|
@ -367,8 +367,10 @@ func (t *Tunnel) UnmarshalYAML(unmarshal func(any) error) error {
|
|||
Network: network,
|
||||
Address: address,
|
||||
Target: target,
|
||||
Proxy: parts[3],
|
||||
})
|
||||
if len(parts) == 4 {
|
||||
t.Proxy = parts[3]
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -620,10 +622,12 @@ func ParseRawConfig(rawCfg *RawConfig) (*Config, error) {
|
|||
config.Tunnels = rawCfg.Tunnels
|
||||
// verify tunnels
|
||||
for _, t := range config.Tunnels {
|
||||
if len(t.Proxy) > 0 {
|
||||
if _, ok := config.Proxies[t.Proxy]; !ok {
|
||||
return nil, fmt.Errorf("tunnel proxy %s not found", t.Proxy)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
config.Sniffer, err = parseSniffer(rawCfg.Sniffer)
|
||||
if err != nil {
|
||||
|
|
|
@ -6,7 +6,6 @@ import (
|
|||
|
||||
"github.com/Dreamacro/clash/adapter/inbound"
|
||||
C "github.com/Dreamacro/clash/constant"
|
||||
"github.com/Dreamacro/clash/log"
|
||||
"github.com/Dreamacro/clash/transport/socks5"
|
||||
)
|
||||
|
||||
|
@ -52,8 +51,6 @@ func New(addr, target, proxy string, in chan<- C.ConnContext) (*Listener, error)
|
|||
return nil, fmt.Errorf("invalid target address %s", target)
|
||||
}
|
||||
|
||||
log.Infoln("TCP tunnel %s <-> %s", l.Addr().String(), target)
|
||||
|
||||
rl := &Listener{
|
||||
listener: l,
|
||||
target: targetAddr,
|
||||
|
|
|
@ -7,7 +7,6 @@ import (
|
|||
"github.com/Dreamacro/clash/adapter/inbound"
|
||||
"github.com/Dreamacro/clash/common/pool"
|
||||
C "github.com/Dreamacro/clash/constant"
|
||||
"github.com/Dreamacro/clash/log"
|
||||
"github.com/Dreamacro/clash/transport/socks5"
|
||||
)
|
||||
|
||||
|
@ -46,8 +45,6 @@ func NewUDP(addr, target, proxy string, in chan<- *inbound.PacketAdapter) (*Pack
|
|||
return nil, fmt.Errorf("invalid target address %s", target)
|
||||
}
|
||||
|
||||
log.Infoln("Udp tunnel %s <-> %s", l.LocalAddr().String(), target)
|
||||
|
||||
sl := &PacketConn{
|
||||
conn: l,
|
||||
target: targetAddr,
|
||||
|
|
Loading…
Reference in a new issue