Perubahan, fitur baru, improvement, dan update API rynkz dari waktu ke waktu.
v622026-09-07
Hapus hybrid-ytdl
hybrid-ytdl dihapus total (atas permintaan) — ytmp3/ytmp4 sekarang cuma pakai ab-downloader.
Konsekuensinya: tidak ada fallback lagi untuk YouTube — kalau ab-downloader down/berubah bentuk, ytmp3/ytmp4 langsung gagal total.
Dependency hybrid-ytdl dibuang dari package.json.
v612026-09-07
Tambah Fallback ab-downloader untuk YouTube
Menambahkan kembali ab-downloader (youtube()) sebagai fallback tambahan di belakang hybrid-ytdl untuk ytmp3/ytmp4 — bentuk response-nya sudah dikonfirmasi manual, satu request balikin mp3 & mp4 sekaligus plus title/thumbnail/author.
Bukan pengganti hybrid-ytdl, cuma tambahan — urutan sekarang: hybrid-ytdl (5 sumber) -> ab-downloader.
v602026-09-07
Fix Auto-Fallback hybrid-ytdl
Root cause "audio tidak bisa di-generate" ketemu: memanggil hybrid-ytdl dengan bitrate/resolusi CUSTOM ("320"/"720") ternyata bikin package-nya otomatis kunci ke API 2 (NVL Group) doang, mematikan fitur auto-switch ke 5 servernya sendiri. NVL Group lagi down, jadi semua request gagal walau 4 sumber lain masih hidup.
Diperbaiki: downloadAudio()/downloadVideo() sekarang dipanggil tanpa parameter bitrate/resolusi, biar auto-fallback ke 5 sumber beneran aktif.
Menambahkan log sumber (source) yang berhasil dipakai — mempermudah diagnosa kalau ada provider lain yang down lagi ke depannya.
v592026-09-07
Ganti ke hybrid-ytdl
v2.api-varhad.my.id dipastikan tidak bisa dipakai dari server — diblokir Cloudflare bot-challenge (butuh eksekusi JS, tidak bisa ditembus header apa pun).
ytmp3/ytmp4 sekarang pakai package hybrid-ytdl, yang otomatis agregat 5 API server (CloudkuImages, NVL Group, CaliphDev, SiputzX, SuraWeb) dan auto-switch kalau salah satu down/diblokir.
Title/thumbnail/duration sekarang diambil dari panggilan terpisah (getVideoInfo) yang bersifat best-effort — kalau gagal, link download tetap dikirim tanpa metadata, tidak menggagalkan seluruh hasil.
v582026-09-07
Fix 403 Engine Varhad
Root cause 422 di production ketemu lewat log: API v2.api-varhad.my.id balikin 403 khusus untuk request dari server (Vercel) — kemungkinan besar proteksi bot yang menolak User-Agent default axios.
Menambahkan header browser asli (User-Agent, Accept, Referer) ke request ytmp3/ytmp4 ke API ini.
Log error sekarang ikut nampilin body response (kalau ada) buat diagnosa lebih lanjut kalau masih gagal.
v572026-09-06
Logging Diagnostik ytmp3/ytmp4
Menambahkan console.error di tiap titik gagal engine ytmp3/ytmp4 (response tidak sesuai, link gagal verifikasi, request error) — sebelumnya semua kegagalan ditelan diam-diam, jadi mustahil tahu penyebab pastinya dari server logs.
Kalau ytmp3/ytmp4 gagal di production, cek Vercel dashboard -> Functions -> Logs untuk lihat detail errornya.
v562026-09-06
Sederhanakan Engine YouTube
ytmp3 & ytmp4 tidak lagi pakai Cobalt & ab-downloader (atas permintaan) — sekarang cuma engine v2.api-varhad.my.id.
Konsekuensinya: kalau engine ini down, ytmp3/ytmp4 langsung gagal tanpa fallback lain untuk saat ini.
Bersih-bersih kode terkait: fungsi normalizeYoutubeResult (khusus parsing hasil ab-downloader untuk YouTube) dihapus karena sudah tidak dipakai.
v552026-09-06
Fix Engine ytmp4 Varhad
Root cause 400 di engine ytmp4 (v2.api-varhad.my.id) ketemu: API-nya menolak URL dengan "www." — sudah diperbaiki dengan normalisasi URL sebelum dikirim.
Perbaikan parsing response ytmp4 dari engine ini: bentuknya array beberapa kualitas (result.videos[], 144p-1080p), bukan satu link seperti mp3 — sekarang otomatis pilih kualitas tertinggi.
v542026-09-06
Multi-engine ytmp3/ytmp4
Perbaikan bug struktural di ytmp3/ytmp4: sebelumnya begitu satu percobaan gagal, fungsi langsung menyerah di situ juga meski masih ada fallback lain — sekarang benar-benar lanjut ke fallback berikutnya.
Menambahkan engine baru (v2.api-varhad.my.id) sebagai fallback tambahan untuk ytmp3 — sudah dites manual dan hasilnya bagus.
Endpoint ytmp4 dari API yang sama saat ini selalu balikin 400 (sudah dites ke 2 video berbeda) — tetap dipasang sebagai fallback (tidak ada ruginya), tapi belum bisa diandalkan untuk mp4.
v532026-09-06
Fix ytmp3/ytmp4/YouTube Search
Ganti YouTube Search ke package yt-search — hasil sekarang lebih lengkap (description, views, "ago", author.url, dll) dan tidak lagi rapuh terhadap perubahan struktur halaman YouTube.
Perbaikan bug di verifikasi link ytmp3/ytmp4: link YouTube (googlevideo.com) yang terikat sesi/IP kadang ditolak saat di-probe ulang dari server padahal masih valid untuk user — sekarang cuma 404/410 (jelas mati) yang ditolak, bukan semua jenis kegagalan request.
v522026-09-06
Security Audit: SSRF Fix
Menutup celah SSRF di /api/convert/audio & /api/convert/video: URL sumber sekarang divalidasi (blokir IP privat/loopback/link-local, termasuk endpoint metadata cloud) sebelum di-fetch server.
Redirect dari URL sumber sekarang divalidasi ulang di tiap hop (sebelumnya redirect otomatis di-follow tanpa validasi, celah bypass).
Menambahkan .gitignore & .env.example (sebelumnya tidak ada sama sekali di project).
v512026-09-06
Validasi link ytmp3/ytmp4
ytmp3/ytmp4 sekarang memverifikasi link hasil sebelum dikirim ke user (cek isinya benar-benar file media, bukan halaman error/JSON dari source pihak ketiga).
Link yang sudah expired/rusak tidak lagi dikirim sebagai "success" — akan otomatis coba fallback lain atau balikin pesan error yang jelas.
v502026-09-06
Search YouTube + perbaikan scraper MediaFire
Menambahkan endpoint GET /api/youtube/search (cari video by keyword, tanpa API key resmi).
Perbaikan scraper MediaFire: parsing pakai cheerio (tidak lagi bergantung urutan atribut HTML), validasi domain lebih ketat, dan deteksi file yang sudah dihapus/kedaluwarsa.
v492026-09-06
Tebak Karakter Anime
Menambahkan game baru: Tebak Karakter Anime.
Soal diambil live dari AniList (foto karakter asli + judul anime).
Tersedia lewat /api/game/tebakkarakter dan endpoint session (start/answer/hint).
v482026-08-27
Multi-source News
Menambahkan kategori berita multi-source berbasis RSS.
Berita tidak lagi bergantung pada satu sumber saja.
Menambahkan deduplikasi dan pengurutan berdasarkan waktu publikasi.
Menambahkan cache singkat agar lebih ramah untuk Vercel.
v472026-08-27
News Category
Menambahkan kategori API berita.
Menambahkan endpoint berita berdasarkan kategori.
Menambahkan integrasi RSS.
v462026-08-27
More Game Questions
Memperbanyak bank soal game.
Menambahkan soal random untuk Hitung Cepat.
Mempertahankan endpoint game sederhana tanpa parameter.
v452026-08-27
Simple Game API
Game dibuat lebih sederhana dengan endpoint GET.
Tidak membutuhkan body, query, atau session untuk mengambil soal.
v442026-08-27
Game Category
Menambahkan kategori Game.
Menambahkan berbagai game seperti tebak kata, tebak gambar, trivia, dan lainnya.
Menambahkan Game ke Playground.
v432026-08-27
Anichin Playground
Menambahkan endpoint Anichin.
Menambahkan Anichin ke Playground.
Menambahkan search, ongoing, schedule, detail, dan episode.