මගේම YouTube Offline Music App එක

Sana_s Logs

Member
Jul 4, 2026
5
8
3
1783174481962.png

කවුරුහරි: "ඉතින් යකෝ ඔච්චර නටන්නේ නැතුව YouTube Premium එකක් ගනින්කෝ."
මම: "එහෙනම් යකෝ කොහෙන්ද මට මෙච්චර ආතල් එකක්??"
😄


මට ඕන වුණා කිසිම කරදරයක්, ads මුකුත් නැතුව, කෝච්චියේ බස් එකේ යද්දි ෆෝන් එකේ ඩේටා කැපෙන්නෙත් නැතුව සිංදු අහන්න පුළුවන් මගේම Offline Music Player එකක් හදාගන්න. හරියට YouTube Music වගේ, හැබැයි සම්පූර්ණයෙන්ම offline වැඩ කරන එකක්.

මුලින් මම හිතුවේ මේක ලේසි වැඩක් කියලා. Frontend UI එකයි, offline storage එකයි සති අන්තයකින් හදලා ඉවර කළා. හැබැයි YouTube එකෙන් සිංදු download කරන එක තමා ලොකුම යුද්ධේ වුණේ. YouTube එකේ තියෙන anti-bot security හිතුවට වඩා ගොඩක් දරුණුයි!

මම yt-dlp කියන tool එක පාවිච්චි කරලා මගේ server එක හරහා මුල්ම සින්දුව බාන්න හැදුවා විතරයි, ප්‍රශ්න පෝලිමක මුල පටන් ගත්තා.

පළවෙනි බාධකය: JavaScript Challenge එක

මුලින්ම ආවේ "Format not available" කියලා error එකක්. මම හිතුවෙම සින්දුවේ අවුලක් කියලා. ඒත් ඇත්තම හේතුව වුණේ අලුත් YouTube security ක්‍රමයට අනුව, සිංදු ගන්න නම් එයාලගේ JavaScript challenge එකක් solve කරන්න ඕනේ. ඒකට සාමාන්‍ය Node.js මදි. ඉතින් ඒක විසඳන්න මට Server එක (Docker container එක) ඇතුළට Deno කියන JS runtime එක දාන්න සිද්ධ වුණා.

දෙවෙනි බාධකය: "ඔයා Bot කෙනෙක් නෙවෙයි නේද?" -- "නෑ නේද?
😅
" (IP Block එක)

Deno දාලා ආයේ try කරද්දි, ඊළඟ ප්‍රශ්නේ ආවා. "Sign in to confirm you're not a bot". මගේ server එකේ IP address එක YouTube එකෙන් block කරලා! Data center IPs කොහොමත් එයාලා අඳුරගෙන block කරනවා. ඉතින් මේකට විසඳුමක් විදියට මම Cloudflare WARP පාවිච්චි කරලා මගේ server එකේ traffic එක (SOCKS5 proxy එකක් හරහා) වෙනස්ම IP එකකින් යැව්වා. අන්න ඒකෙන් bot අවුලත් විසඳුණා.

තුන්වෙනි බාධකය: DRM උගුල (403 Errors)

ඔක්කොම හරි කියලා හිතාගෙන ඉද්දි සමහර වීඩියෝ වලට 403 Forbidden error එකක් එනවා. හොයලා බලද්දි මම app එකේ setting හදලා තිබුණේ මගේ app එක 'Smart TV' එකක් විදියට YouTube එකට පෙනී ඉන්න. හැබැයි YouTube එකෙන් සමහර සිංදු TV වලට දෙන්නෙ නෑ DRM (Digital Rights Management) restrictions නිසා. ඉතින් මම ඒ TV client කියන එක අයින් කරලා, ඕනම විදියකින් ගැලපෙන, DRM ප්‍රශ්න නැති client කෙනෙක් තෝරගන්න yt-dlp එකටම බාර දුන්නා.

අන්තිමට මේ ඔක්කොම කෑලි - Deno runtime එක, WARP proxy එක, PO-token provider එක - හරියටම එකට සෙට් කළාට පස්සේ වැඩේ නියමෙටම ගොඩ ගියා!
දැන් මට ඕනම සින්දුවක්, නැත්තම් සම්පූර්ණ playlist එකක්ම ලේසියෙන්ම මගේම app එකට බාගෙන, ෆෝන් එක lock කරලත් කිසිම කරදරයක් නැතුව offline අහන්න පුළුවන්. අමතර වාසියක් විදියට, මගේ server එකේ මේ හැම සින්දුවකම backup එකක් හැදෙන නිසා, ෆෝන් එකේ data මැකුණත් ආයේ YouTube එකෙන් download කර කර ඉන්න ඕනෙත් නෑ.

ඉතින් මම හිතාගෙන ඉන්නවා ඉස්සරහට මේ App එක තවත් ටිකක් ලස්සන කරලා, තව අලුත් පොඩි features ටිකක් එහෙමත් එකතු කරලා හැමෝටම පාවිච්චි කරන්න පුළුවන් වෙන්න Open Source Repo එකක් විදියට public කරන්න. හැබැයි ඉතින් හිමීට තමයි ඒ වැඩේ කරන්නේ.

මේ project එකට පාවිච්චි කරපු අනිත් Technical දේවල් ගැනයි, ඒ දේවල් වල ඇතුලාන්තය ගැනයි විස්තර ඇතුව අපි ආයෙත් දවසක කතා කරමු!
 

Attachments

  • yt-local (2).png
    yt-local (2).png
    132.6 KB · Views: 39
  • yt-local (3).png
    yt-local (3).png
    48.2 KB · Views: 39
  • yt-local (1).png
    yt-local (1).png
    178.8 KB · Views: 36

Yeezus

Well-known member
  • Nov 20, 2024
    4,602
    1
    6,424
    113
    Appreciate your enthusiasm and effort but
    There is a browser app called Brave / Brave Nightly.
     

    Phone Hora

    Well-known member
  • Apr 19, 2016
    4,950
    7,958
    113
    මරු.
    හැබැයි බැංකු app ගොඩක් hack වෙලා තිබුණා අපි ගැන ආදරයෙන් දෙන ඔය වගේ Open Source app නිසා.
     

    Sana_s Logs

    Member
    Jul 4, 2026
    5
    8
    3
    Appreciate your enthusiasm and effort but
    There is a browser app called Brave / Brave Nightly.
    Yeah, you are 100% right! Brave is awesome and definitely the easiest way to go for ad-free background playback. 😅 But for me, this was more about the challenge and the fun of building something from scratch. Plus, having a fully offline, self-hosted app with my own custom UI just hits different! Thanks for the comment.

    මරු.
    හැබැයි බැංකු app ගොඩක් hack වෙලා තිබුණා අපි ගැන ආදරයෙන් දෙන ඔය වගේ Open Source app නිසා.
    කතාව සහතික ඇත්ත මචං, ඔය risk එක නම් ලොකුවටම තියෙනවා! ගොඩක් අයට කෙළවෙන්නේ 'YouTube Premium Free' කියලා දෙන random APK , ලින්ක්ස් වලින් ෆෝන් එකට ඇප්ස් දාගන්න ගිහින් තමයි.
    ඕනම කෙනෙක්ට කියවන්න පුළුවන් විදියට GitHub එකේ public කරන එකට තමයි Open Source කියන්නේ. එතකොට කවුරුහරි හොර කෝඩ් එකක් හැංගුවොත් අනිත් IT කරන අයට ඒක ලේසියෙන්ම අහු වෙනවා.
    කොහොම වුණත් ආරක්ෂාව ගැන හිතලා මේ වගේ දේවල් මතක් කරන එක ගොඩක් වටිනවා!:love2:
    ------ Post added on Jul 4, 2026 at 8:32 PM
     
    • Like
    Reactions: Yeezus

    windows_ubuntu

    Well-known member
  • Jun 2, 2018
    17,230
    25,669
    113
    Fantasy
    Good work.

    ඒත් ඕක කියන්නම අලුත් අකවුන්ට් එකක් හදන් ආවේ අපි ගැන තියෙන ආදරෙටද