Domain Detective

API Reference

Class

DnsPropagationMonitor

Namespace DomainDetective.Monitoring
Assembly DomainDetective

Monitors DNS propagation discrepancies over time.

Inheritance

  • Object
  • DnsPropagationMonitor

Remarks

Regular queries against a set of public resolvers track how quickly records spread and highlight inconsistent answers.

Constructors

Methods

public Void AddServer(PublicDnsEntry entry) #
Returns: Void

Adds a custom DNS server.

Parameters

entry DomainDetective.PublicDnsEntry requiredposition: 0
Server entry.
public Void LoadBuiltinServers() #
Returns: Void

Loads DNS servers from the embedded list.

public Void LoadServers(String filePath) #
Returns: Void

Loads DNS servers from JSON file.

Parameters

filePath System.String requiredposition: 0
Path to server list. If null or empty the builtin list is loaded.
public async Task RunAsync(CancellationToken ct = null) #
Returns: Task

Runs a single propagation check.

Parameters

ct System.Threading.CancellationToken = null optionalposition: 0
public Void Start() #
Returns: Void

Starts the monitor.

public Void Stop() #
Returns: Void

Stops the monitor.

public Void UseCustom(Func<String, CancellationToken, Task> handler) #
Returns: Void

Configure a custom notification handler.

Parameters

handler System.Func{System.String,System.Threading.CancellationToken,System.Threading.Tasks.Task} requiredposition: 0
public Void UseEmail(String smtpHost, Int32 port, Boolean useSsl, String from, String to, String username = null, String password = null) #
Returns: Void

Configure an email notification.

Parameters

smtpHost System.String requiredposition: 0
port System.Int32 requiredposition: 1
useSsl System.Boolean requiredposition: 2
from System.String requiredposition: 3
to System.String requiredposition: 4
username System.String = null optionalposition: 5
password System.String = null optionalposition: 6
public Void UseWebhook(String url) #
Returns: Void

Configure a webhook notification.

Parameters

url System.String requiredposition: 0

Properties

public String Domain { get; set; } #

Domain to query.

public DnsRecordType RecordType { get; set; } #

Record type to check.

public TimeSpan Interval { get; set; } #

Interval between checks.

public INotificationSender Notifier { get; set; } #

Notification sender.

public Func<IEnumerable<PublicDnsEntry>, CancellationToken, Task<List<DnsPropagationResult>>> QueryOverride { get; set; } #

Override query for testing.

public Nullable<CountryId> Country { get; set; } #

Country filter for builtin servers.

public Nullable<LocationId> Location { get; set; } #

Location filter for builtin servers.

public ConcurrentBag<PublicDnsEntry> CustomServers { get; } #

Additional user supplied servers.

public Int32 MaxParallelism { get; set; } #

Maximum concurrent DNS queries.

{{ include "footer" }}