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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if node.Bypasser.Bypass(addr) {
|
if node.Bypasser != nil && node.Bypasser.Bypass(addr) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
http.go
2
http.go
@ -189,7 +189,7 @@ func (h *httpHandler) handleRequest(conn net.Conn, req *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if h.options.Bypasser.Bypass(host) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||||
resp.StatusCode = http.StatusForbidden
|
resp.StatusCode = http.StatusForbidden
|
||||||
|
|
||||||
log.Logf("[http] %s - %s bypass %s",
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if h.options.Bypasser.Bypass(host) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||||
log.Logf("[http2] %s - %s bypass %s",
|
log.Logf("[http2] %s - %s bypass %s",
|
||||||
r.RemoteAddr, laddr, host)
|
r.RemoteAddr, laddr, host)
|
||||||
w.WriteHeader(http.StatusForbidden)
|
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)
|
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if h.options.Bypasser.Bypass(host) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||||
log.Log("[sni] %s - %s bypass %s",
|
log.Log("[sni] %s - %s bypass %s",
|
||||||
conn.RemoteAddr(), conn.LocalAddr(), host)
|
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||||
return
|
return
|
||||||
|
16
socks.go
16
socks.go
@ -900,7 +900,7 @@ func (h *socks5Handler) handleConnect(conn net.Conn, req *gosocks5.Request) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if h.options.Bypasser.Bypass(host) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||||
log.Logf("[socks5] %s - %s : Bypass %s",
|
log.Logf("[socks5] %s - %s : Bypass %s",
|
||||||
conn.RemoteAddr(), conn.LocalAddr(), host)
|
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||||
rep := gosocks5.NewReply(gosocks5.NotAllowed, nil)
|
rep := gosocks5.NewReply(gosocks5.NotAllowed, nil)
|
||||||
@ -1261,7 +1261,7 @@ func (h *socks5Handler) transportUDP(relay, peer net.PacketConn) (err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
continue // drop silently
|
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)
|
log.Log("[socks5-udp] [bypass] write to", raddr)
|
||||||
continue // bypass
|
continue // bypass
|
||||||
}
|
}
|
||||||
@ -1288,7 +1288,7 @@ func (h *socks5Handler) transportUDP(relay, peer net.PacketConn) (err error) {
|
|||||||
if clientAddr == nil {
|
if clientAddr == nil {
|
||||||
continue
|
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)
|
log.Log("[socks5-udp] [bypass] read from", raddr)
|
||||||
continue // bypass
|
continue // bypass
|
||||||
}
|
}
|
||||||
@ -1341,7 +1341,7 @@ func (h *socks5Handler) tunnelClientUDP(uc *net.UDPConn, cc net.Conn) (err error
|
|||||||
clientAddr = addr
|
clientAddr = addr
|
||||||
}
|
}
|
||||||
raddr := dgram.Header.Addr.String()
|
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)
|
log.Log("[udp-tun] [bypass] write to", raddr)
|
||||||
continue // bypass
|
continue // bypass
|
||||||
}
|
}
|
||||||
@ -1370,7 +1370,7 @@ func (h *socks5Handler) tunnelClientUDP(uc *net.UDPConn, cc net.Conn) (err error
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
raddr := dgram.Header.Addr.String()
|
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)
|
log.Log("[udp-tun] [bypass] read from", raddr)
|
||||||
continue // bypass
|
continue // bypass
|
||||||
}
|
}
|
||||||
@ -1469,7 +1469,7 @@ func (h *socks5Handler) tunnelServerUDP(cc net.Conn, pc net.PacketConn) (err err
|
|||||||
errc <- err
|
errc <- err
|
||||||
return
|
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)
|
log.Log("[socks5] udp-tun bypass read from", addr)
|
||||||
continue // bypass
|
continue // bypass
|
||||||
}
|
}
|
||||||
@ -1502,7 +1502,7 @@ func (h *socks5Handler) tunnelServerUDP(cc net.Conn, pc net.PacketConn) (err err
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
continue // drop silently
|
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)
|
log.Log("[socks5] udp-tun bypass write to", addr)
|
||||||
continue // bypass
|
continue // bypass
|
||||||
}
|
}
|
||||||
@ -1715,7 +1715,7 @@ func (h *socks4Handler) handleConnect(conn net.Conn, req *gosocks4.Request) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if h.options.Bypasser.Bypass(addr) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(addr) {
|
||||||
log.Log("[socks4] %s - %s : Bypass %s",
|
log.Log("[socks4] %s - %s : Bypass %s",
|
||||||
conn.RemoteAddr(), conn.LocalAddr(), addr)
|
conn.RemoteAddr(), conn.LocalAddr(), addr)
|
||||||
rep := gosocks4.NewReply(gosocks4.Rejected, nil)
|
rep := gosocks4.NewReply(gosocks4.Rejected, nil)
|
||||||
|
6
ss.go
6
ss.go
@ -149,7 +149,7 @@ func (h *shadowHandler) Handle(conn net.Conn) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if h.options.Bypasser.Bypass(host) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(host) {
|
||||||
log.Logf("[ss] %s - %s : Bypass %s",
|
log.Logf("[ss] %s - %s : Bypass %s",
|
||||||
conn.RemoteAddr(), conn.LocalAddr(), host)
|
conn.RemoteAddr(), conn.LocalAddr(), host)
|
||||||
return
|
return
|
||||||
@ -435,7 +435,7 @@ func (h *shadowUDPHandler) transportUDP(conn net.Conn, cc net.PacketConn) error
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if h.options.Bypasser.Bypass(addr.String()) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(addr.String()) {
|
||||||
log.Log("[ssu] bypass", addr)
|
log.Log("[ssu] bypass", addr)
|
||||||
return // bypass
|
return // bypass
|
||||||
}
|
}
|
||||||
@ -463,7 +463,7 @@ func (h *shadowUDPHandler) transportUDP(conn net.Conn, cc net.PacketConn) error
|
|||||||
if Debug {
|
if Debug {
|
||||||
log.Logf("[ssu] %s <<< %s length: %d", conn.RemoteAddr(), addr, n)
|
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)
|
log.Log("[ssu] bypass", addr)
|
||||||
return // bypass
|
return // bypass
|
||||||
}
|
}
|
||||||
|
2
ssh.go
2
ssh.go
@ -608,7 +608,7 @@ func (h *sshForwardHandler) directPortForwardChannel(channel ssh.Channel, raddr
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if h.options.Bypasser.Bypass(raddr) {
|
if h.options.Bypasser != nil && h.options.Bypasser.Bypass(raddr) {
|
||||||
log.Logf("[ssh-tcp] [bypass] %s", raddr)
|
log.Logf("[ssh-tcp] [bypass] %s", raddr)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user