GitHub RadarBlue team tool
Automates Cloudflare Gateway updates with Hagezi Pro++ DNS filter to block ads, trackers, and malicious domains - A completely free alternative to NextDNS, AdGuard, ControlD and other similar services Primary language: Python. 11 stars.
Project links:Open GitHub projectBack to radar

The Python script in this repository automates updating your Cloudflare Zero Trust Gateway policy with the highly recommended and effective Hagezi Multi Pro++ DNS filter list.
Automatically downloads and updates the Hagezi Multi Pro++ DNS blocklist in Cloudflare Zero Trust Gateway.
Splits large blocklists into 1,000-domain chunks to stay within Cloudflare’s free-tier limit of 300 lists (up to 300K domains total).
Detects and synchronizes existing Gateway lists and policies with the updated filters, ensuring outdated domains are removed and new ones are added without unnecessary recreation.
Uses async, parallel requests to update Cloudflare Gateway lists efficiently, significantly reducing execution time while respecting Cloudflare API rate limits.
Creates the required Gateway policy if it does not exist and keeps it updated to reference the correct blocklists.
Supports a FRESH_START=true environment variable to:
Useful for CI workflows or when a full reset is required.
Designed to run seamlessly via GitHub Actions or on your local device, making scheduled and hands-off updates easy.
CLOUDFLARE_ACCOUNT_ID — Cloudflare account identifier used to build the Gateway API URL.CLOUDFLARE_API_TOKEN — API token with Zero Trust/Gateway permissions for the updater to read and manage Gateway lists/policies.Use the exact names above as repository secrets so workflows can reference them directly (the scripts expect those environment variable names).
https://dash.cloudflare.com/1234567890abcdef1234567890abcdefThe 1234567890abcdef1234567890abcdef portion is your CLOUDFLARE_ACCOUNT_ID.
<img width="3336" height="3984" alt="dash" src="https://github.com/user-attachments/assets/ad9b9b64-c794-4614-8821-2cbb206dfcd1" />
Security note: keep the token secret. Use GitHub repository secrets rather than committing values to the repo. Also, store the token in a safe place outside of GitHub if required.
Next you should create a fork of this project on your GitHub. You can do this by clicking the "Fork" button in the top right of my repo's page.
CLOUDFLARE_API_TOKEN — Value: the API token you copied.CLOUDFLARE_ACCOUNT_ID — Value: your account ID string.You should configure your GitHub Workflow file to suit your needs. The updater workflow in my main branch refers to my personal branch, which you should avoid using. You should edit your workflow file to remove that reference. An example GitHub workflow file should look like this: Example Workflow File