Commit Graph
10 Commits
Author SHA1 Message Date
asepharyana 4cd04410cf chore: remove 17 unused Rust dependencies from scraper 2026-07-22 14:12:58 +07:00
asepharyana cd4e3aee20 feat: add episode list with download URLs to detail endpoint
- Add AlqEpisode type with episode, title, url, date, download_url
- Add parse_episode_list() to extract episodes from .eplister
- Add parse_episode_download() to extract download URL from episode page
- Add episodes field to AlqDetailData
- Fetch download URLs for latest 5 episodes in parallel
2026-07-22 14:04:47 +07:00
asepharyana 052c6cfeb8 fix: revert to alqanime.si, use fetch_with_proxy for direct+relay
alqanime.net is behind Cloudflare challenge - direct fetch returns
challenge page and proxy relays are down. alqanime.si works with
direct fetch.

Also change repository to use fetch_with_proxy (direct+relay fallback)
instead of fetch_with_proxy_only (relay only).
2026-07-22 13:56:34 +07:00
asepharyana 1a54e8a127 docs: update CLAUDE.md alqanime.si -> alqanime.net 2026-07-22 13:43:11 +07:00
asepharyana c035601a36 feat: migrate anime2 scraper from alqanime.si to alqanime.net
- Change BASE_URL from https://alqanime.si to https://alqanime.net
- Remove BASE_DETAIL_URL (now same as BASE_URL)
- Remove detail_image_url method (no longer needed)
- Simplify detail() use case: remove dual-fetch logic that merged
  results from both domains (now same URL)
- Fix CLAUDE.md stale comment
2026-07-22 13:41:03 +07:00
asepharyana 562ada69ec fix: only connect OTLP metrics when OTEL_EXPORTER_OTLP_ENDPOINT is set
When unset, use a no-op meter provider instead of defaulting to
http://localhost:4317 and spamming connection errors every 5s.
2026-07-22 13:03:03 +07:00
asepharyana 1b195ac3f6 refactor: remove EXTERNAL_BROWSERLESS_WS / browserless fallback
- Delete infrastructure/browser/ directory entirely (browser pool is gone)
- Remove browser pool initialization from bootstrap
- Remove fetch_via_browserless fallback from proxy_fetch
- perform_proxy_chain now only uses relay endpoints
- Clean up log messages, README, and compose env var
The proxy-bun service at https://git.imrnes.team/MythEclipse/proxy-bun
handles all proxy needs now.
2026-07-22 12:55:21 +07:00
asepharyana 1ddcd15540 fix: update notify-parent target to asepharyana/asepharyana-hub
The old target MythEclipse/ultimate-asepharyana.tech is dead.
Repository dispatch now goes to the correct parent repo.
2026-07-22 07:06:58 +07:00
asepharyanaandClaude Opus 4.8 776fa828d8 feat: full clean architecture refactor — domain → application → infrastructure → presentation
- Restructure from Modular MVC to Clean Architecture with 4 strict layers
- Domain: entities (anime/komik/proxy), Repository traits, typed errors
- Application: use case classes with proper error propagation
- Infrastructure: repository impls, parsers, Redis cache, HTTP/scraping, browser
- Presentation: Axum handlers, DTOs, AppState, router, AppError+IntoResponse
- Migrate all parsers (otakudesu, alqanime, komik) to native infra implementations
- Replace once_cell::sync::Lazy/OnceCell with std::sync::LazyLock/OnceLock
- Remove 150+ old files in modules/ and shared/ directories
- Remove once_cell from Cargo.toml dependencies
- Fix test/debug binaries to use new import paths
- Zero new clippy warnings

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 12:54:23 +07:00
asepharyana 80c96eaa42 chore: initial commit for asepharyana-hub-scraper 2026-07-09 22:07:03 +07:00