fix: update docs to reflect CF Worker blocking reality

Both AniList and Miruro block Cloudflare Worker IPs (HTTP 403).
Worker approach tested and confirmed non-functional:
- /api/genres → AniList 403: 'manually blocked'
- /api/search → AniList 403: 'manually blocked'
- /api/episodes → Miruro 403: blocked

Updated README.md and docs/architecture.md:
- Worker section marked as experimental
- Troubleshooting reordered: FlareSolverr > ScraperAPI > self-host
- Architecture doc updated with actual test results
This commit is contained in:
Shinei Nouzen
2026-07-02 09:58:21 +05:30
parent 2c97ca2dd8
commit 4293683ae4
2 changed files with 29 additions and 59 deletions
+7 -4
View File
@@ -202,15 +202,18 @@ Error responses:
## Cloudflare Worker Architecture (v2.3.1)
The Worker edition (`worker.js`) runs the same API on Cloudflare's edge network. Key difference: **streaming endpoints work** because edge-to-edge requests bypass Cloudflare bot detection.
The Worker edition (`worker.js`) runs the same API on Cloudflare's edge network. **⚠️ Experimental** — testing shows that both AniList and Miruro block CF Worker IPs (HTTP 403).
### Why Workers Work
### Why Workers Don't Work (Current)
```
Vercel (datacenter IP) → miruro.to → Cloudflare WAF → 403 Blocked
Cloudflare Worker (edge) → miruro.to → Cloudflare internal network → 200 OK
Cloudflare Worker (edge) → miruro.to → Cloudflare bot detection → 403 Blocked
Cloudflare Worker (edge) → graphql.anilist.co → AniList blocks worker IPs → 403 Blocked
```
Cloudflare Worker IPs are recognized as automated traffic and blocked by both services.
### Worker Runtime Differences
| Feature | Express (Node.js) | Cloudflare Worker |
@@ -241,7 +244,7 @@ Cloudflare Worker (edge) → miruro.to → Cloudflare internal network → 200 O
| `GET /api/episodes/:id` | Episode list (pipe) |
| `GET /api/watch/:provider/:anilistId/:category/:slug` | Streaming sources (pipe) |
### Deploy
### Deploy (Experimental)
```bash
npm install -g wrangler