Files
VDR/VirtualDDNSRouter.Client/Program.cs

26 lines
973 B
C#

using VirtualDDNSRouter.Client.Helpers;
var settings = await Helpers.GetSettings();
using var cts = new CancellationTokenSource();
Console.CancelKeyPress += (s, e) =>
{
Console.WriteLine("Shutdown requested…");
e.Cancel = true;
cts.Cancel();
};
var timer = new PeriodicTimer(TimeSpan.FromMinutes(settings.RefreshIntervalMinutes));
var client = new HttpClient { Timeout = TimeSpan.FromSeconds(10) };
var request = new HttpRequestMessage(HttpMethod.Get,
new Uri($"{settings.Host}/setip/{settings.Path}/{settings.DestinationPort}/{settings.ApiKey}"));
while (await timer.WaitForNextTickAsync())
{
if (cts.IsCancellationRequested) break;
var response = await client.SendAsync(request, cts.Token);
if (response.IsSuccessStatusCode)
Console.WriteLine("[INFO] IP address updated at " + DateTime.Now.ToString("HH:mm:ss"));
else
Console.WriteLine("[ERROR] IP address update failed at " + DateTime.Now.ToString("HH:mm:ss"));
}