mirror of
				https://github.com/nadoo/glider.git
				synced 2025-11-04 07:42:38 +08:00 
			
		
		
		
	mixed: remove ss from mixed proxy
This commit is contained in:
		
							parent
							
								
									ec21d5325f
								
							
						
					
					
						commit
						93aac48d73
					
				@ -41,6 +41,7 @@ General:
 | 
			
		||||
- Rule proxy based on destinations: [Config Examples](config/examples)
 | 
			
		||||
 | 
			
		||||
TODO:
 | 
			
		||||
- [ ] UDP over TCP
 | 
			
		||||
- [ ] UDP Tunnel
 | 
			
		||||
- [ ] Linux tproxy support & UDP Relay
 | 
			
		||||
- [ ] TUN/TAP device support
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								dns.go
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								dns.go
									
									
									
									
									
								
							@ -77,19 +77,19 @@ func NewDNS(addr, raddr string, sDialer Dialer) (*DNS, error) {
 | 
			
		||||
 | 
			
		||||
// ListenAndServe .
 | 
			
		||||
func (s *DNS) ListenAndServe() {
 | 
			
		||||
	l, err := net.ListenPacket("udp", s.addr)
 | 
			
		||||
	c, err := net.ListenPacket("udp", s.addr)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logf("failed to listen on %s: %v", s.addr, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	defer l.Close()
 | 
			
		||||
	defer c.Close()
 | 
			
		||||
 | 
			
		||||
	logf("listening UDP on %s", s.addr)
 | 
			
		||||
 | 
			
		||||
	for {
 | 
			
		||||
		data := make([]byte, DNSUDPMaxLen)
 | 
			
		||||
 | 
			
		||||
		n, clientAddr, err := l.ReadFrom(data)
 | 
			
		||||
		n, clientAddr, err := c.ReadFrom(data)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			logf("DNS local read error: %v", err)
 | 
			
		||||
			continue
 | 
			
		||||
@ -146,7 +146,7 @@ func (s *DNS) ListenAndServe() {
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				_, err = l.WriteTo(msg, clientAddr)
 | 
			
		||||
				_, err = c.WriteTo(msg, clientAddr)
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					logf("error in local write: %s\n", err)
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								mixed.go
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								mixed.go
									
									
									
									
									
								
							@ -24,7 +24,6 @@ type MixedProxy struct {
 | 
			
		||||
	addr   string
 | 
			
		||||
	http   *HTTP
 | 
			
		||||
	socks5 *SOCKS5
 | 
			
		||||
	ss     *SS
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewMixedProxy returns a mixed proxy.
 | 
			
		||||
@ -37,10 +36,6 @@ func NewMixedProxy(network, addr, user, pass string, sDialer Dialer) (*MixedProx
 | 
			
		||||
	p.http, _ = NewHTTP(addr, nil, sDialer)
 | 
			
		||||
	p.socks5, _ = NewSOCKS5(network, addr, user, pass, nil, sDialer)
 | 
			
		||||
 | 
			
		||||
	if user != "" && pass != "" {
 | 
			
		||||
		p.ss, _ = NewSS(addr, user, pass, nil, sDialer)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return p, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -103,7 +98,4 @@ func (p *MixedProxy) Serve(conn net.Conn) {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if p.ss != nil {
 | 
			
		||||
		p.ss.Serve(c)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user