u/73214

Auto-sync Hagezi's extra blocklist folders to ControlD (pure bash, no Python/Go)

Auto-sync Hagezi's extra blocklist folders to ControlD (pure bash, no Python/Go)

I built a bash tool to auto-sync Hagezi's extra blocklist folders to ControlD profiles

ControlD's GUI includes the main Hagezi lists (Light, Normal, Pro, etc.) but not the additional folders like Spam TLDs, Badware Hoster, Spam IDNs, Referral Allow, etc. The only way to use those is via the API, and they need to be refreshed manually every time Hagezi updates.

I got tired of doing that by hand, so I wrote controld-hagezi-sync — a pure bash script (curl + jq only, no Python/Go) that:

  • Syncs any Hagezi folder to your ControlD profiles automatically

  • Uses profile names instead of opaque IDs (e.g. Kids, Work, Default)

  • Lets you assign different folders to different profiles via TOML

  • Has --dry-run so you can preview changes before they go live

  • Includes --list-hagezi to see all available folders and their URLs

  • Runs on GitHub Actions (daily cron + on-demand) or locally

Repo: https://github.com/0x11DFE/controld-hagezi-sync

If you're already using ControlD + Hagezi, this might save you the same headache. Feedback welcome.

u/73214 — 10 days ago