feat: wire videy + tiktok/v2 + twitter/v2 downloader endpoints
Deploy Scraper / build-and-deploy (push) Canceled after 0s

Ported all missing downloader endpoints from Shirokami-API source
(verified against /home/code/Shirokami-API/scraper/downloader/):

- /download/videy: direct CDN link build (cdn.videy.co/{id}.mp4|.mov)
  matches videy.js exactly (id.len()==9 && id[8]=='2' -> .mov)
- /download/tiktok/v2: douyin.wtf hybrid API w/ fallback to embed scrape
- /download/twitter/v2: twitsave.com HTML scrape w/ fallback to Syndication API
- detect_platform now recognizes videy.co
- download_all_in_one dispatches videy

fetch_videy already existed as dead code (never wired); connected it.
== all others (bilibili/danbooru/dood/gdrive/instagram/kfiles/mediafire/
== mega/pinterest/pixeldrain/savetube/soundcloud/spotify/terabox/threads/
== tiktok/twitter/youtubeV2) already mapped to their Rust equivalents
This commit is contained in:
asepharyana committed 2026-09-01 18:36:54 +07:00
1 parent dfa37f86e3
commit dc44085cad
4 files changed
+78

No files matched your search

+14
View File
@@ -119,6 +119,18 @@ pub async fn download_streamable(url: &str) -> Result<DownloadResult, ScrapingEr
DownloaderRepository::download_streamable(url).await
}
pub async fn download_videy(url: &str) -> Result<DownloadResult, ScrapingError> {
DownloaderRepository::download_videy(url).await
}
pub async fn download_tiktok_v2(url: &str) -> Result<DownloadResult, ScrapingError> {
DownloaderRepository::download_tiktok_v2(url, None).await
}
pub async fn download_twitter_v2(url: &str) -> Result<DownloadResult, ScrapingError> {
DownloaderRepository::download_twitter_v2(url, None).await
}
pub async fn download_bilibili(url: &str) -> Result<DownloadResult, ScrapingError> {
DownloaderRepository::download_bilibili(url).await
}
@@ -165,6 +177,8 @@ pub fn detect_platform(url: &str) -> String {
"dailymotion".to_string()
} else if url.contains("streamable.com") {
"streamable".to_string()
} else if url.contains("videy.co") {
"videy".to_string()
} else if url.contains("bilibili.com") || url.contains("b23.tv") {
"bilibili".to_string()
} else {