Workaround routes your local traffic through cloudflare workers, useful for:
- WAF evasion / IP rotation: leverage cloudflare's massive ip pool.
- Traffic washing: chain with TOR to bypass exit node filtering.
Heavily inspired by flareprox
go install -v github.com/chramiq/workaround/cmd/workaround@latestRun the tool once to generate the default configuration files.
workaroundCreates ~/.config/workaround/config.json
- Sign Up: Create an account at dash.cloudflare.com/sign-up.
- Generate Token: Navigate to API Tokens and click Create Token.
- Template: Select the Edit Cloudflare Workers template.
- Permissions:
- Set Account Resources to
IncludeAll accounts. - Set Zone Resources to
IncludeAll zones.
- Set Account Resources to
- Finalize: Click Continue to Summary Create Token.
- Collect: Copy your API Token and grab your Account ID from the main dashboard.
Edit the config file and add your Cloudflare Account ID and API Token.
{
"accounts": [
{
"account_id": "YOUR_ACCOUNT_ID",
"api_token": "YOUR_API_TOKEN"
}
]
}Build your worker fleet and verify connectivity.
workaround deploy
workaround status
workaround verifyAdd the wa shortcut to your shell for seamless usage.
workaround aliasPrefix any network tool with wa.
Basic Curl:
wa curl http://ifconfig.me/ipFuzzing (ffuf):
wa ffuf -u http://target.com/FUZZ -w wordlist.txtNote: Always use
http://in your commands. The local proxy accepts HTTP, and the Worker upgrades it to HTTPS automatically.
Check your Cloudflare free tier usage or cleanup resources.
workaround credits
workaround destroyAll configuration and data are stored in ~/.config/workaround/.
- Worker Script: You can customize the Cloudflare Worker logic by editing
worker.js. Runworkaround deployafter changes to update your fleet. - User-Agents: Add or remove User-Agents in
useragents.txt. The proxy picks one at random for each request (if-ris used). - Logs: Detailed activity and error logs are written to
debug.log. Use this for troubleshooting connectivity issues.
Global Flags:
| Flag | Description |
|---|---|
-v, --verbose |
Enable verbose console logs (silent by default). |
Exec Flags (pass to wa):
| Flag | Description |
|---|---|
-r, --random-useragent |
Enable User-Agent randomization (Default: Transparent). |
-c, --new-circuit |
Force a new Tor exit node for this session. |
-u, --unsafe-http |
Disable the auto-downgrade safety check for URLs. |
--http |
Force the Worker to use HTTP (do not upgrade to HTTPS). |
Tip: You can combine single-letter flags! Example:
wa -rc curl ...(Random UA + New Circuit)
To route traffic through Tor before hitting Cloudflare:
- Create Cloudflare account via Tor, get credentials.
- Ensure Tor is running (
sudo service tor start). - Edit
~/.config/workaround/config.json:
"upstream_proxy": "socks5://127.0.0.1:9050"Flow: You
$\to$ Local Proxy$\to$ Tor$\to$ Cloudflare Worker$\to$ Target.
To see exactly what the worker constructs before sending it to the target:
wa curl http://httpbin.org/headers