{"id":21713536,"url":"https://github.com/snick512/cloudflare","last_synced_at":"2026-02-07T06:02:16.182Z","repository":{"id":264708157,"uuid":"894130138","full_name":"snick512/Cloudflare","owner":"snick512","description":"A Cloudflare Zone management tool.","archived":false,"fork":false,"pushed_at":"2025-01-03T15:27:37.000Z","size":53,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-03T16:39:01.086Z","etag":null,"topics":["api","bash","c","cli","cloudflare","dns","manager","zones"],"latest_commit_sha":null,"homepage":"https://silentport.net","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snick512.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":null,"patreon":"tyclifford","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"tyclifford","thanks_dev":null,"custom":null}},"created_at":"2024-11-25T20:06:52.000Z","updated_at":"2025-01-03T15:27:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"872005d8-3080-40e5-9a5b-ccb8592f25fc","html_url":"https://github.com/snick512/Cloudflare","commit_stats":null,"previous_names":["snick512/cloudflare"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snick512%2FCloudflare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snick512%2FCloudflare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snick512%2FCloudflare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snick512%2FCloudflare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snick512","download_url":"https://codeload.github.com/snick512/Cloudflare/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235608326,"owners_count":19017517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","bash","c","cli","cloudflare","dns","manager","zones"],"created_at":"2024-11-26T00:17:30.888Z","updated_at":"2025-10-07T08:32:41.269Z","avatar_url":"https://github.com/snick512.png","language":"C","funding_links":["https://patreon.com/tyclifford","https://buymeacoffee.com/tyclifford"],"categories":[],"sub_categories":[],"readme":"# Cloudflare Zone Management tool\n A Cloudflare tool to manage the basics of zones using their direct API. An AI experiment.\n\n It accepts 1 line commands, and outputs JSON as the result. \n\n The .sh is for a simple, terminal based interface style, and remains open until terminated. \n\n # Contributions\n Contributions welcome! \n \n See [Contributing](CONTRIBUTING.md), and [Style Guide](STYLE_GUIDE.md)\n\n # Screenshots \n![cloudflare.sh](https://isnick.nyc3.digitaloceanspaces.com/wp-content/uploads/2024/11/26174217/Termius_RMgaey251v.png)\n \n![map](https://isnick.nyc3.digitaloceanspaces.com/wp-content/uploads/2024/11/26174522/Termius_qXl1P6xJw1.png)\n\n # Running and Compiling\n config.txt\n ```ini\nAPI_KEY=apikey\nEMAIL=email\n```\n\n Setup on Ubuntu 20.04, required (or will be):\n `libcurl4-openssl-dev libcjson-dev`\n\n ```bash \n gcc -o cloudflare base.c -lcurl -lcjson\n gcc -o map zone.c -lcurl -lcjson\n ```\n\n```bash\nchmod +x cloudflare map cloudflare.sh\n```\n\n ## Running\n`zone_map.txt` references Zone/Record IDs. \n\nTo store record IDs:\n```bash\n./map list_zones\n```\n\nTo retrieve IDs:\n```bash\n$ ./map display_record wiki.wvpirates.org\nDomain/Subdomain: wiki.wvpirates.org\nZone ID: x\nRecord ID: x\nProxied: 1\nIP: x\n$ \n```\n## The .sh\ncloudflare.sh is a (right now) simple, persisting way to add/delete records. \n```bash\n./cloudflare.sh\n```\n\n## cloudflare (bin)\n\n You may use the binary directly:\n- List zones:\n    `./cloudflare list_zones`\n- Add/update a DNS record:\n    `./cloudflare add_update_record \u003czone_id\u003e A example.com 192.0.2.1 3600 1`\n    \n- Delete a DNS record:\n    `./cloudflare delete_record \u003czone_id\u003e \u003crecord_id\u003e`\n    \n- Purge cache:\n    `./cloudflare purge_cache \u003czone_id\u003e`\n\n# API Token permissions\n[Creating an API Token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/)\n\n```\nZone: Read (for listing zones)\nDNS: Read (for reading DNS records)\nDNS: Edit (for updating or adding DNS records)\nZone: Settings (if you need to modify zone settings, like enabling/disabling proxying)\n```\n\n![Cloudflare API Token Permissions](https://isnick.nyc3.digitaloceanspaces.com/wp-content/uploads/2024/11/26174700/msedge_TFzbPee0Ai.png)\n\n### Ideas: \n- Map Zone IDs to domains automatically. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnick512%2Fcloudflare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnick512%2Fcloudflare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnick512%2Fcloudflare/lists"}