Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dli7319/ddns-cloudflare-javascript
Another DDNS Updater for Cloudflare written in Javascript
https://github.com/dli7319/ddns-cloudflare-javascript
cloudflare ddns-updater javascript
Last synced: about 2 months ago
JSON representation
Another DDNS Updater for Cloudflare written in Javascript
- Host: GitHub
- URL: https://github.com/dli7319/ddns-cloudflare-javascript
- Owner: dli7319
- License: mit
- Created: 2018-12-01T07:43:32.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-09-24T03:48:40.000Z (over 1 year ago)
- Last Synced: 2024-12-03T07:08:07.729Z (2 months ago)
- Topics: cloudflare, ddns-updater, javascript
- Language: JavaScript
- Size: 191 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ddns-cloudflare-javascript
Another DDNS Updater for Cloudflare written in Javascript.
This will update the IPs of A and AAAA records.## Usage:
1. Clone or download the repo
2. Run `npm install` to install all necessary dependencies.
3. Fill in `parameters.yaml` with information from your Cloudflare Account. You can remove the zones array to scan for all zones.
* Create a token with Zone.Zone and Zone.DNS edit permissions at https://dash.cloudflare.com/profile/api-tokens.
* To use an API Key instead, replace `TOKEN` with `API_KEY` and `EMAIL`.
4. Run `npm start` to update records on Cloudflare.
5. Make a cron job to run this every so often with `crontab -e`.
Appending the following to update every 15 minutes:
`*/15 * * * * /full/path/to/ddns-cloudflare-javascript/update_records.sh`## Configuration
See `parameters.example.yaml`.### Local IP
To use a local IP, name the interface under `LOCAL_INTERFACE` or `LOCAL_INTERFACE_V6`.
As an interface can have multiple IPs, you should add an IP index here.
```yaml
LOCAL_INTERFACE:
name: "eth0"
ip_index: 0
```### Allowlist
To create an allowlist of records, add an `EXCLUSIONS` to the parameters file. These A records will be ignored.
```yaml
EXCLUSIONS:
- "store.example.org"
```### Denylist
To create a denylist of records, add an `INCLUSIONS` key to the parameters file. Other A records will be ignored.
```yaml
INCLUSIONS:
- "store.example.org"
```