feat: 看起来效果不错.

This commit is contained in:
2025-01-11 02:35:39 +08:00
parent 66a0a2de08
commit 9ed913b15d
6 changed files with 372 additions and 87 deletions
+13 -1
View File
@@ -30,6 +30,7 @@ internal class Program
{
configure.AddConfiguration(configuration);
configure.AddConsole();
configure.SetMinimumLevel(LogLevel.Debug);
})
.Configure<ProxdConfig>(configuration.GetSection("Proxd"))
.AddSingleton<XrayCoreManager>()
@@ -44,7 +45,18 @@ internal class Program
var subscribeManager = serviceProvider.GetRequiredService<SubscribeManager>();
await subscribeManager.CheckAndUpdateSubscribes();
var outboundMonitor = serviceProvider.GetRequiredService<OutboundMonitor>();
if (subscribeManager.GetSubscribeOutbounds().Count > 0)
{
logger.LogInformation("已通过订阅获取到出站代理, 正在尝试选取最优出站代理...");
_ = outboundMonitor.ReselectOutbound(subscribeManager.GetSubscribeOutbounds());
}
else
{
logger.LogWarning("没有获取到任何出站代理, 等待下一次订阅更新...");
}
subscribeManager.StartUpdateSubscribes();
// 监听 SIGTERM 和 SIGINT 信号, 以优雅退出
var cts = new CancellationTokenSource();
AppDomain.CurrentDomain.ProcessExit += (_, _) => cts.Cancel();