diff --git a/README.md b/README.md index 8b64369..9a5e7f8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,50 @@ # cloudflare-delete-all-dns-records -Delete all the DNS records in a domain in Cloudflare. \ No newline at end of file +Delete all the DNS records in a domain in Cloudflare. + +This program will delete all the DNS records in a given domain. Before deletion, it'll also take a backup of the existing DNS records and save it as a .txt file in [BIND](https://www.isc.org/bind/) format. + +## Prerequisites +- [Python 3](https://www.python.org/) +- Pip + + >sudo apt install python3-pip + +- [Python requests library](https://pypi.org/project/requests/) + + >pip install requests + +- CloudFlare API key + + You need a CloudFlare API key with access to *edit zone DNS* access for the domain: + + 1. Go to your Cloudflare profile and then [API Tokens](https://dash.cloudflare.com/profile/api-tokens) + 2. Click on *Create Token* + 3. You can use the template *Edit Zone DNS* + 4. Enter the of the domain(s) you want to delete DNS from in *Zone Resources* + 5. Click *Continue to summary* and the *Create Token* + 6. You should get an API Token now. + + +## Running the program + +1. Download and extract the zip file or Clone this repository: + + >git clone https://git.pavakpaul.com/pavak/cloudflare-delete-all-dns-records.git + +2. cd to the directory: + + >cd +cloudflare-delete-all-dns-records + +3. Run app.py using python3 and follow the instructions + + >python3 app.py + +### Using a config file to pass the API credentials + +If you want to delete all the DNS records from multiple domains, it is a good idea to use a single token for mutiple domains. In that case, you can use save your credentials in config.json. Simply rename config_sample.json to config.json: `mv config_sample.json config.json` and save your configuration there. To load the config file, simply pass the argument _loadconfig_: + +>python3 app.py loadconfig + +You still can't delete DNS from multiple domains to reduce accidental removals of DNS. To be safe, it's always a good idea to just create a token for a single domain. \ No newline at end of file