feat: 看起来效果不错.
This commit is contained in:
+13
-1
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user