mirror of
				https://github.com/2dust/v2rayN.git
				synced 2025-11-03 22:12:52 +00:00 
			
		
		
		
	Return api port=socks port +11
This commit is contained in:
		
							parent
							
								
									66e40edd0e
								
							
						
					
					
						commit
						4b2b45979b
					
				
					 3 changed files with 15 additions and 52 deletions
				
			
		| 
						 | 
				
			
			@ -579,11 +579,10 @@ namespace v2rayN
 | 
			
		|||
            return inUse;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static int GetFreePort()
 | 
			
		||||
        public static int GetFreePort(int defaultPort = 9090)
 | 
			
		||||
        {
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                int defaultPort = 9090;
 | 
			
		||||
                if (!Utile.PortInUse(defaultPort))
 | 
			
		||||
                {
 | 
			
		||||
                    return defaultPort;
 | 
			
		||||
| 
						 | 
				
			
			@ -598,7 +597,7 @@ namespace v2rayN
 | 
			
		|||
            catch
 | 
			
		||||
            {
 | 
			
		||||
            }
 | 
			
		||||
            return 69090;
 | 
			
		||||
            return 59090;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion 测速
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ namespace v2rayN.Handler
 | 
			
		|||
            {
 | 
			
		||||
                if (_statePort is null)
 | 
			
		||||
                {
 | 
			
		||||
                    _statePort = Utile.GetFreePort();
 | 
			
		||||
                    _statePort = Utile.GetFreePort(GetLocalPort(Global.InboundAPITagName));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                return _statePort.Value;
 | 
			
		||||
| 
						 | 
				
			
			@ -52,32 +52,18 @@ namespace v2rayN.Handler
 | 
			
		|||
 | 
			
		||||
        public int GetLocalPort(string protocol)
 | 
			
		||||
        {
 | 
			
		||||
            int localPort = _config.inbound.FirstOrDefault(t => t.protocol == Global.InboundSocks).localPort;
 | 
			
		||||
            if (protocol == Global.InboundSocks)
 | 
			
		||||
            var localPort = _config.inbound.FirstOrDefault(t => t.protocol == Global.InboundSocks)?.localPort ?? 10808;
 | 
			
		||||
            return protocol.ToLower() switch
 | 
			
		||||
            {
 | 
			
		||||
                return localPort;
 | 
			
		||||
            }
 | 
			
		||||
            else if (protocol == Global.InboundHttp)
 | 
			
		||||
            {
 | 
			
		||||
                return localPort + 1;
 | 
			
		||||
            }
 | 
			
		||||
            else if (protocol == Global.InboundSocks2)
 | 
			
		||||
            {
 | 
			
		||||
                return localPort + 2;
 | 
			
		||||
            }
 | 
			
		||||
            else if (protocol == Global.InboundHttp2)
 | 
			
		||||
            {
 | 
			
		||||
                return localPort + 3;
 | 
			
		||||
            }
 | 
			
		||||
            else if (protocol == ESysProxyType.Pac.ToString())
 | 
			
		||||
            {
 | 
			
		||||
                return localPort + 4;
 | 
			
		||||
            }
 | 
			
		||||
            else if (protocol == "speedtest")
 | 
			
		||||
            {
 | 
			
		||||
                return localPort + 103;
 | 
			
		||||
            }
 | 
			
		||||
            return localPort;
 | 
			
		||||
                Global.InboundSocks => localPort,
 | 
			
		||||
                Global.InboundHttp => localPort + 1,
 | 
			
		||||
                Global.InboundSocks2 => localPort + 2,
 | 
			
		||||
                Global.InboundHttp2 => localPort + 3,
 | 
			
		||||
                "pac" => localPort + 4,
 | 
			
		||||
                Global.InboundAPITagName => localPort + 11,
 | 
			
		||||
                "speedtest" => localPort + 21,
 | 
			
		||||
                _ => localPort,
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void AddProcess(IntPtr processHandle)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,28 +132,6 @@ namespace v2rayN.Handler
 | 
			
		|||
                _serverStatItem.todayDown = 0;
 | 
			
		||||
                _serverStatItem.dateNow = ticks;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private int GetFreePort()
 | 
			
		||||
        {
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                int defaultPort = 9090;
 | 
			
		||||
                if (!Utile.PortInUse(defaultPort))
 | 
			
		||||
                {
 | 
			
		||||
                    return defaultPort;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                TcpListener l = new(IPAddress.Loopback, 0);
 | 
			
		||||
                l.Start();
 | 
			
		||||
                int port = ((IPEndPoint)l.LocalEndpoint).Port;
 | 
			
		||||
                l.Stop();
 | 
			
		||||
                return port;
 | 
			
		||||
            }
 | 
			
		||||
            catch
 | 
			
		||||
            {
 | 
			
		||||
            }
 | 
			
		||||
            return 69090;
 | 
			
		||||
        }
 | 
			
		||||
        }        
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in a new issue