mirror of
				https://github.com/nadoo/glider.git
				synced 2025-11-04 07:42:38 +08:00 
			
		
		
		
	proxy: exit glider when it fails to listen (#284)
This commit is contained in:
		
							parent
							
								
									3c431ee6e1
								
							
						
					
					
						commit
						b502b129b7
					
				@ -22,7 +22,7 @@ func NewHTTPServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *HTTP) ListenAndServe() {
 | 
					func (s *HTTP) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[http] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[http] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -163,7 +163,7 @@ func NewKCPServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *KCP) ListenAndServe() {
 | 
					func (s *KCP) ListenAndServe() {
 | 
				
			||||||
	l, err := kcp.ListenWithOptions(s.addr, s.block, s.dataShards, s.parityShards)
 | 
						l, err := kcp.ListenWithOptions(s.addr, s.block, s.dataShards, s.parityShards)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[kcp] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[kcp] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ func (m *Mixed) ListenAndServe() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	l, err := net.Listen("tcp", m.addr)
 | 
						l, err := net.Listen("tcp", m.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[mixed] failed to listen on %s: %v", m.addr, err)
 | 
							log.Fatalf("[mixed] failed to listen on %s: %v", m.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -48,7 +48,7 @@ func NewPxyProtoServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *PxyProtoServer) ListenAndServe() {
 | 
					func (s *PxyProtoServer) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[pxyproto] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[pxyproto] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -55,7 +55,7 @@ func NewRedir6Server(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *RedirProxy) ListenAndServe() {
 | 
					func (s *RedirProxy) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[redir] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[redir] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -50,7 +50,7 @@ func NewSmuxServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *SmuxServer) ListenAndServe() {
 | 
					func (s *SmuxServer) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[smux] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[smux] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -31,7 +31,7 @@ func (s *Socks5) ListenAndServe() {
 | 
				
			|||||||
func (s *Socks5) ListenAndServeTCP() {
 | 
					func (s *Socks5) ListenAndServeTCP() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[socks5] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[socks5] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -99,7 +99,7 @@ func (s *Socks5) Serve(c net.Conn) {
 | 
				
			|||||||
func (s *Socks5) ListenAndServeUDP() {
 | 
					func (s *Socks5) ListenAndServeUDP() {
 | 
				
			||||||
	lc, err := net.ListenPacket("udp", s.addr)
 | 
						lc, err := net.ListenPacket("udp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[socks5] failed to listen on UDP %s: %v", s.addr, err)
 | 
							log.Fatalf("[socks5] failed to listen on UDP %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer lc.Close()
 | 
						defer lc.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -30,7 +30,7 @@ func (s *SS) ListenAndServe() {
 | 
				
			|||||||
func (s *SS) ListenAndServeTCP() {
 | 
					func (s *SS) ListenAndServeTCP() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[ss] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[ss] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -89,7 +89,7 @@ func (s *SS) Serve(c net.Conn) {
 | 
				
			|||||||
func (s *SS) ListenAndServeUDP() {
 | 
					func (s *SS) ListenAndServeUDP() {
 | 
				
			||||||
	lc, err := net.ListenPacket("udp", s.addr)
 | 
						lc, err := net.ListenPacket("udp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[ss] failed to listen on UDP %s: %v", s.addr, err)
 | 
							log.Fatalf("[ss] failed to listen on UDP %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer lc.Close()
 | 
						defer lc.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -52,7 +52,7 @@ func NewTCPServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *TCP) ListenAndServe() {
 | 
					func (s *TCP) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[tcp] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[tcp] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -137,7 +137,7 @@ func NewTLSServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *TLS) ListenAndServe() {
 | 
					func (s *TLS) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[tls] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[tls] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -64,7 +64,7 @@ func (s *TProxy) Serve(c net.Conn) {
 | 
				
			|||||||
func (s *TProxy) ListenAndServeUDP() {
 | 
					func (s *TProxy) ListenAndServeUDP() {
 | 
				
			||||||
	laddr, err := net.ResolveUDPAddr("udp", s.addr)
 | 
						laddr, err := net.ResolveUDPAddr("udp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[tproxyu] failed to resolve addr %s: %v", s.addr, err)
 | 
							log.Fatalf("[tproxyu] failed to resolve addr %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -56,7 +56,7 @@ func NewTrojanServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *Trojan) ListenAndServe() {
 | 
					func (s *Trojan) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[trojan] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[trojan] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -57,7 +57,7 @@ func NewUDPServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *UDP) ListenAndServe() {
 | 
					func (s *UDP) ListenAndServe() {
 | 
				
			||||||
	c, err := net.ListenPacket("udp", s.addr)
 | 
						c, err := net.ListenPacket("udp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[udp] failed to listen on UDP %s: %v", s.addr, err)
 | 
							log.Fatalf("[udp] failed to listen on UDP %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer c.Close()
 | 
						defer c.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -47,7 +47,7 @@ func (s *Unix) ListenAndServeTCP() {
 | 
				
			|||||||
	os.Remove(s.addr)
 | 
						os.Remove(s.addr)
 | 
				
			||||||
	l, err := net.Listen("unix", s.addr)
 | 
						l, err := net.Listen("unix", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[unix] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[unix] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@ func NewVLessServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *VLess) ListenAndServe() {
 | 
					func (s *VLess) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[vless] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[vless] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
@ -69,7 +69,7 @@ func NewWSSServer(s string, p proxy.Proxy) (proxy.Server, error) {
 | 
				
			|||||||
func (s *WS) ListenAndServe() {
 | 
					func (s *WS) ListenAndServe() {
 | 
				
			||||||
	l, err := net.Listen("tcp", s.addr)
 | 
						l, err := net.Listen("tcp", s.addr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		log.F("[ws] failed to listen on %s: %v", s.addr, err)
 | 
							log.Fatalf("[ws] failed to listen on %s: %v", s.addr, err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer l.Close()
 | 
						defer l.Close()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user