Compare commits
4 Commits
v1.0.0-alp
...
v1.0.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
325bc905f0 | ||
|
|
4995a08260 | ||
|
|
6695db9d31 | ||
|
|
64de314ea5 |
@@ -1,11 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "cloudflare-dynamic-dns",
|
"name": "cloudflare-dynamic-dns",
|
||||||
"version": "1.0.0-alpha",
|
"version": "1.0.2",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "rimraf ./dist && tsc",
|
"start": "node .",
|
||||||
"start": "pnpm build && node ."
|
"dev": "tsc -w",
|
||||||
|
"build": "rimraf ./dist && tsc"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
|
|||||||
11
src/index.ts
11
src/index.ts
@@ -2,7 +2,8 @@ import { getDnsRecords, patchDnsRecords } from "./cloudflare";
|
|||||||
import getPublicIp from "./getPublicIp";
|
import getPublicIp from "./getPublicIp";
|
||||||
import * as log from "./log";
|
import * as log from "./log";
|
||||||
|
|
||||||
const { ZONE_ID, DOMAIN_NAMES, API_KEY, INTERVAL } = process.env;
|
const { ZONE_ID, DOMAIN_NAMES, API_KEY } = process.env;
|
||||||
|
const INTERVAL = process.env.INTERVAL ?? "5";
|
||||||
|
|
||||||
if (ZONE_ID === undefined) {
|
if (ZONE_ID === undefined) {
|
||||||
log.error("could not access environment variable 'ZONE_ID'");
|
log.error("could not access environment variable 'ZONE_ID'");
|
||||||
@@ -27,9 +28,9 @@ const dynamicDns = async () => {
|
|||||||
getDnsRecords(ZONE_ID, domainNames, "A", API_KEY),
|
getDnsRecords(ZONE_ID, domainNames, "A", API_KEY),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const dnsRecordsToPatch = dnsRecords.filter((dnsRecord) => {
|
const dnsRecordsToPatch = dnsRecords.filter((dnsRecord) =>
|
||||||
dnsRecord.content !== publicIp;
|
dnsRecord.content !== publicIp
|
||||||
});
|
);
|
||||||
|
|
||||||
if (dnsRecordsToPatch.length === 0) {
|
if (dnsRecordsToPatch.length === 0) {
|
||||||
log.info(`public ip address remained at '${publicIp}', no patch needed`);
|
log.info(`public ip address remained at '${publicIp}', no patch needed`);
|
||||||
@@ -60,5 +61,5 @@ const dynamicDns = async () => {
|
|||||||
dynamicDns();
|
dynamicDns();
|
||||||
setInterval(
|
setInterval(
|
||||||
dynamicDns,
|
dynamicDns,
|
||||||
Number.parseInt(INTERVAL === undefined ? "5" : INTERVAL) * 60 * 1000,
|
Number.parseInt(INTERVAL) * 60 * 1000,
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user