ddns_client 1.0.0

ddns_client.dart #

A Dart library for checking the public internet address and updating a dynamic dns entry.

pub package Build Status Coverage Status

Overview #

  • PublicAddressMonitor provides functionality for both a one time check of the public internet address and continuous (periodic) monitoring of the public internet address.

  • DynamicDnsUpdater and its subclasses provide functionality for updating a dynamic dns entry such as those at dyndns.org

Example #

A simple example for monitoring an internet address and updating a dyndns.org entry is provided as part of this package.

Monitoring a public internet address: #

var monitor = new PublicAddressMonitor();
monitor.startWatching().listen((PublicAddressEvent event) {
  if (event.oldAddress != null &&
      event.oldAddress != event.newAddress) {
    // process changed internet address here

Updating a dyndns.org entry: #

Dyndns2Updater updater = new Dyndns2Updater(
  username: yourUsername,
  password: yourPassword,
  hostname: yourHostname);
updater.update(newAddress).then((UpdateResult result) {
  if (result.success == true) {
    // success
  } else if (result.success == null) {
    // no change
  } else {
    // failed to update dynamic dns entry

1.0.0 #

  • widened dependency versions

0.8.2 #

  • Added additional ip addresses used for checking the local IP address
  • Added request timeout and enhanced response processing guard code
  • Added GoogleDomainUpdater for updating dynamic DNS records in Google Domains

0.8.1 #

  • Rename repo to danrubel/ddns_client.dart

0.8.0 #

  • Initial Version

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  ddns_client: ^1.0.0

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:ddns_client/ddns_updater.dart';
import 'package:ddns_client/public_address.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://dart.dev/dart-2#migration.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.0.0 <2.0.0