Skip to content

Commit 867dc8c

Browse files
authored
writing updates (#4)
writing updates
1 parent 81a40ca commit 867dc8c

4 files changed

Lines changed: 17 additions & 6 deletions

File tree

.changeset/perky-facts-like.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'anime-sdk': patch
3+
---
4+
5+
copy updates

CLAUDE.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,13 @@ The SDK has three layers, all wired around a single `HttpClient`:
3030

3131
- `AnimeParadiseProvider`: `api.animeparadise.moe` REST. `/anime/{id}/episode` for the list (sub only). `/ep/{uid}?origin={animeId}` returns the playable HLS link **and** `subData`, which `normalizeSubtitleEntries` (in `utils/subtitles.ts`) turns into VTT-only `ISubtitleTrack[]`. Implements `fetchUnitTracks` cheaply (just `/ep`, no stream URL resolution).
3232
- `AllmangaProvider`: AllAnime GraphQL → AES-CTR-decrypted `tobeparsed` payload → `Mp4UploadExtractor`, with a `clock.json` fallback for wixmp/sharepoint sources. Source URLs are obfuscated with a `--<hex>` scheme XOR'd with `0x38`; see `decodeAllAnimeSource`. `fetchContentUnits` merges `availableEpisodesDetail.sub` + `.dub` + `.raw` into a single language-agnostic list; unit IDs are `${mediaId}/${epStr}` (legacy `${mediaId}/${epStr}/${lang}` IDs still resolve).
33+
- `AnikotoProvider`: HTML scrape of `anikototv.to`; uses `anikotoapi.site` for episodes, then delegates to MegaPlay embed for stream/subtitles.
3334
- `GogoanimeProvider`: HTML scrape of `anineko.to`; vibeplayer embed → `master.m3u8` via `GenericHlsExtractor`.
3435
- `GoyabuProvider`: pulls a Blogger token from `playersData`, calls Google `batchexecute` to recover the `googlevideo.com` URL via `BloggerExtractor`.
3536
- `MangadexProvider`: Official JSON API at `api.mangadex.org` for high-quality manga.
36-
- `WeebcentralProvider`: HTML scrape of `weebcentral.com` for manga.
3737
- `MangapillProvider`: HTML scrape of `mangapill.com` for manga.
38+
- `MegaPlayProvider`: AniList GraphQL for search/episodes; resolves directly against MegaPlay's mapping endpoints.
39+
- `WeebcentralProvider`: HTML scrape of `weebcentral.com` for manga.
3840

3941
All public surface is re-exported from `src/index.ts`, including the shared subtitle utilities (`normalizeSubtitleEntries`, `proxifySubtitleUrl`).
4042

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ A small Typescript SDK for searching anime and manga, listing episodes/chapters,
1313
| `mangadex` | `mangadex.org` | Manga | sub | no | Official JSON API at `api.mangadex.org` with cover art and high-quality page resolution. |
1414
| `weebcentral` | `weebcentral.com` | Manga | sub | no | Page scraping; extracts high-quality images with referer protection. |
1515
| `mangapill` | `mangapill.com` | Manga | sub | no | Page scraping; efficient extraction of chapter page lists and direct image sources. |
16+
| `anikoto` | `anikototv.to` | Anime | sub, dub | yes | Page scraping; uses `anikotoapi.site` for episodes, and `megaplay.buzz` for stream and subtitle extraction. |
17+
| `megaplay` | `megaplay.buzz` | Anime | sub, dub | yes | Uses AniList GraphQL for search and episodes, and resolves streams directly against MegaPlay's AniList mapping endpoints. |
1618

1719
Every provider has a live E2E test that searches, picks an episode/chapter, resolves
1820
the stream/pages, and captures a real video frame or verifies page links.
@@ -31,13 +33,15 @@ src/
3133
│ ├── VidstreamingExtractor Legacy Gogo encrypt-ajax flow
3234
│ └── GenericHlsExtractor Best-effort m3u8/mp4 scrape from an embed page
3335
├── providers/
34-
│ ├── AnimeParadiseProvider
3536
│ ├── AllmangaProvider
37+
│ ├── AnikotoProvider
38+
│ ├── AnimeParadiseProvider
3639
│ ├── GogoanimeProvider
3740
│ ├── GoyabuProvider
3841
│ ├── MangadexProvider
39-
│ ├── WeebcentralProvider
40-
│ └── MangapillProvider
42+
│ ├── MangapillProvider
43+
│ ├── MegaPlayProvider
44+
│ └── WeebcentralProvider
4145
├── server/index.ts startServer: HTTP API + /proxy + optional SdkCache
4246
├── types/index.ts IMediaSearchResult, IContentUnit, ISubtitleTrack,
4347
│ IUnitTracks, ResolvedMediaStream, SdkCache, …

website/src/layouts/Layout.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ interface Props {
99
}
1010
1111
const {
12-
title = 'anime-sdk: Typescript SDK for building anime apps',
13-
description = 'Typescript SDK for building anime apps.',
12+
title = 'anime-sdk: Typescript SDK for building anime apps.',
13+
description = ' A TypeScript library for resolving anime streams and manga pages across 9 providers. Use it as a Node module, run the built-in HTTP server, or download episodes and chapters to disk.',
1414
ogImage,
1515
} = Astro.props;
1616

0 commit comments

Comments
 (0)