mirror of
https://github.com/2dust/v2rayN.git
synced 2025-08-23 11:26:54 +00:00

Optimized and improved the code for killing core processes in non-Windows environments. Now uses a shell script for precise processing.
30 lines
890 B
C#
30 lines
890 B
C#
namespace ServiceLib.Handler.SysProxy;
|
|
|
|
public class ProxySettingOSX
|
|
{
|
|
private static readonly string _proxySetFileName = $"{Global.ProxySetOSXShellFileName.Replace(Global.NamespaceSample, "")}.sh";
|
|
|
|
public static async Task SetProxy(string host, int port, string exceptions)
|
|
{
|
|
List<string> args = ["set", host, port.ToString()];
|
|
if (exceptions.IsNotEmpty())
|
|
{
|
|
args.AddRange(exceptions.Split(','));
|
|
}
|
|
|
|
await ExecCmd(args);
|
|
}
|
|
|
|
public static async Task UnsetProxy()
|
|
{
|
|
List<string> args = ["clear"];
|
|
await ExecCmd(args);
|
|
}
|
|
|
|
private static async Task ExecCmd(List<string> args)
|
|
{
|
|
var fileName = await FileManager.CreateLinuxShellFile(_proxySetFileName, EmbedUtils.GetEmbedText(Global.ProxySetOSXShellFileName), false);
|
|
|
|
await Utils.GetCliWrapOutput(fileName, args);
|
|
}
|
|
}
|