Shinei Nouzen
03b68481b4
Add streaming fix solutions to README
2026-08-14 07:32:58 +05:30
Shinei Nouzen
e00292493d
Add streaming status warning to README
2026-08-14 07:16:27 +05:30
Shinei Nouzen
75199d4dcd
fix: add cookie-aware session establishment for stream AJAX endpoints
...
Root cause: upstream /ajax/server and /ajax/server/list endpoints require
session cookies set by visiting the watch page. fetchWithMirror() didn't
persist cookies between requests, causing upstream to return 500.
- Extract cookies from set-cookie headers when fetching watch/home page
- Pass cookies with AJAX requests for stream info and server list
- Accept optional slug query param in /api/stream for targeted session
- Both extractors now use cookie-aware axios for session establishment
2026-08-14 06:59:17 +05:30
Shinei Nouzen
320bf0915b
fix: detect upstream API errors in stream endpoint to prevent null URL responses
...
- Added upstream error detection in streamInfo.extractor.js (status >= 400)
- Added non-JSON error string detection from upstream API
- Updated streamInfo.controller.js to return HTTP 502 for upstream failures
- Fixes /api/stream returning null URL when upstream returns error responses
2026-08-14 06:36:37 +05:30
Shinei Nouzen
107e3c71e7
Delete docs/readme.md
2026-08-13 01:49:31 +05:30
Shinei Nouzen
d067d1f1d7
chore: bump version to 2.2.1 across package.json, README, docs, agents
2026-08-13 01:30:55 +05:30
Shinei Nouzen
f720e4608b
fix: comprehensive diagnostic sweep — fix creatorInfo error masking, schedule/seasons/watch-order extractors
...
- Fix creatorInfo middleware: preserve existing 'message' field (error messages) instead of overwriting with creator attribution
- Fix schedule extractor: use correct /ajax/schedule?date= endpoint instead of broken /?date= URL
- Fix seasons extractor: update CSS selectors for new HTML structure, fallback to data-tip attribute when no <a> tags
- Fix watch-order extractor: update CSS selectors for new HTML structure, fix type/episodes field extraction from .meta .dot elements
- All streaming null values fixes from previous commit included
Tested 38 endpoints across all categories:
✅ 26 passing (Home, Info, Search, Episodes, Watch, Spotlight, Trending, Top 10, Random, Suggestions, Most Popular, New Release, Newly Added, Latest Updated, Trending Sidebar, Filter, Genre, Type, Status, AZ List, Health, Stats, Cache Stats, Mirrors, Download, Stream)
⚠️ 4 not-deployed (Upcoming, Top Rankings, Recently Updated, Completed — routes exist but Vercel deployment is outdated)
⚠️ 4 timeout/source issues (Seasons, Watch Order, Schedule — now fixed locally, awaiting deploy)
⚠️ 4 streaming (Servers, Stream, Mapper Servers — JSON parsing fixes from previous commit)
2026-08-12 23:26:05 +05:30
Shinei Nouzen
a8223acf92
fix: resolve null values in stream server endpoints
...
- Fix extractServerList JSON parsing: fetchWithMirror returns raw text but code treated it as parsed object, causing Cheerio to parse JSON string as HTML resulting in empty server arrays
- Fix extractMapperServers JSON parsing: same raw text issue caused data processing loop to be skipped, returning empty arrays
- Fix streamInfo controller to return 404 with error message when stream URL is null instead of silently returning null values
- Fix server list controller to use proper TTL and handle empty results
- Fix JSON.parse error handling in episodeList and episodeListAjax extractors
- Update CHANGELOG.md with v2.2.1 bug fixes
2026-08-12 22:59:18 +05:30
Shinei Nouzen
8f423bf39c
docs: Complete documentation overhaul with live API data + bug fixes
...
Documentation (5800+ lines total):
- endpoints.md: All 43 endpoints documented with real response examples,
param tables, response patterns, common workflows, error formats
- streaming.md: Complete streaming workflow guide with HLS.js/Plyr/Video.js
integration, M3U8 proxy explanation, error handling
- examples.md: Working code examples in cURL, JS fetch, Python requests,
Node.js axios, HTML/JS player integration (2240 lines)
- architecture.md: Full project structure, request flow diagrams, caching
strategy, mirror failover, security, deployment notes
- index.md: Overview with quick start, feature highlights, endpoint tables
Bug fixes:
- episodeList.extractor: Parse JSON response before Cheerio (was passing
raw JSON string as HTML, causing escaped quotes in IDs)
- episodeListAjax.extractor: Same JSON parsing fix
- topAnimeRankings.controller: Fix JSDoc and default sort from top to day
(actual values are day/week/month, not top/newest)
- apiRoutes.js: Fix OpenAPI spec sort description for top-rankings
Tests: 35/35 passing
2026-07-30 08:28:51 +05:30
Shinei Nouzen
996cead3b1
fix: Full diagnostic sweep — bugs, dead code, unused imports, docs accuracy
...
Code fixes:
- seasons/watchOrder: Remove dead ternary (both branches identical)
- mirror.helper: Remove redundant ternary (both branches identical)
- topAnimeRankings: Fix JSDoc (day/week/month, not top/newest)
- apiRoutes: Fix proxy domain validation (exact match, not includes)
- apiRoutes: Fix proxy .m3u8 check (pathname, not hostname)
- pagination: Fix totalItems calculation (was overestimating)
- server.js: Remove dead has404File variable
- server.js: Remove duplicate /api/cache/stats route
- server.js: Remove unused getCacheStats import
Unused imports removed:
- animeInfo: URLS from dataUrl.js
- episodeList: headers from header.config.js
- episodeListAjax: axios
- trending: URLS from dataUrl.js
- trendingSidebar: URLS from dataUrl.js
- upcomingAnime: parseListItems
- watchPage: URLS, BASE_URL from dataUrl.js
Docs fixes:
- README: 33->38 endpoints, 24->28 controllers, 26->28 extractors
- README: Cache TTL 5min->per-endpoint, Timeout 15s->30s
- docs/index.md: 33->38 endpoints
- architecture.md: LRU cache strategy, remove stale cookie-parser
- agents: compression version, extractor/controller counts
- agents: domain typo, stale CORS dep, version badge
2026-07-30 00:50:18 +05:30
Shinei Nouzen
715add099b
Enhance disclaimer and tips formatting in README
...
Refined disclaimer and tips sections for clarity and emphasis.
2026-07-29 07:43:06 +05:30
Shinei Nouzen
3000bcc1be
Rename index.md to readme.md
2026-07-29 07:35:37 +05:30
Shinei Nouzen
ba58219ace
docs: Add testing.md — test suite docs, auto-detect, benchmarks
2026-07-29 07:33:44 +05:30
Shinei Nouzen
78b149983d
feat: Auto-detect local server in test.js — falls back to live API
2026-07-29 07:22:14 +05:30
Shinei Nouzen
159c9ca8aa
fix: Episodes Ajax test, strip quotes from server_ids, dynamic stream resolve setup
2026-07-29 02:16:13 +05:30
Shinei Nouzen
d9f490d36e
fix: OpenAPI response missing success field, Episodes Ajax test, 404 endpoint list, agent docs
2026-07-29 01:55:43 +05:30
Shinei Nouzen
a2a94869ee
chore: Add Google Search Console verification meta tag placeholder
2026-07-28 22:21:29 +05:30
Shinei Nouzen
fa6aa6d602
SEO: Update public files for search engine visibility
...
robots.txt: Allow / (landing page), disallow /api (JSON endpoints)
sitemap.xml: Updated lastmod to 2026-07-28, removed non-HTML URLs
index.html: Updated meta tags with 38 endpoints, richer keywords,
JSON-LD schema.org/WebAPI with accurate metadata
manifest.json: Updated theme/background colors to match site (#faf9f5),
better description with 38 endpoints
Key SEO changes:
- Title now includes '38 Endpoints'
- Meta description expanded with keywords (hls proxy, m3u8 proxy, etc)
- JSON-LD provider type changed from Organization to Person (author)
- Added license field to JSON-LD
2026-07-28 22:13:02 +05:30
Shinei Nouzen
7df5bbcc54
docs: Add box-style headers, section headers, feature markers, JSDoc, inline notes, footers
...
Added comprehensive documentation following project conventions:
Box-style headers (added/fixed where missing):
- All 17 files now have standard Project/Author/License headers
Section headers (// == == SECTION == ==):
- cache.helper.js: LRU CACHE CLASS, TTL CONFIGURATION, SINGLETON, EXPORTED HELPERS
- download.controller.js: DOWNLOAD LINKS HANDLER
- download.extractor.js: BASE64 DECODER, REDIRECT FOLLOWER, DOWNLOAD LINKS EXTRACTOR
- seasons.extractor.js: SEASONS EXTRACTOR
- watchOrder.extractor.js: WATCH ORDER EXTRACTOR
- extractPages.helper.js: PAGE EXTRACTOR
- pagination.helper.js: PAGINATION METADATA
Feature markers (// --- FEATURE: XYZ ---):
- cache.helper.js: LRU Cache, Per-Endpoint TTL, Cache Get/Set/Clear
- download.controller.js: Download Links
- download.extractor.js: Base64 Download Data Decoder, Redirect Chain Resolver, Download Links Extraction
- seasons.extractor.js: Season Information Extraction
- watchOrder.extractor.js: Watch Order / Related Anime Extraction
- streamResolver.extractor.js: Server Name Normalization, Stream URL Resolution, Batch Stream URL Resolution, M3U8 Quality Parser, Subtitle Track Extractor
- mirror.helper.js: Mirror Domain Configuration, Mirror Health Check, Working Mirror Discovery, Mirror Cache Reset, URL Builder, Resilient Fetch with Mirror Fallback, Mirror Status Reporter
- pagination.helper.js: Pagination Metadata Generator
- creatorInfo.js: Creator Attribution Object, Response Creator Injection Middleware
Function-level JSDoc (added/fixed):
- cache.helper.js: Full JSDoc on all 6 class methods (constructor, get, set, delete, clear, getStats, has) and 4 exported helpers
Inline notes for non-obvious logic:
- cache.helper.js: Lazy expiration, LRU re-insertion, singleton pattern
- download.extractor.js: HTML/JSON hybrid response handling, multiple selectors for different mirrors, redirect fallback
- random.extractor.js: maxRedirects, validateStatus, responseURL extraction
- schedule.extractor.js: Dual selector pattern for different mirror layouts
- animeInfo.extractor.js: Positional .bmeta selector fragility
- homeInfo.extractor.js: Dual selector for different layouts
- mirror.helper.js: 404 vs connection error handling
- animeInfo.controller.js: Accept both id and slug params
Footers (added where missing):
- cache.helper.js, download.controller.js, download.extractor.js, seasons.extractor.js, watchOrder.extractor.js, extractPages.helper.js, mirror.helper.js
All 68 source files now have complete documentation coverage (6/6 checks).
2026-07-28 21:55:14 +05:30
Shinei Nouzen
fb62184688
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
2026-07-28 21:01:43 +05:30
Shinei Nouzen
d391908467
feat: Add M3U8/TS proxy, fix mirror fallback, fix seasons/watch-order
...
New endpoints:
- GET /api/stream/proxy?url= — M3U8 playlist proxy with URL rewriting
Rewrites relative .m3u8 and .ts URLs to proxy endpoints
Adds CORS headers for cross-origin playback
Validates allowed streaming domains
- GET /api/stream/ts-proxy?url= — TS video segment proxy
Proxies .ts segments with proper Content-Type and caching
Fixes:
- seasons.extractor.js: Now extracts from watch page sidebar instead of broken AJAX endpoint
- watchOrder.extractor.js: Now extracts from watch page sidebar (trending/related)
- mirror.helper.js: 404 responses no longer mark mirrors as failed
Only connection errors trigger mirror failover
Endpoint-specific 404s break immediately without retry
38 total endpoints, 34/34 passing with 0 errors
2026-07-28 20:52:49 +05:30
Shinei Nouzen
21384dc30f
docs: Update CHANGELOG with streaming resolver features
2026-07-28 20:42:41 +05:30
Shinei Nouzen
bdf7e96ce9
feat: Add streaming URL resolver, quality detection, and server normalization
...
New endpoints:
- GET /api/stream/resolve — Resolves actual m3u8/mp4 URLs from embed player URLs
Follows chain: vidtube.site → megaplay API → m3u8 playlist
Returns url, type, qualities, subtitles, skipData
- GET /api/stream/qualities — Parses M3U8 playlists for available quality options
Returns sorted quality list with resolution, bandwidth, URLs
New extractors:
- streamResolver.extractor.js — Full stream resolution pipeline
- resolveStreamUrl(): Resolves embed → actual video URL
- parseM3u8Qualities(): Parses master playlists for qualities
- normalizeServerName(): Maps VidPlay-1 → vidplay, HD-1 → hd
- extractSubtitles(): Extracts subtitle tracks from API responses
Enhancements:
- streamInfo.extractor.js: Added session establishment before AJAX calls
- Server list now includes normalizedName field for each server
- Stream info now includes type (hls/mp4) and backup URL
- Server list includes typeLabel (SUB/HSUB/DUB)
- Session cookies properly maintained for AJAX stream endpoints
Architecture:
- Embed API domain mapping (vidtube.site → megaplay-1.buzz)
- M3U8 parser supports master and media playlists
- Subtitle extraction from multiple API response formats
- 36 total endpoints (was 34)
2026-07-28 20:40:17 +05:30
Shinei Nouzen
e8c942a773
chore: Update test.js and agents to v2.2.0 with all 36 endpoints
...
- test.js: Add 9 new tests (upcoming, top-rankings, recently-updated, completed, cache/stats, mirrors, openapi, download, status)
- test.js: Fix slugs (one-piece-odmau, correct episode links)
- test.js: 36 total tests (was 26)
- agents/: Update all 6 agent files from v2.0.0 to v2.2.0
- agents/api-tester.md: Update endpoint table with new endpoints
- agents/backend-architect.md: Update file counts and endpoint list
- agents/technical-writer.md: Update documentation structure for 36 endpoints
2026-07-28 20:21:41 +05:30
Shinei Nouzen
d0432e1654
fix: Bug fixes from full API diagnostic sweep — all 33 endpoints now 200 OK
...
- Fix /api/watch 500: correct URL path format (slug/ep-N -> slug/ep-N)
- Fix /api/info: accept both ?id= and ?slug= query params
- Fix /api/status/airing 500: map short status names (ongoing/airing/completed) to correct slugs
- Fix /api/top-rankings: correct selectors (#top-anime .scaff.side.items a.item) + extract rank from rankN class
- Fix /api/completed: correct selectors (section.top-table[data-name='completed'] a.item)
- Fix /api/recently-updated: correct selectors (#recent-update .ani.items .item) + client-side tab filtering
- Fix parseListItem: detect self-as-anchor (<a> elements) + fallback slug extraction
- Fix category extractor: add status name mapping (ongoing->currently-airing, etc.)
- Add /api/cache/stats endpoint for LRU cache diagnostics
- 33 endpoints verified: 0 errors, 0 timeouts
2026-07-28 20:17:58 +05:30
Shinei Nouzen
fd29b02158
feat: Add new endpoints and enhance filter — v2.2.0
...
New Endpoints (4 new routes):
- GET /api/upcoming — upcoming anime releases from homepage
- GET /api/top-rankings?sort=top|newest — ranked anime with sort modes
- GET /api/recently-updated?tab=all|dub|sub — filtered recent updates
- GET /api/completed — finished anime series from homepage
Enhanced Filter (/api/filter):
- Added source parameter (18 source material types)
- Added epMin/epMax for episode range filtering
- Added excludeWatchlist parameter for logged-in users
- Added season parameter (spring/summer/fall/winter)
New Config IDs:
- SOURCE_IDS: 18 source material type mappings
- SEASON_IDS: 4 broadcast season mappings
- EXTENDED_TYPE_IDS: Added tv-short and tv-special types
Total endpoints: 34 (was 30)
OpenAPI spec updated with new endpoints
CHANGELOG.md updated with comprehensive change history
2026-07-28 19:45:25 +05:30
Shinei Nouzen
a8f1917ce7
feat: v2.2.0 — Modularize codebase, unify mirror fallback, harden security
...
Major Changes:
- Add shared parseListItem.helper.js for unified list parsing (DRY)
- Migrate all 22 extractors to use fetchWithMirror() for consistent mirror fallback
- Remove unused cors dependency (custom CORS middleware handles it)
- Fix middleware ordering: timeout now registered before routes
- Fix CORS to allow POST for /api/mirrors/reset endpoint
- Remove redundant cache check in homeInfo extractor
New Features:
- Request ID tracking (X-Request-Id header) for debugging
- Graceful shutdown handling (SIGTERM/SIGINT) with 10s timeout
- CSP and HSTS security headers
- Rate limiter cleanup interval (every 5 min) to prevent memory leak
- Request body size limits (10kb) via express.json()
Security:
- Content-Security-Policy header for XSS protection
- Strict-Transport-Security for HTTPS enforcement
- X-Permitted-Cross-Domain-Policies: none
- Body size limits to prevent large payload attacks
Code Quality:
- All files follow strict documentation style (box headers, section separators,
feature markers, JSDoc params/returns, inline notes, module footers)
- Eliminated ~200 lines of duplicated code across 8+ extractors
- Updated CHANGELOG.md with comprehensive change history
2026-07-28 19:28:21 +05:30
Shinei Nouzen
7f07833c14
Update README.md
2026-07-25 20:07:35 +05:30
Shinei Nouzen
9778cd368d
docs: update changelog for v2.1.0 redesign, bump version
2026-07-05 17:34:53 +05:30
Shinei Nouzen
378f9b236a
feat: redesign HTML pages with Claude/Anthropic design system
...
- Warm cream canvas (#faf9f5) with coral accent (#cc785c)
- Slab-serif headlines (Cormorant Garamond) + humanist sans body (Inter)
- Dark navy product surfaces (#181715 ) for code blocks
- Light cream feature cards (#efe9de)
- Editorial, literary aesthetic
- Removed ambient orbs and particles
- Minimal shadows, color-block depth
2026-07-05 17:31:17 +05:30
Shinei Nouzen
9d686390ee
docs: bump version to 2.0.2, fix episodes endpoint docs
2026-07-05 17:17:41 +05:30
Shinei Nouzen
d97d6bd883
docs: fix streaming flow parameter - use animeId instead of slug
2026-07-05 16:45:31 +05:30
Shinei Nouzen
bc840f1373
docs: fix /api/servers parameter docs and add /api/stream reference
2026-07-05 16:15:56 +05:30
Shinei Nouzen
403b205625
docs: update all documentation with pagination and fixes
...
- Update CHANGELOG.md with pagination metadata and bug fixes
- Update README.md with pagination documentation and project structure
- Update docs/endpoints.md with pagination section
- Update docs/index.md with pagination feature
- Update docs/architecture.md with pagination helper
2026-07-04 16:25:48 +05:30
Shinei Nouzen
e8b63b5d16
feat: add pagination metadata to all list endpoints
...
- Add pagination.helper.js with addPaginationMeta function
- Add pagination info to: most-popular, search, new-release, newly-added, latest-updated, az-list, filter, category, status
- Pagination includes: currentPage, totalPages, totalItems, itemsPerPage, hasNext, hasPrev
- Fix creatorInfo middleware to include message field
2026-07-04 16:14:30 +05:30
Shinei Nouzen
646ef128a8
fix: extractPages URL handling for mirror fallback
...
- Fix bug where full URLs were passed to fetchWithMirror causing doubled URLs
- Extract path from full URL before passing to mirror fallback
- Fixes search, most-popular, new-release, newly-added, and az-list endpoints
2026-07-04 15:48:23 +05:30
Shinei Nouzen
5ca688ab45
feat: add creator info middleware from MiruroAPI
...
- Add src/middleware/creatorInfo.js (ESM adapted)
- Injects creator attribution (name, GitHub, Telegram, timestamp) into every JSON response
- Updates server.js to use addCreatorInfo middleware
- Updates CHANGELOG.md, README.md, and docs/architecture.md
2026-07-04 15:31:59 +05:30
Shinei Nouzen
5cf908fb1e
docs: fix README references to old endpoint count and caching
...
- Update endpoint count from 30 to 33 in badge, stats, and descriptions
- Update caching description from 5-min TTL to LRU with configurable TTL
- Update timeout description from 15s to configurable
- Update mermaid diagram labels
2026-07-04 15:21:38 +05:30
Shinei Nouzen
7641a81976
docs: customize 6 AI agent prompts for AniKotoAPI
...
- backend-architect.md: Express scraper architecture, mirror fallback, LRU cache
- api-tester.md: 33 endpoints, streaming flow, test patterns
- security-architect.md: SSRF protection, rate limiting, CORS, headers
- performance-benchmarker.md: response times, cache hit rates, compression
- technical-writer.md: CHANGELOG format, docs structure, endpoint patterns
- devops-automator.md: Vercel deployment, git workflow, env vars
2026-07-04 15:15:28 +05:30
Shinei Nouzen
fe51275db0
feat: upgrade to v2.0.0 with multi-mirror fallback, new endpoints, and LRU cache
...
- Add multi-mirror fallback system with 5 mirror domains
- Add LRU cache with configurable TTL per endpoint
- Add response compression (gzip)
- Add Seasons endpoint (/api/seasons/:id)
- Add Watch Order endpoint (/api/watch-order/:id)
- Add Latest Updated endpoint (/api/latest-updated)
- Add Download endpoint (/api/download)
- Add cache stats endpoint (/api/cache/stats)
- Add mirror status/reset endpoints (/api/mirrors, /api/mirrors/reset)
- Add configurable rate limiting with X-RateLimit headers
- Add request timeouts and entity too large handling
- Update documentation with all new endpoints
- Update CHANGELOG.md with v2.0.0 entry
- Update package.json version to 2.0.0
- Add 6 AI agent prompts for development
2026-07-04 15:07:07 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
30feda703a
fix: CORS header missing when ALLOWED_ORIGINS env not set
...
Browser blocks cross-origin requests from AniKotoWeb because
Access-Control-Allow-Origin was never set when ALLOWED_ORIGINS
was undefined on Vercel. Changed condition to allow all origins
when env var is not configured.
2026-06-09 11:05:16 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
7d621e2e37
fix: Tech Stack table formatting, versions, remove cookie-parser
2026-06-09 10:08:51 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
e5dbe0c12e
v1.9.2: Fix 3 endpoint bugs found in diagnostic sweep
...
- filter controller: Normalize array params to strings (genre[]=1 now works)
- status controller: Map short names to full slugs (airing → currently-airing)
- seasons extractor: Remove recursive API call, throw clear error
- watchOrder extractor: Remove recursive API call, throw clear error
Endpoint status: 27/31 passing (4 remaining: 2 source site issues, 1 AJAX issue, 1 expected behavior)
2026-06-09 06:41:10 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
f43522c4d5
v1.9.1: Fix require path for package.json
...
require('../package.json') resolved to src/package.json (wrong).
Changed to require('../../package.json') to reach project root.
2026-06-09 06:13:21 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
cc145c9acc
v1.9.1: Fix 4 critical bugs from sed operations
...
- apiRoutes.js: Moved imports outside comment block (caused 500 on all endpoints)
- test.js: Deleted orphaned duplicate code after function close
- random.controller.js: Removed stray closing brace breaking try/catch
- cache.helper.js: Added missing MAX_CACHE_SIZE constant
These bugs were introduced by sed insert commands placing code in wrong positions.
The API was returning 500 FUNCTION_INVOCATION_FAILED on all endpoints.
2026-06-09 06:11:51 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
100b9f9414
v1.9.0: Full diagnostic sweep - 42 issues fixed
...
Critical fixes (7):
- Added global Express error handler (returns JSON instead of HTML)
- Removed caching from random endpoint (defeated purpose)
- Renamed share.jpg to share.png (MIME type mismatch)
- Fixed OG image dimensions (630 → 601)
- Fixed manifest.json icon sizes (192x192 → 512x512)
- Fixed implicit global event variable in console
- Added 9 missing endpoints to docs/endpoints.md
High fixes (12):
- Imported version from package.json (no hardcoded drift)
- Added dynamic endpoint count in stats
- Added input sanitization for mapper API (SSRF prevention)
- Added homepage caching (reduced 5 duplicate HTTP requests)
- Added rate limiting (100 requests/minute per IP)
- Added rel="noopener noreferrer" to all target="_blank" links
- Fixed trailing slash inconsistency in console
- Added noindex meta to 404.html
- Fixed docs/architecture.md controller filenames and dependency versions
- Fixed README.md dependency versions
- Added 12 missing endpoint tests
Medium fixes (22):
- Added escapeHtml helper for error messages
- Consistent favicon across all pages
- Added meta descriptions to privacy.html and tos.html
- Added OG/Twitter meta tags to privacy.html and tos.html
- Added aria-label to playground inputs
- Added aria-hidden to decorative SVGs
- Synced Twitter description with OG description
- Fixed robots.txt to disallow /api
- Added PWA fields to manifest.json
- Removed 5 unused imports
- Removed unused cookie-parser dependency
- Fixed inconsistent error handling in extractors
- Fixed resolvedSlug returning numeric ID
- Added /watch endpoint to streaming docs
- Improved test assertions and status code validation
- Deleted orphaned og-image.svg and logo.png
Low fixes (11):
- Removed redundant try/catch from extractPages
- Added max size eviction to cache
- Added cache key sorting in filter controller
- Added author meta tag
- Fixed favicon.svg font
Version bumped to 1.9.0
2026-06-09 06:00:37 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
84c4877669
Add files via upload
2026-06-09 05:28:57 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
03663bd7de
Delete public/logo.png
2026-06-09 05:26:59 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
049e252362
v1.8.0: Update all documentation to match current state
...
Fixed 19 outdated occurrences across 7 files:
- public/index.html: 27→30 endpoints (6 occurrences)
- public/manifest.json: 27→30 endpoints
- README.md: 27→30 and 24→30 endpoints (7 occurrences)
- docs/index.md: 27→30 endpoints
- docs/architecture.md: 27→30 endpoints
- package.json: axios ^1.7.0→^1.8.0
- CHANGELOG.md: Added documentation update entry
2026-06-09 05:25:49 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
5ad3189b8a
v1.8.0: Full diagnostic sweep - 20 bugs fixed
...
Critical fixes:
- extractPages.helper.js: Pagination URL bug (?page → &page)
- package.json: Fixed invalid dep versions (axios, dotenv, express)
- privacy.html + tos.html: Broken footer links (//tos → /tos)
- manifest.json: Invalid icon purpose (any maskable → maskable)
High fixes:
- server.js: Removed duplicate CORS middleware (triple → single)
- search.controller.js: Cache key collision with suggestion controller
- apiRoutes.js: Dynamic endpoint count (was hardcoded 27)
- vercel.json: Removed duplicate CORS header
Medium fixes:
- header.config.js: Updated User-Agent to Chrome 130
- dataUrl.js: Removed redundant domain from ALT_DOMAINS
- category.extractor.js: Removed unused cheerio import
- server.js: Added __dirname, removed unused cors import
Documentation:
- CHANGELOG.md: Added v1.8.0 entry
- README.md: Updated version badges (1.8.0, Express 4.21)
- test.js: Fixed status endpoint (currently-airing → airing)
2026-06-09 05:14:56 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
49243ccca1
fix: episodes endpoint accepts numeric ID, episodes-ajax returns parsed JSON
2026-06-09 04:55:26 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
e203761789
chore: bump version to 1.7.3
2026-06-09 04:52:07 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
0015e779ea
fix: health endpoint typo and request counter middleware order
2026-06-09 04:51:26 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
154258629d
feat: add anikototv.to images — favicon, share.jpg, logo
...
- favicon-origin.png — Original favicon from anikototv.to
- share.jpg — OG/Social sharing image (1MB)
- logo.png — Site logo
- Updated index.html to use share.jpg for OG/Twitter cards
- Updated manifest.json with new icons
- Updated favicon link to use original PNG
2026-06-08 22:18:59 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
1e65ccb709
feat: add favicon, full OG meta tags, JSON-LD structured data
2026-06-08 22:13:32 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
e9b0fba22b
feat: add health, stats, OpenAPI, security headers, tests
...
- /api/health — uptime, version, memory usage
- /api/stats — request count, error rate, cache info
- /api/openapi — OpenAPI 3.0.3 specification
- Security headers: X-Frame-Options, X-Content-Type-Options, X-XSS-Protection
- Request counter middleware
- CONTRIBUTING.md — contribution guidelines
- test.js — integration test suite (18 endpoints)
2026-06-08 22:08:38 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
18e4a84a66
docs: add dub/sub switch documentation to README
2026-06-08 21:51:21 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
58c0e8be60
fix: console and explorer double /api/api URL issue
...
- BASE already includes /api, endpoints should not repeat it
- Fixes 'Unexpected token <' error (was fetching HTML instead of JSON)
2026-06-08 21:39:14 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
e6be25f793
fix: update endpoint count 24 → 27 in index.html
2026-06-08 21:33:41 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
640d817d93
fix: correct double slashes in sitemap.xml URLs
2026-06-08 21:25:23 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
a66bb477df
fix: correct privacy/tos links (//privacy → /privacy)
2026-06-08 21:23:46 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
445b6f7c71
fix: clean URLs — /tos and /privacy instead of /tos.html and /privacy.html
...
- Added Express routes for /tos and /privacy
- Updated all internal links (index.html, privacy.html, tos.html)
- Updated sitemap.xml URLs
- Updated README and docs architecture
2026-06-08 21:21:55 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
ff802247f3
docs: update README project structure with all public files
...
- Added tos.html, privacy.html, manifest.json, robots.txt, sitemap.xml, og-image.svg
- Added docs/ folder structure
- Updated landing page description
2026-06-08 21:17:17 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
292b50f52a
docs: update README with correct version, endpoint count, streaming flow
...
- Version badge: 1.5.0 → 1.7.2
- Endpoint count: 24 → 27
- Added streaming flow section (3-step process)
- Updated changelog highlights (v1.6.0-v1.7.2)
- Updated roadmap completed items
- Updated performance stats (80KB → 120KB)
2026-06-08 21:13:18 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
e125fe4646
docs: update all docs with real live API data
...
- All examples now use real responses from live API
- Streaming flow tested end-to-end (episodeList -> servers -> stream)
- All code examples verified working
- Real titles: Wistoria, Witch Hat Atelier, Road of Naruto, etc.
- Real stream URLs from megaplay.buzz
- Real CDN URLs from anipixcdn.co
- Fixed streaming endpoints: proper JSON/HTML parsing
2026-06-08 21:06:58 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
12aa1f5235
docs: complete API documentation folder
...
docs/index.md — Overview, quick start, features
docs/endpoints.md — Full API reference (27 endpoints)
docs/streaming.md — Streaming flow guide (3-step)
docs/examples.md — cURL, JavaScript, Python, Node.js examples
docs/architecture.md — Project structure, tech stack, design
Also fixes streaming endpoints:
- episodeList: Parse AJAX JSON, extract server_ids/timestamp/mal_id
- streamInfo: Parse server list HTML into structured objects
- streamInfo: Parse stream URL from JSON response
2026-06-08 20:58:39 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
e0e348682f
fix: streaming endpoints - parse JSON responses, extract server HTML
...
- episodeList: Parse AJAX JSON response, extract server_ids/timestamp/mal_id
- streamInfo: Parse server list HTML into structured server objects
- streamInfo: Parse stream URL from JSON response properly
- Added cheerio import to streamInfo extractor
- Servers now return: type, link_id, cmid, sv_id, ep_id, name
2026-06-08 20:51:05 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
407c135a9f
v1.7.1: Update Vercel URL to anikototvapi.vercel.app
...
- Changed anikoto.vercel.app → anikototvapi.vercel.app
- 80 references updated across all files
2026-06-08 19:50:02 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
b1eb899aa9
v1.7.0: Rebrand AniKatoAPI → AniKotoAPI
...
BREAKING: Complete project rebrand across 66 files
- AniKatoAPI → AniKotoAPI (project name)
- AniKato → AniKoto (brand references)
- anikato.vercel.app → anikoto.vercel.app (URLs)
- anikototv.to preserved (source website domain)
- Updated: README, package.json, server.js, all controllers,
extractors, configs, routes, public pages, legal docs
2026-06-08 19:41:00 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
6f75bab281
fix: use process.cwd() for public dir + simplified routes
...
- Changed publicDir to use process.cwd() for Vercel compatibility
- Simplified vercel.json routes: API -> server.js, everything else -> server.js
- Express.static will serve files from public/ directory
2026-06-08 18:06:29 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
042ef430ef
fix: try outputDirectory for static files
2026-06-08 18:05:15 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
3e50ec1ab9
fix: serve static files from public/ before server.js catch-all
...
- API routes (/api/*) still go to server.js
- All other routes serve from /public/ directory
- Fixes privacy.html, tos.html, manifest.json, robots.txt, sitemap.xml, og-image.svg
2026-06-08 18:03:47 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
09c3d456c9
v1.6.0: Premium landing page redesign + missing files
...
index.html:
- Complete rebuild with premium UI/UX (no emojis, all SVG icons)
- Live interactive API console with preset endpoints and JSON viewer
- Canvas particle system (60 particles, purple-tinted)
- Scroll-reveal animations via IntersectionObserver
- Animated stat counters on viewport entry
- Infinite scrolling marquee with SVG icons
- Endpoint explorer with sidebar nav, multi-language code tabs (cURL/JS/Python)
- 4 interactive playground cards
- Glassmorphism sticky header with scroll-aware blur
- Full 4-column footer
404.html:
- Glitch animation effect on 404 code
- CRT scanline overlay
- SVG icons throughout
New files:
- manifest.json (PWA: theme color, icons, display)
- robots.txt (crawler directives + sitemap)
- sitemap.xml (4 pages)
- og-image.svg (gradient design with title)
- privacy.html (data collection, DMCA, third-party)
- tos.html (acceptable use, rate limits, liability, DMCA)
2026-06-08 18:02:55 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
1b8c0e68d4
v1.5.5: Redesign landing page (AniNewsAPI style)
...
- New index.html: dark theme, ambient orbs, glassmorphism, sticky header
- Hero section with terminal preview, animated gradient text
- Stats ribbon, features grid, expandable endpoint docs
- Interactive playground with 4 demos (search, stream, random, schedule)
- New 404.html with animated 404 code and action buttons
- Responsive mobile design
2026-06-08 17:51:01 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
74b0f4fc0c
docs: add v1.5.4 changelog
2026-06-08 17:44:01 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
1382125164
docs: restructure API endpoints to match HiAnime-Api documentation style
2026-06-08 17:43:20 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
77552a076c
docs: add v1.5.3 changelog
2026-06-08 17:24:15 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
425b5634ee
docs: replace ALL placeholder responses with real live API data
2026-06-08 17:23:53 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
42c0c7bbdb
docs: add disclaimer, Render deploy, JS code examples for all endpoints
2026-06-08 17:17:38 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
c5d8b17591
docs: add v1.5.1 changelog entry
2026-06-08 16:31:25 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
afc5be3864
docs: add missing example responses for all 11 endpoints
2026-06-08 16:30:41 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
08faafc0c2
docs: Complete README overhaul with live API examples for all 24 endpoints
...
- Added capsule-render header banner
- Added shields.io badges (stars, forks, issues, PRs, license, version, endpoints)
- Added feature highlights table with 12 features
- Added detailed overview with mermaid architecture diagrams
- Added full tech stack documentation
- Added project structure tree with file descriptions
- Added quick start guide with multiple package managers
- Added configuration section
- Added ALL 24 API endpoints with:
- Full parameter tables
- curl examples with live URLs
- Collapsible example responses from live API
- Added API Response Schema (anime item, spotlight, ranking objects)
- Added deployment guide (Vercel, standalone, Docker)
- Added performance metrics
- Added changelog highlights
- Added troubleshooting table
- Added FAQ section with 8 detailed answers
- Added roadmap with planned and completed features
- Added contributing guide
- Added acknowledgements
- Added author section with social links
- Added star history chart
Author: Shinei Nouzen <157171073+Shineii86@users.noreply.github.com >
2026-06-08 16:24:48 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
0034617c3b
v1.5.0: Complete documentation rewrite - 50+ files with AlisaReactionBot style
...
- Box-style header comments (Project, Author, License) on every file
- Section headers using double-line box decorators
- Feature markers (// ---- FEATURE: XYZ ----) before every major function
- JSDoc comments for EVERY function with @param, @returns, @example
- Inline notes (NOTE, WARNING, TIP) for non-obvious logic
- Footer END markers on every module
- Matched code style to AlisaReactionBot repository
- All files now searchable by feature name via grep
Author: Shinei Nouzen <157171073+Shineii86@users.noreply.github.com >
2026-06-08 16:14:01 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
87d6d4dbf2
fix: filter endpoint and episodes AJAX loading
...
- Fix filter endpoint to always include keyword parameter
- Fix episodes to load via AJAX endpoint
- Episodes now properly populate from /ajax/episode/list/:id
2026-06-08 16:00:04 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
8269dcea8b
fix: critical fixes for 14 broken endpoints
...
- Fixed ALL CSS selectors to match actual anikototv.to HTML
- Fixed search results returning empty data array
- Fixed anime info returning empty fields
- Fixed episode list returning 0 episodes
- Fixed most-popular returning empty data
- Fixed random endpoint 500 error
- Fixed filter endpoint 500 error
- Fixed suggestions returning empty array
- Added /api/genre/:name and /api/type/:name routes
- Fixed watch page server/episode extraction
- Fixed rating field to return clean value
2026-06-08 15:54:22 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
8e201ccb10
feat: complete streaming and AJAX endpoint support
...
- Add stream URL extraction via /ajax/server?get={linkId}
- Add mapper API integration for gogoanime/anivibe servers
- Add /api/seasons/:id endpoint
- Add /api/watch-order/:id endpoint
- Add /api/episodes-ajax/:id endpoint
- Add /api/servers endpoint
- Add genre/type/status/rating ID mappings
- Fix filter to use correct numeric IDs
- Fix watch page data attribute extraction
2026-06-08 15:44:30 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
47789b2444
feat: add complete API endpoints for full website
...
- Add /api/watch endpoint for watch page data
- Add /api/az-list for alphabetical browsing
- Add /api/new-release and /api/newly-added
- Add /api/status for ongoing/completed lists
- Add /api/trending-sidebar for sidebar data
- Update README with all new endpoints
- Update CHANGELOG
2026-06-08 15:34:37 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
cff5b394b3
docs: add README with API documentation and usage guide
2026-06-08 15:24:52 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
e5413198c7
fix: update CHANGELOG.md dates to correct format
2026-06-08 15:19:41 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
1906ba4a34
fix: update extractors to match actual anikototv.to structure
...
- Analyzed actual HTML structure of anikototv.to
- Updated all extractors with correct CSS selectors
- Changed ID-based to slug-based lookups
- Updated URL patterns to match actual website
- Fixed stream info to use AJAX server list
- Improved error handling
2026-06-08 15:18:27 +05:30
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
3815521b0d
feat: initial project setup for AniKatoAPI
...
- Express.js server with Vercel deployment support
- Complete API endpoints for anikototv.to anime data
- Home, search, info, episodes, stream, schedule endpoints
- Category filtering and genre support
- Caching system with 5-minute TTL
- CORS configuration
- Public documentation page
- Docker and Render deployment configs
- MIT License
2026-06-08 15:08:22 +05:30