fix nil bypasser
This commit is contained in:
parent
6799cc5a95
commit
d49ec87c17
2
chain.go
2
chain.go
@ -302,7 +302,7 @@ func (c *Chain) selectRouteFor(addr string) (route *Chain, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
if node.Bypasser.Bypass(addr) {
|
||||
if node.Bypasser != nil && node.Bypasser.Bypass(addr) {
|
||||
break
|
||||
}
|
||||
|
||||
|
2
http.go
2
http.go
@ -189,7 +189,7 @@ func (h *httpHandler) handleRequest(conn net.Conn, req *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if h.options.Bypasser.Bypass(host) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||
resp.StatusCode = http.StatusForbidden
|
||||
|
||||
log.Logf("[http] %s - %s bypass %s",
|
||||
|
2
http2.go
2
http2.go
@ -374,7 +374,7 @@ func (h *http2Handler) roundTrip(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if h.options.Bypasser.Bypass(host) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||
log.Logf("[http2] %s - %s bypass %s",
|
||||
r.RemoteAddr, laddr, host)
|
||||
w.WriteHeader(http.StatusForbidden)
|
||||
|
2
sni.go
2
sni.go
@ -113,7 +113,7 @@ func (h *sniHandler) Handle(conn net.Conn) {
|
||||
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||
return
|
||||
}
|
||||
if h.options.Bypasser.Bypass(host) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||
log.Log("[sni] %s - %s bypass %s",
|
||||
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||
return
|
||||
|
16
socks.go
16
socks.go
@ -900,7 +900,7 @@ func (h *socks5Handler) handleConnect(conn net.Conn, req *gosocks5.Request) {
|
||||
}
|
||||
return
|
||||
}
|
||||
if h.options.Bypasser.Bypass(host) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||
log.Logf("[socks5] %s - %s : Bypass %s",
|
||||
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||
rep := gosocks5.NewReply(gosocks5.NotAllowed, nil)
|
||||
@ -1261,7 +1261,7 @@ func (h *socks5Handler) transportUDP(relay, peer net.PacketConn) (err error) {
|
||||
if err != nil {
|
||||
continue // drop silently
|
||||
}
|
||||
if h.options.Bypasser.Bypass(raddr.String()) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(raddr.String()) {
|
||||
log.Log("[socks5-udp] [bypass] write to", raddr)
|
||||
continue // bypass
|
||||
}
|
||||
@ -1288,7 +1288,7 @@ func (h *socks5Handler) transportUDP(relay, peer net.PacketConn) (err error) {
|
||||
if clientAddr == nil {
|
||||
continue
|
||||
}
|
||||
if h.options.Bypasser.Bypass(raddr.String()) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(raddr.String()) {
|
||||
log.Log("[socks5-udp] [bypass] read from", raddr)
|
||||
continue // bypass
|
||||
}
|
||||
@ -1341,7 +1341,7 @@ func (h *socks5Handler) tunnelClientUDP(uc *net.UDPConn, cc net.Conn) (err error
|
||||
clientAddr = addr
|
||||
}
|
||||
raddr := dgram.Header.Addr.String()
|
||||
if h.options.Bypasser.Bypass(raddr) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(raddr) {
|
||||
log.Log("[udp-tun] [bypass] write to", raddr)
|
||||
continue // bypass
|
||||
}
|
||||
@ -1370,7 +1370,7 @@ func (h *socks5Handler) tunnelClientUDP(uc *net.UDPConn, cc net.Conn) (err error
|
||||
continue
|
||||
}
|
||||
raddr := dgram.Header.Addr.String()
|
||||
if h.options.Bypasser.Bypass(raddr) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(raddr) {
|
||||
log.Log("[udp-tun] [bypass] read from", raddr)
|
||||
continue // bypass
|
||||
}
|
||||
@ -1469,7 +1469,7 @@ func (h *socks5Handler) tunnelServerUDP(cc net.Conn, pc net.PacketConn) (err err
|
||||
errc <- err
|
||||
return
|
||||
}
|
||||
if h.options.Bypasser.Bypass(addr.String()) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(addr.String()) {
|
||||
log.Log("[socks5] udp-tun bypass read from", addr)
|
||||
continue // bypass
|
||||
}
|
||||
@ -1502,7 +1502,7 @@ func (h *socks5Handler) tunnelServerUDP(cc net.Conn, pc net.PacketConn) (err err
|
||||
if err != nil {
|
||||
continue // drop silently
|
||||
}
|
||||
if h.options.Bypasser.Bypass(addr.String()) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(addr.String()) {
|
||||
log.Log("[socks5] udp-tun bypass write to", addr)
|
||||
continue // bypass
|
||||
}
|
||||
@ -1715,7 +1715,7 @@ func (h *socks4Handler) handleConnect(conn net.Conn, req *gosocks4.Request) {
|
||||
}
|
||||
return
|
||||
}
|
||||
if h.options.Bypasser.Bypass(addr) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(addr) {
|
||||
log.Log("[socks4] %s - %s : Bypass %s",
|
||||
conn.RemoteAddr(), conn.LocalAddr(), addr)
|
||||
rep := gosocks4.NewReply(gosocks4.Rejected, nil)
|
||||
|
6
ss.go
6
ss.go
@ -149,7 +149,7 @@ func (h *shadowHandler) Handle(conn net.Conn) {
|
||||
return
|
||||
}
|
||||
|
||||
if h.options.Bypasser.Bypass(host) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||
log.Logf("[ss] %s - %s : Bypass %s",
|
||||
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||
return
|
||||
@ -435,7 +435,7 @@ func (h *shadowUDPHandler) transportUDP(conn net.Conn, cc net.PacketConn) error
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if h.options.Bypasser.Bypass(addr.String()) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(addr.String()) {
|
||||
log.Log("[ssu] bypass", addr)
|
||||
return // bypass
|
||||
}
|
||||
@ -463,7 +463,7 @@ func (h *shadowUDPHandler) transportUDP(conn net.Conn, cc net.PacketConn) error
|
||||
if Debug {
|
||||
log.Logf("[ssu] %s <<< %s length: %d", conn.RemoteAddr(), addr, n)
|
||||
}
|
||||
if h.options.Bypasser.Bypass(addr.String()) {
|
||||
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(addr.String()) {
|
||||
log.Log("[ssu] bypass", addr)
|
||||
return // bypass
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user