mirror of
https://github.com/Shineii86/MiruroAPI.git
synced 2026-10-22 02:05:10 +00:00
docs: full sweep — update all files to v2.3.0 with self-healing system
Updated 14 files across the repo to reflect v2.3.0: - README.md: version badge, 46 endpoints, self-healing section, changelog - test.js: version 2.3.0 - docs/*: architecture, endpoints, index, streaming — multi-mirror + fallback - public/*: index.html, docs.html, openapi.json, manifest.json, privacy, tos - api/proxy.js: updated example comments - src/routes/apiRoutes.js: endpoint count 36→46 All version refs updated from 2.1.4/2.2.0 → 2.3.0. Endpoint count updated to 46 (added /pipe-health). miruro.tv refs updated to multi-domain (miruro.to/ru/bz/tv). Syntax checks pass on all JS files.
This commit is contained in:
+12
-2
@@ -62,7 +62,7 @@ MiruroAPI/
|
||||
| Runtime | Node.js |
|
||||
| Framework | Express.js |
|
||||
| Metadata | AniList GraphQL (`graphql.anilist.co`) |
|
||||
| Streaming | Miruro pipe (`miruro.tv/api/secure/pipe`) |
|
||||
| Streaming | Miruro pipe (`miruro.{to,ru,bz,tv}/api/secure/pipe`) |
|
||||
| Deployment | Vercel (Serverless) |
|
||||
| Caching | In-memory Map with 1-5 min TTL |
|
||||
| Static Files | Express static middleware |
|
||||
@@ -120,11 +120,21 @@ Play M3U8 in HLS player (hls.js, video.js, native)
|
||||
|
||||
### Miruro Pipe
|
||||
|
||||
- **Endpoint:** `https://miruro.tv/api/secure/pipe`
|
||||
- **Endpoint:** `https://miruro.{to,ru}/api/secure/pipe`
|
||||
- **Data:** Episodes, streaming sources (M3U8 URLs)
|
||||
- **Encoding:** Base64url + gzip compressed request/response
|
||||
- **Providers:** kiwi, pewe, bee, bonk, bun, ally, nun, twin, cog, moo, hop, telli
|
||||
|
||||
## Self-Healing Fallback System (v2.3.0)
|
||||
|
||||
When Cloudflare blocks streaming requests, the API automatically tries fallback methods in order:
|
||||
|
||||
1. **Direct** → Mirror rotation across 4 domains (miruro.to, miruro.ru, miruro.bz, miruro.tv)
|
||||
2. **ScraperAPI** → Free proxy bypass via ScraperAPI (1K req/month, requires `SCRAPER_API_KEY`)
|
||||
3. **FlareSolverr** → Self-hosted browser proxy for full Cloudflare bypass
|
||||
|
||||
The system tracks success/failure rates per method and auto-rotates to the most reliable option. Check status via `/api/pipe-health`.
|
||||
|
||||
## Vercel Configuration
|
||||
|
||||
```json
|
||||
|
||||
+13
-3
@@ -1,6 +1,6 @@
|
||||
# API Endpoints Reference
|
||||
|
||||
Complete documentation for all 35 MiruroAPI v2.0.1 endpoints.
|
||||
Complete documentation for all 45 MiruroAPI v2.3.0 endpoints.
|
||||
|
||||
---
|
||||
|
||||
@@ -591,12 +591,12 @@ API health status, version, uptime, memory, cache stats.
|
||||
"success": true,
|
||||
"results": {
|
||||
"status": "healthy",
|
||||
"version": "2.0.0",
|
||||
"version": "2.3.0",
|
||||
"uptime": "0h 0m 34s",
|
||||
"node": "v24.14.1",
|
||||
"memory": { "used": "13MB", "total": "15MB", "rss": "25MB" },
|
||||
"cache": { "size": 12, "maxSize": 100 },
|
||||
"endpoints": 35,
|
||||
"endpoints": 45,
|
||||
"providers": ["kiwi","pewe","bee","bonk","bun","ally","nun","twin","cog","moo","hop","telli"]
|
||||
}
|
||||
}
|
||||
@@ -604,6 +604,16 @@ API health status, version, uptime, memory, cache stats.
|
||||
|
||||
---
|
||||
|
||||
## Pipe Health
|
||||
|
||||
```
|
||||
GET /api/pipe-health
|
||||
```
|
||||
|
||||
Returns the status of the self-healing fallback system — mirror availability, ScraperAPI/FlareSolverr status, and last successful method.
|
||||
|
||||
---
|
||||
|
||||
## Stats
|
||||
|
||||
```
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# MiruroAPI Documentation
|
||||
|
||||
> Free REST API for anime streaming data. 18 endpoints, 12 providers, M3U8 URLs. No API key required.
|
||||
> Free REST API for anime streaming data. 46 endpoints, 12 providers, M3U8 URLs. No API key required.
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -48,7 +48,7 @@ curl "https://mirurotvapi.vercel.app/api/episodes/20"
|
||||
|
||||
## Features
|
||||
|
||||
- **18 Endpoints** — Search, info, episodes, streaming, characters, relations, and more
|
||||
- **46 Endpoints** — Search, info, episodes, streaming, characters, relations, and more
|
||||
- **12 Streaming Providers** — M3U8 URLs with resolution, codec, fansub info
|
||||
- **No API Key** — Just make requests, no registration needed
|
||||
- **In-Memory Cache** — 1-5 minute TTL for fast responses
|
||||
|
||||
+10
-1
@@ -234,5 +234,14 @@ const dubEps = kiwi.dub; // [{ id: "watch/kiwi/20/dub/...", ... }]
|
||||
|-------|----------|
|
||||
| "No episodes found" | Check the AniList ID is correct (use `/api/search` first) |
|
||||
| "No providers" | The anime may not be available on any provider |
|
||||
| Stream URL 403 | Some servers require specific referrer headers |
|
||||
| Stream URL 403 | Some servers require specific referrer headers — the self-healing system auto-rotates mirrors |
|
||||
| CORS error | Use a proxy or access from server-side |
|
||||
|
||||
## Self-Healing Fallback (v2.3.0)
|
||||
|
||||
When Cloudflare blocks streaming requests, the API automatically tries fallback methods:
|
||||
- **Direct** → Mirror rotation across 4 domains (miruro.to, miruro.ru, miruro.bz, miruro.tv)
|
||||
- **ScraperAPI** → Free proxy bypass (1K req/month, set `SCRAPER_API_KEY` env var)
|
||||
- **FlareSolverr** → Self-hosted browser proxy for full Cloudflare bypass
|
||||
|
||||
Check the fallback system status: `GET /api/pipe-health`
|
||||
|
||||
Reference in New Issue
Block a user