26 lines
973 B
C#
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"));
|
|
} |