Update history

Changelog

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.