diff --git a/backend/services/youtube.py b/backend/services/youtube.py index 252ac91..0b43d5a 100644 --- a/backend/services/youtube.py +++ b/backend/services/youtube.py @@ -165,7 +165,13 @@ class YouTubeService: 'format': 'bestaudio[ext=m4a]/best[ext=mp4]/best', 'quiet': True, 'noplaylist': True, - 'force_ipv4': True, # Force IPv4 to avoid cloud range blocks + 'force_ipv4': True, + # Use mobile clients to avoid web scraping blocks + 'extractor_args': { + 'youtube': { + 'player_client': ['android', 'ios'] + } + } } with yt_dlp.YoutubeDL(ydl_opts) as ydl: info = ydl.extract_info(url, download=False) diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx index a5e6493..10fc278 100644 --- a/frontend/app/layout.tsx +++ b/frontend/app/layout.tsx @@ -20,10 +20,12 @@ export const metadata: Metadata = { manifest: "/manifest.json", referrer: "no-referrer", appleWebApp: { - capable: true, statusBarStyle: "black-translucent", title: "Audiophile Web Player", }, + other: { + "mobile-web-app-capable": "yes", + }, icons: { icon: "/icons/icon-192x192.png", apple: "/icons/icon-512x512.png",