jeisc / flares

Flares 🔥is a CloudFlare DNS backup tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flares 🔥

Flares is a CloudFlare DNS backup tool: every time it runs, dumps your DNS table to the screen || optionally exports it into nicely formatted files.

MIT License Go Report Card

flaredns_demo

Docker Quick start (painless)

# CloudFlare auth key is here: https://dash.cloudflare.com/profile ->
# Global API Key -> View
$ docker run -it --rm \
-e CF_AUTH_KEY="" \
-e CF_AUTH_EMAIL="" \
lfaoro/flares domain1.tld domain2.tld

Quick start (full control)

Golang must be installed: https://golang.org/dl/

# flaredns
$ go get -u github.com/lfaoro/flares/cmd/flaredns
$ cd $GOPATH/src/github.com/lfaoro/flares/
# flarelogs (coming soon)
# $ go get -u github.com/lfaoro/flares/cmd/flarelogs

Fill the .env with your CloudFlare and Git credentials

# Provide a .env file in your project with the following variables or export them.
# Check .env.example
$ cat > .env << EOF
CF_AUTH_KEY=""
CF_AUTH_EMAIL=""
EOF

Run the app

$ make install
$ flaredns -h
$ flaredns domain.tld
$ flaredns export -d /tmp/tables/ domain.tld

Contributing

Any help and suggestions are very welcome and appreciated. Start by opening an issue.

  • Fork the project
  • Create your feature branch git checkout -b my-new-feature
  • Commit your changes git commit -am 'Add my feature'
  • Push to the branch git push origin my-new-feature
  • Create a new pull request against the master branch

TODO

  • use https://github.com/spf13/cobra for the CLI interface
  • add the flarelogs command
  • add all keyword to export all the domains available in the account

About

Flares 🔥is a CloudFlare DNS backup tool

License:MIT License


Languages

Language:Go 82.6%Language:Dockerfile 7.6%Language:Makefile 5.8%Language:AMPL 3.9%