UNPKG

ddnsman

Version:
38 lines (37 loc) 1.07 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const debug_1 = __importDefault(require("debug")); const net_1 = require("net"); const info = debug_1.default('ddnsman:info'); const error = debug_1.default('ddnsman:error'); exports.getPublicIP = async () => { return new Promise((resolve, reject) => { const data = []; net_1.connect({ host: 'ns1.dnspod.net', port: 6666 }) .on('data', (chunk) => { data.push(chunk); }) .on('end', () => { const ip = Buffer.concat(data).toString(); if (net_1.isIP(ip)) { resolve(ip); } else { reject(new TypeError('Invalid IP address:' + ip)); } }) .on('error', (err) => { reject(err); }); }); }; exports.logger = { info, error };