Feature: add default-nameserver and outbound interface

This commit is contained in:
Dreamacro
2020-02-15 21:42:46 +08:00
parent f69f635e0b
commit d75cb069d9
28 changed files with 578 additions and 347 deletions

View File

@ -16,10 +16,6 @@ import (
"github.com/Dreamacro/clash/tunnel"
)
var (
tun = tunnel.Instance()
)
type HttpListener struct {
net.Listener
address string
@ -100,9 +96,9 @@ func handleConn(conn net.Conn, cache *cache.Cache) {
if err != nil {
return
}
tun.Add(adapters.NewHTTPS(request, conn))
tunnel.Add(adapters.NewHTTPS(request, conn))
return
}
tun.Add(adapters.NewHTTP(request, conn))
tunnel.Add(adapters.NewHTTP(request, conn))
}

View File

@ -9,10 +9,6 @@ import (
"github.com/Dreamacro/clash/tunnel"
)
var (
tun = tunnel.Instance()
)
type RedirListener struct {
net.Listener
address string
@ -59,5 +55,5 @@ func handleRedir(conn net.Conn) {
return
}
conn.(*net.TCPConn).SetKeepAlive(true)
tun.Add(inbound.NewSocket(target, conn, C.REDIR, C.TCP))
tunnel.Add(inbound.NewSocket(target, conn, C.REDIR, C.TCP))
}

View File

@ -13,10 +13,6 @@ import (
"github.com/Dreamacro/clash/tunnel"
)
var (
tun = tunnel.Instance()
)
type SockListener struct {
net.Listener
address string
@ -68,5 +64,5 @@ func handleSocks(conn net.Conn) {
io.Copy(ioutil.Discard, conn)
return
}
tun.Add(adapters.NewSocket(target, conn, C.SOCKS, C.TCP))
tunnel.Add(adapters.NewSocket(target, conn, C.SOCKS, C.TCP))
}

View File

@ -7,6 +7,7 @@ import (
"github.com/Dreamacro/clash/common/pool"
"github.com/Dreamacro/clash/component/socks5"
C "github.com/Dreamacro/clash/constant"
"github.com/Dreamacro/clash/tunnel"
)
type SockUDPListener struct {
@ -62,5 +63,5 @@ func handleSocksUDP(pc net.PacketConn, buf []byte, addr net.Addr) {
payload: payload,
bufRef: buf,
}
tun.AddPacket(adapters.NewPacket(target, packet, C.SOCKS))
tunnel.AddPacket(adapters.NewPacket(target, packet, C.SOCKS))
}