docs: Update all documentation for v2.2.0 — 38 endpoints, streaming resolver, proxy

README.md:
- Version badge: 2.1.0 → 2.2.0
- Endpoint count: 33 → 38
- Feature table: added stream URL resolution, M3U8 proxy, season/epMin/epMax filters
- Streaming section: added /stream/resolve, /stream/qualities, /stream/proxy docs
- Project structure: updated controller/extractor/helper file lists
- Dependencies: removed cors, updated dep list
- Changelog highlights: added v2.2.0 entry
- Completed checklist: added 38 endpoints, streaming resolver, proxy, diagnostic sweep

docs/endpoints.md:
- Added 8 new endpoint sections: upcoming, top-rankings, recently-updated, completed,
  stream/resolve, stream/qualities, stream/proxy, stream/ts-proxy

docs/streaming.md:
- Added Stream URL Resolution section (Step 4)
- Added M3U8 quality parsing docs
- Added M3U8 proxy docs with CORS-free playback explanation
- Updated troubleshooting table

docs/architecture.md:
- Updated project structure with all new files (streamResolver, parseListItem, etc.)
- Updated streaming flow diagram with resolver/proxy steps
- Updated dependencies table

docs/examples.md:
- Added curl examples for upcoming, top-rankings, recently-updated, completed
- Added stream resolver, qualities, proxy examples

CHANGELOG.md:
- Updated v2.2.0 entry with M3U8/TS proxy, mirror fix, all bug fixes

agents/:
- Updated api-tester.md: 36 → 38 endpoints
- Updated technical-writer.md: 36 → 38 endpoints
- Updated performance-benchmarker.md: 36 → 38 endpoints
This commit is contained in:
Shinei Nouzen
2026-07-28 21:01:43 +05:30
parent d391908467
commit fb62184688
9 changed files with 478 additions and 49 deletions
+130
View File
@@ -666,3 +666,133 @@ curl "https://anikototvapi.vercel.app/api/az-list/a"
```
Returns paginated list of anime starting with the specified letter.
---
## GET /upcoming
Get upcoming anime sorted by air date.
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | number | No | Page number (default: 1) |
```bash
curl "https://anikototvapi.vercel.app/api/upcoming"
```
Returns paginated list of upcoming anime with sub/dub counts, type, and rating.
---
## GET /top-rankings
Get top-ranked anime (source site's top section).
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | number | No | Page number (default: 1) |
```bash
curl "https://anikototvapi.vercel.app/api/top-rankings"
```
Returns paginated list with rank numbers extracted from CSS classes.
---
## GET /recently-updated
Get recently updated anime. Supports tab filtering.
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `tab` | string | No | Filter: `sub`, `dub`, `all` (default: `all`) |
| `page` | number | No | Page number (default: 1) |
```bash
curl "https://anikototvapi.vercel.app/api/recently-updated"
```
Returns paginated list from `#recent-update` section with client-side tab filtering.
---
## GET /completed
Get completed anime sorted by score.
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | number | No | Page number (default: 1) |
```bash
curl "https://anikototvapi.vercel.app/api/completed"
```
Returns paginated list of finished anime from `section.top-table[data-name='completed']`.
---
## GET /stream/resolve
Resolve an embed URL to actual video URL (m3u8/mp4).
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | `link_id` from `/servers` response |
| `slug` | string | No | Anime slug (for session cookies) |
```bash
curl "https://anikototvapi.vercel.app/api/stream/resolve?id=MTF1dkFtaW9BRTZPbzJJRElFZUZr..."
```
Returns resolved URL, type (hls/mp4), server name, and subtitle URLs.
---
## GET /stream/qualities
Parse M3U8 playlist for available quality options.
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | M3U8 playlist URL |
```bash
curl "https://anikototvapi.vercel.app/api/stream/qualities?url=https://example.com/playlist.m3u8"
```
Returns array of quality objects with url, quality label, resolution, bandwidth, and codec.
---
## GET /stream/proxy
M3U8 playlist proxy — rewrites relative URLs to proxy endpoints for CORS-free playback.
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | M3U8 playlist URL |
```bash
curl "https://anikototvapi.vercel.app/api/stream/proxy?url=https://example.com/playlist.m3u8"
```
Returns rewritten M3U8 content with all `.m3u8` and `.ts` URLs pointing to proxy endpoints.
---
## GET /stream/ts-proxy
TS video segment proxy — serves `.ts` segments with proper Content-Type and CORS headers.
| Param | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | `.ts` segment URL |
```bash
curl "https://anikototvapi.vercel.app/api/stream/ts-proxy?url=https://example.com/segment.ts"
```
Returns binary video segment with `Content-Type: video/mp2t` and `Access-Control-Allow-Origin: *`.