bbb8bed3891600fe81e8d176500a141beddd1f60
Deploy Scraper / build-and-deploy (push) Canceled after 0s
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).
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 UIGET /api-docs/openapi.json- OpenAPI JSONGET /api/anime2/*GET /api/komik/*POST /api/proxy/image-cachePOST /api/proxy/image-cache/audit
Notes
- Database akan dicek/dibuat saat startup jika
DATABASE_URLbertipe MySQL. - Service ini juga menginisialisasi browser pool dan scheduler saat boot.
License
MIT
Languages
Rust
97.1%
Python
1.9%
Shell
0.6%
Nix
0.3%
JavaScript
0.1%