Browse Source

Return api port=socks port +11

pull/4802/head
2dust 9 months ago
parent
commit
4b2b45979b
  1. 5
      v2rayN/v2rayN/Common/Utile.cs
  2. 40
      v2rayN/v2rayN/Handler/LazyConfig.cs
  3. 24
      v2rayN/v2rayN/Handler/StatisticsHandler.cs

5
v2rayN/v2rayN/Common/Utile.cs

@ -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 测速

40
v2rayN/v2rayN/Handler/LazyConfig.cs

@ -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)
{
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;
var localPort = _config.inbound.FirstOrDefault(t => t.protocol == Global.InboundSocks)?.localPort ?? 10808;
return protocol.ToLower() switch
{
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)

24
v2rayN/v2rayN/Handler/StatisticsHandler.cs

@ -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…
Cancel
Save