Auto-Updates Cloudflare DNS records using ipinfo. https://hub.docker.com/r/lousando/cloudflare-chimp
  • TypeScript 94.6%
  • Dockerfile 3.6%
  • Makefile 1.8%
Find a file
Louis 2d2f98d3e5
Update README.md
Change Gitea link to Github
2023-12-27 15:51:58 -07:00
.env.example initial commit 2023-04-16 00:21:20 -06:00
.gitignore initial commit 2023-04-16 00:21:20 -06:00
config.ts Add better logging 2023-04-16 20:43:46 -06:00
deno.json initial commit 2023-04-16 00:21:20 -06:00
deno.lock Add better logging 2023-04-16 20:43:46 -06:00
Dockerfile initial commit 2023-04-16 00:21:20 -06:00
Makefile Rename project to Cloudflare Chimp 2023-04-16 20:01:37 -06:00
mod.ts Add better logging 2023-04-16 20:43:46 -06:00
README.md Update README.md 2023-12-27 15:51:58 -07:00
types.ts initial commit 2023-04-16 00:21:20 -06:00

Cloudflare Chimp 🐒

Auto-Updates Cloudflare DNS records using ipinfo.

Github Repo

ipinfo & Cloudflare Setup ⚙️

  1. Register for a free plan over at ipinfo. They're pretty generous and offer 50k free requests a month. Creating a Cloudflare API token
  2. Create a CloudFlare API token for your DNS Zone.
    1. Click Create Custom Token
    2. Then grant the following Permissions: 2. Zone | Zone Settings | Read 3. Zone | Zone | Read 4. Zone | DNS | Edit
    3. Finally, set the following Zone Resources 7. Include | All Zones

Docker Setup 🐳

Create a volume mapping at /config in the container. In the volume, create a file called config.yaml. Below is a sample configuration file:

# Sample Config of /config/config.yaml
ipInfoApiKey: "your-ipinfo-api-key"
cloudflareApiKey: "your-cloudflare-api-key"
updateIntervalInMinutes: 5
records:
  - domain: "example.com"
    subDomain: "photos"
    useCloudflareCDN: true
  - domain: "example.com"
    subDomain: "db"
    useCloudflareCDN: false

Caveats

  • Only be 1 ipinfo call made per update interval; this is to keep your request count low.
  • ALL your records will update at the same interval, there is currently no feature to set custom update intervals per-record.
  • Only A records are supported.