{"id":13549999,"url":"https://github.com/jordantrizz/cloudflare-cli","last_synced_at":"2026-02-27T17:49:04.597Z","repository":{"id":11727307,"uuid":"14250444","full_name":"jordantrizz/cloudflare-cli","owner":"jordantrizz","description":"CLI utility managing CloudFlare services using CloudFlare API","archived":false,"fork":false,"pushed_at":"2026-02-23T21:32:47.000Z","size":369,"stargazers_count":90,"open_issues_count":8,"forks_count":25,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-02-24T04:24:22.843Z","etag":null,"topics":["api","cli","cloudflare","dns","php","shell"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jordantrizz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-11-09T03:32:20.000Z","updated_at":"2026-02-23T11:17:33.000Z","dependencies_parsed_at":"2024-03-16T22:00:52.313Z","dependency_job_id":"9aa39151-0432-4391-88e1-08c1256742c2","html_url":"https://github.com/jordantrizz/cloudflare-cli","commit_stats":null,"previous_names":["bandie91/cloudflare-cli"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/jordantrizz/cloudflare-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordantrizz%2Fcloudflare-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordantrizz%2Fcloudflare-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordantrizz%2Fcloudflare-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordantrizz%2Fcloudflare-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jordantrizz","download_url":"https://codeload.github.com/jordantrizz/cloudflare-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordantrizz%2Fcloudflare-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29907172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T17:28:36.873Z","status":"ssl_error","status_checked_at":"2026-02-27T17:28:20.970Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cli","cloudflare","dns","php","shell"],"created_at":"2024-08-01T12:01:27.903Z","updated_at":"2026-02-27T17:49:04.585Z","avatar_url":"https://github.com/jordantrizz.png","language":"Shell","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=KAXRPGK8YBRVG"],"categories":["Shell"],"sub_categories":[],"readme":"# cloudflare-cli\nCLI utility managing CloudFlare services highly focused on DNS using CloudFlare API\n\n# Usage\n\n```\nUsage: cloudflare [Options] \u003ccommand\u003e \u003cparameters\u003e\nOptions:\n --details, -d    Display detailed info where possible\n --debug, -D      Display API debugging info\n --quiet, -q      Less verbose\n -E \u003cemail\u003e\n -T \u003capi_token\u003e\n -p, --profile    Use credentials profile NAME from ~/.cloudflare\n\nMulti-Zone Options:\n -z, --zone       Specify zone (can be repeated for multiple zones)\n -f, --zones-file Read zones from file (one per line, # comments)\n --continue-on-error  Continue processing despite individual zone failures\n\nEnvironment variables:\n CF_ACCOUNT  -  email address (as -E option)\n CF_TOKEN    -  API token (as -T option)\nEnter \"cloudflare help\" to list available commands.\n```\n\n# Multi-Zone Operations\n\nYou can apply commands to multiple zones at once using the `-z` and `-f` options.\n\n## Specify zones on command line\n```bash\n# Clear cache on multiple zones\ncloudflare -z example.com -z example.org clear cache\n\n# Show records for multiple zones  \ncloudflare -z site1.com -z site2.com show records\n```\n\n## Use a zones file\nCreate a file with one zone per line (comments with `#` are supported):\n```\n# zones.txt\nexample.com\nexample.org\n# staging.example.com  (commented out)\nproduction.example.net\n```\n\nThen use it:\n```bash\ncloudflare -f zones.txt clear cache\n```\n\n## Bulk create zones under an account\nIf you want to create many zones under a specific account, combine `-f` (or repeated `-z`) with `add zone` and an account id:\n\n```bash\n# Create all zones from zones.txt under the given account id\ncloudflare -f zones.txt --account-id \u003caccount_id\u003e add zone\n\n# Alternative form (account id as the parameter after `add zone`)\ncloudflare -f zones.txt add zone \u003caccount_id\u003e\n```\n\nThe output includes the assigned Cloudflare nameservers per zone (these are the nameservers you update at your registrar).\n\n## Combine both methods\n```bash\ncloudflare -z extra-zone.com -f zones.txt clear cache\n```\n\n## Continue on errors\nBy default, processing stops on the first error. Use `--continue-on-error` to process all zones:\n```bash\ncloudflare -f zones.txt --continue-on-error clear cache\n```\n\nAfter processing, a summary report is displayed and a log file is created in `$TMPDIR`.\n\n# Config\n## Config Global API\n1. Create a file in $HOME/.cloudflare\n2. Add the following lines to the file:\n   ```\n   CF_ACCOUNT=\u003cyour_email\u003e\n   CF_KEY=\u003cyour_api_token\u003e\n   ```\n## Config Token\n1. Create a file in $HOME/.cloudflare\n2. Add the following lines to the file:\n3. ```\n   CF_TOKEN=\u003cyour_api_token\u003e\n   ```\n## Config Profiles\nYou can create multiple profiles to manage different CloudFlare accounts or configurations. Each profile can have its own email and API token.\n1. Create a file in $HOME/.cloudflare\n2. Add the following lines to the file:\n3. ```\n   CF_ACCOUNT_\u003cPROFILE\u003e=\u003cyour_email\u003e\n   CF_KEY_\u003cPROFILE\u003e=\u003cyour_api_token\u003e\n   CF_TOKEN_\u003cPROFILE\u003e=\u003cyour_api_token\u003e\n   ```\n\n# Commands\n\n```\n$ cloudflare help\nCommands:\n   show, add, delete, change, clear, invalidate, check\n```\n\n```\n$ cloudflare show\nParameters:\n   zones, settings, records, listing\n```\n\n```\n$ cloudflare show zones\nexample.net active  #IDSTRING   OLD-NS1,OLD-NS2  NEW-NS1,NEW-NS2\n```\n\n```\n$ cloudflare show settings\nUsage: cloudflare show settings \u003czone\u003e\n```\n\n```\n$ cloudflare show settings example.net\nadvanced_ddos                  off\nalways_online                  on\nautomatic_https_rewrites       off\n...\n```\n\n```\n$ cloudflare show records\nUsage: cloudflare show records \u003czone\u003e\n```\n\n```\n$ cloudflare show records example.net\nwww     auto CNAME     example.net.       ; proxiable,proxied #IDSTRING\n@       auto A         198.51.100.1       ; proxiable,proxied #IDSTRING\n*       3600 A         198.51.100.2       ;  #IDSTRING\n...\n```\n\n```\n$ cloudflare show listings\n198.51.100.0/24 whitelist       2014-10-30T05:31:30.099176Z     # NOTES\n198.51.100.4    block           2014-10-30T05:31:30.099176Z     # NOTES\nCN              challenge       2014-10-30T05:31:30.099176Z     # NOTES\n...\n```\n\n```\n$ cloudflare add\nParameters:\n   zone, record, whitelist, blacklist, challenge\n```\n\n```\n$ cloudflare add zone\nUsage: cloudflare add zone \u003cname\u003e\n```\n\n```\n$ cloudflare add record\nUsage: cloudflare add record \u003czone\u003e \u003ctype\u003e \u003cname\u003e \u003ccontent\u003e [ttl] [prio | proxied] [service] [protocol] [weight] [port]\n   \u003czone\u003e      domain zone to register the record in, see 'show zones' command\n   \u003ctype\u003e      one of: A, AAAA, CNAME, MX, NS, SRV, TXT, SPF, LOC\n   \u003cname\u003e      subdomain name, or \"@\" to refer to the domain's root\n   \u003ccontent\u003e   IP address for A, AAAA\n               FQDN for CNAME, MX, NS, SRV\n               any text for TXT, spf definition text for SPF\n               coordinates for LOC (see RFC 1876 section 3)\n   [ttl]       Time To Live, 1 = auto\n   [prio]      required only by MX and SRV records, enter \"10\" if unsure\n   [proxied]   true or false, only for A and CNAME records\n   These ones are only for SRV records:\n   [service]   service name, eg. \"sip\"\n   [protocol]  tcp, udp, tls\n   [weight]    relative weight for records with the same priority\n   [port]      layer-4 port number\n```\n\n```\n$ cloudflare add whitelist\nUsage: cloudflare add [\u003cwhitelist | blacklist | challenge\u003e] [\u003cIP | IP/mask | country_code\u003e] [note]\n```\n\n```\n$ cloudflare delete\nParameters:\n   zone, record, listing\n```\n\n```\n$ cloudflare delete zone\nUsage: cloudflare delete zone \u003cname\u003e\n```\n\n```\n$ cloudflare delete record\nUsage: cloudflare delete record [\u003crecord-name\u003e [\u003crecord-type\u003e | first] | [\u003czone-name\u003e|\u003czone-id\u003e] \u003crecord-id\u003e]\n```\n\n```\n$ cloudflare delete record ftp.example.net\n```\n\n```\n$ cloudflare delete record example.net 1234567890abcdef1234567890abcdef\n```\n\n```\n$ cloudflare delete listing\nUsage: cloudflare delete listing [\u003cIP | IP range | country_code | ID | note_fragment\u003e] [first]\n```\n\n```\n$ cloudflare change\nParameters:\n   zone, record\n```\n\n```\n$ cloudflare change zone\nUsage: cloudflare change zone \u003czone\u003e \u003csetting\u003e \u003cvalue\u003e [\u003csetting\u003e \u003cvalue\u003e [ ... ]]\n```\n\n```\n$ cloudflare change zone example.net\nSettings:\n   security_level [under_attack | high | medium | low | essentially_off]\n   cache_level [aggressive | basic | simplified]\n   rocket_loader [on | off | manual]\n   minify \u003cany variation of css, html, js delimited by comma\u003e\n   development_mode [on | off]\n   mirage [on | off]\n   ipv6 [on | off]\nOther: see output of 'show zone' command\n```\n\n```\n$ cloudflare change record\nUsage: cloudflare set record \u003cname\u003e [type \u003ctype\u003e | first | oldcontent \u003ccontent\u003e] \u003csetting\u003e \u003cvalue\u003e [\u003csetting\u003e \u003cvalue\u003e [ ... ]]\nYou must enter \"type\" and the record type (A, MX, ...) when the record name is ambiguous,\nor enter \"first\" to modify the first matching record in the zone,\nor enter \"oldcontent\" and the exact content of the record you want to modify if there are more records with the same name and type.\nSettings:\n  newname        Rename the record\n  newtype        Change type\n  content        See description in 'add record' command\n  ttl            See description in 'add record' command\n  proxied        Turn CF proxying on/off\n```\n\n```\n$ cloudflare clear\nParameters:\n   cache\n```\n\n```\n$ cloudflare clear cache\nUsage: cloudflare clear cache \u003czone\u003e\n```\n\n```\n$ cloudflare invalidate\nUsage: cloudflare invalidate \u003curl-1\u003e [url-2 [url-3 [...]]]\n```\n\n```\n$ cloudflare check\nParameters:\n   zone\n```\n\n```\n$ cloudflare check zone\nUsage: cloudflare check zone \u003czone\u003e\n```\n\n\n## REQUIREMENTS\n\n- bash 4.x\n- curl\n- php (php-cli) 5.x\n\n\n## DONATE\n\nSupport me to improve cloudflare-cli\n\n\u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=KAXRPGK8YBRVG\"\u003e\u003cimg src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif\" /\u003e\u003c/a\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordantrizz%2Fcloudflare-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjordantrizz%2Fcloudflare-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordantrizz%2Fcloudflare-cli/lists"}