feat(downloader): add 26 downloader APIs + detect endpoint
Deploy Scraper / build-and-deploy (push) Canceled after 0s

Port downloaders from Shirokami-API (Node.js):
- Instagram/Facebook (snapsave.app, downr.org fallback)
- TikTok (tikwm.com)
- YouTube MP4/MP3 (savetube.media, ydlp.yard.id)
- Spotify, Twitter/X (api.lrm.tube)
- Bilibili, Pinterest, MediaFire, Mega, TeraBox
- PixelDrain, Threads, DoodStream, KrakenFiles
- Danbooru, SoundCloud, Google Drive

Domain layer: DownloadResult + MediaItem entities
Application layer: 7 use-cases + detect_platform auto-detect
Infrastructure: DownloaderRepository (22 fetch functions)
Presentation: 21 handlers + DTO + OpenAPI schemas

Also: upgrade OpenTelemetry to 0.28 (axum 0.7 conflict resolution)
This commit is contained in:
asepharyana
2026-09-01 00:54:06 +07:00
parent e6d75edf33
commit 763a641593
15 changed files with 3166 additions and 181 deletions
+11 -4
View File
@@ -1,4 +1,3 @@
[package]
name = "scraper-service"
version = "0.1.0"
@@ -45,6 +44,13 @@ regex = "1.12.2"
urlencoding = "2.1"
url = "2.5.8"
base64 = "0.22"
cipher = "0.4"
aes = "0.8"
cbc = "0.1"
block-padding = "0.3"
hex = "0.4"
fastrand = "2.0"
tower-http = { version = "0.6.8", features = ["fs", "cors", "compression-gzip", "compression-br", "compression-zstd"] }
dashmap = "6.1"
@@ -59,9 +65,10 @@ utoipa = { version = "5.0", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "9.0", features = ["axum"] }
# OpenTelemetry metrics
opentelemetry = { version = "0.27", features = ["metrics"] }
opentelemetry_sdk = { version = "0.27", features = ["metrics", "rt-tokio"] }
opentelemetry-otlp = { version = "0.27", features = ["metrics"] }
opentelemetry = { version = "0.28", features = ["metrics"] }
opentelemetry_sdk = { version = "0.28", features = ["metrics", "rt-tokio"] }
opentelemetry-otlp = { version = "0.28", features = ["metrics"] }
# Dependensi yang hanya dibutuhkan untuk build script (build.rs)