Skip to content

Latest commit

 

History

History
144 lines (89 loc) · 4.79 KB

README.md

File metadata and controls

144 lines (89 loc) · 4.79 KB

no-ip-ddns-ipv6

Noip.com Dynamic DNS update client built in Node.js ,support ipv6

自动查询公共 ipv6 地址,提交域名解析

自动更新的最短间隔时间为 30 秒

Public IPV6 addresses are automatically Enquiried, and

the minimum time between submission of domain name resolution and automatic updates is 30 seconds

thanks to @roccomuso

https://github.com/roccomuso/no-ip

no-ip Build Status NPM Version Dependency Status JavaScript Style Guide Patreon donate button

Noip.com Dynamic DNS update client built in Node.js. It makes easy to remote access your connected devices!

Install

The easiest way to get no-ip is with npm:

npm install @masx200/no-ip-ddns-ipv6 --save

or having it globally installed and used as a standalone tool:

npm install -g @masx200/no-ip-ddns-ipv6

Example usage

var NoIP = require("@masx200/no-ip-ddns-ipv6");

var noip = new NoIP({
    hostname: "hello-world.ddns.net",
    user: "[email protected]",
    pass: "s3cr3tz",
});

noip.on("error", function (err) {
    console.log(err);
});

noip.on("success", function (isChanged, ip) {
    console.log(isChanged, ip);
});

noip.update(); // Manual update, you can also provide a custom IP address

// noip.start() // start an automatic renewal every 1h by default or provide a custom ms.
// noip.stop() // stop the previously started automatic update

Events

.on('success', callback): The callback accepts two params isChanged and ip that gives you the current IP address your domain is currently pointing to and a boolean value indicating if an update was performed.

.on('error', callback): Called when an error occurs.

Methods

.update([ip]): Send an update request. Optionally you can provide a custom IP.

.start([ms]): Start an automatic renewal every 1h by default or provide a custom ms.

.stop(): Stop the automatic update.

.setOffline([boolean]): Sets the current host to offline status. Offline settings are an Enhanced / No-IP Plus feature. You should call the update method after this flag have been set.

.setIp([ip]): Set a custom IP Address for the update requests.

Standalone usage

If used standalone, I recommend you to start it with some process manager, like PM2.

 npx @masx200/no-ip-ddns-ipv6 -h hello-world.ddns.net -u hello -p s3cr3t -s

That start automatic DNS renewal once an hour. To see supported parameters and usage examples just type:

 npx @masx200/no-ip-ddns-ipv6 --help
Usage: no-ip-ddns-ipv6 -h [hostname] -u [user] -p [password] -t [interval(ms)] -i
[customIP] -s

Options:
  --help, -H      Show help                                            [boolean]
  --hostname, -h  Your hostname                              [string] [required]
  --username, -u  Username for the noip.com DDNS account     [string] [required]
  --password, -p  You account password                       [string] [required]
  --ip, -i        Set a custom IP Address                               [string]
  --offline, -o   Sets the current host to offline status.             [boolean]
  --interval, -t  Renewal interval, in milliseconds. [number] [default: 3600000]
  --start, -s     Start automatic renewal once an hour by default      [boolean]

Examples:
  no-ip-ddns-ipv6 -h hello-world.ddns.net -u hello    -p s3cr3t -s

  Start automatic DNS renewal once an hour

  no-ip-ddns-ipv6 -h hello-world.ddns.net -u hello    -p s3cr3t

              Send a single update request using your current IP address

  no-ip-ddns-ipv6 -h hello-world.ddns.net -u hello    -p s3cr3t -i 173.26.2.66

   Send a single update request using a custom IP Address

  no-ip-ddns-ipv6 -h hello-world.ddns.net -u hello   -p s3cr3t -t 604800000 -s

   Start automatic DNS renewal once a week

Author

Rocco Musolino (@roccomuso)

License

MIT

NOIP.COM API

https://www.noip.com/integrate/ip-detection

https://www.noip.com/integrate/request