asepharyana bbb8bed389
Deploy Scraper / build-and-deploy (push) Canceled after 0s
docs: add utoipa OpenAPI annotations to all scraper endpoints
Add #[utoipa::path] + IntoParams to all new category handlers:
- downloader (25 routes): /download, /detect-platform, 23 platform handlers
- misc (4): currency-converter, harga-emas, kurs-bca, server-info
- stalk (8): github, youtube, ml, free-fire, genshin, twitter, tiktok, instagram
- weebs (5): anime-info, manga-info, whatanime, waifu (sfw/nsfw)
- search (5): bmkg, jadwal-sholat, weather, google, yt
- tool (6): whois, ip-location, tinyurl, check-hosting, hargapangan, cek-resi
- image (2): brat, brat-animated
- uploader (2): ryzencdn, serve-file
- ai (3): chat, gemini, image

Register all in ModuleApiDoc paths() with per-category tags.
Fix clippy warnings in touched handlers (expect/unwrap -> map_err, needless lifetimes).

/docs now documents the full scraper API surface (was only anime/komik).
2026-09-01 22:39:02 +07:00

Scraper API

Backend service berbasis Axum untuk scraping, image proxy/cache, dan endpoint API inti.

Stack

  • Rust + Axum
  • SeaORM (MySQL)
  • Redis (deadpool-redis)
  • Utoipa + Swagger UI

Quick Start

cargo run

Server bind ke 0.0.0.0:${PORT} dengan default port 4091.

Required Environment Variables

DATABASE_URL=mysql://asephs:hunterz@localhost:3306/sosmed
JWT_SECRET=change-me
REDIS_URL=redis://localhost:6379

Optional yang sering dipakai:

RUST_LOG=info
MINIO_ENDPOINT=
MINIO_BUCKET_NAME=
MINIO_ACCESS_KEY=
MINIO_SECRET_KEY=

Useful Endpoints

  • GET /docs - Swagger UI
  • GET /api-docs/openapi.json - OpenAPI JSON
  • GET /api/anime2/*
  • GET /api/komik/*
  • POST /api/proxy/image-cache
  • POST /api/proxy/image-cache/audit

Notes

  • Database akan dicek/dibuat saat startup jika DATABASE_URL bertipe MySQL.
  • Service ini juga menginisialisasi browser pool dan scheduler saat boot.

License

MIT

S
Description
No description provided
Readme
1.7 MiB
Languages
Rust 97.1%
Python 1.9%
Shell 0.6%
Nix 0.3%
JavaScript 0.1%