private void SetDnsTxt(string dnsTxt) { Logger.LogInformation("Updating DuckDns TXT record.."); if (!DuckDnsClient.UpdateTxtAsync(dnsTxt).Result) { Logger.LogError("DuckDns entry update failed"); } }
public LetsDuckClient(ILoggerFactory loggerFactory, LetsEncryptConfiguration letsEncryptConfiguration, DuckDnsConfiguration duckDnsConfiguration, string letsEncryptPemKey = null) { Logger = loggerFactory.CreateLogger <LetsDuckClient>(); LetsEncryptClient = new LetsEncryptClient(letsEncryptConfiguration); DuckDnsClient = new DuckDnsClient(duckDnsConfiguration); LetsEncryptPemKey = letsEncryptPemKey; }
public IpUpdater(ILoggerFactory loggerFactory, IOptions <IpUpdaterConfiguration> options, IOptions <DuckDnsConfiguration> duckDnsOptions) { Logger = loggerFactory.CreateLogger <IpUpdater>(); DuckDnsClient = new DuckDnsClient(duckDnsOptions.Value); Timer = new Timer(Callback, null, TimeSpan.Zero, options.Value.UpdateInterval); Logger.LogInformation($"{nameof(IpUpdater)} running"); }
private void Callback(object state) { Logger.LogTrace("Updating ip.."); if (DuckDnsClient.UpdateIpAsync().Result) { Logger.LogTrace("Ip updated."); } else { Logger.LogError("Failed to update ip."); } }