<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ERAY ŞENGÜL</title>
    <description>The latest articles on DEV Community by ERAY ŞENGÜL (@erysngl).</description>
    <link>https://dev.to/erysngl</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3782740%2Fbdc8c4ca-97be-4865-a994-a25d33ccdf67.jpeg</url>
      <title>DEV Community: ERAY ŞENGÜL</title>
      <link>https://dev.to/erysngl</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/erysngl"/>
    <language>en</language>
    <item>
      <title>How I Bypassed YouTube Music’s CSP to Stop Those Annoying "Video Paused" Popups</title>
      <dc:creator>ERAY ŞENGÜL</dc:creator>
      <pubDate>Fri, 20 Feb 2026 14:37:34 +0000</pubDate>
      <link>https://dev.to/erysngl/how-i-bypassed-youtube-musics-csp-to-stop-those-annoying-video-paused-popups-3ohf</link>
      <guid>https://dev.to/erysngl/how-i-bypassed-youtube-musics-csp-to-stop-those-annoying-video-paused-popups-3ohf</guid>
      <description>&lt;p&gt;Every YouTube Music user knows the struggle: you’re in the zone, working or gaming, and suddenly the music stops. A popup appears: "Video paused. Continue watching?" I got tired of this interruption, but I didn't want to install yet another heavy browser extension that asks for "access to all website data." So, I decided to build a lightweight, open-source bookmarklet: YTM Keep-Alive.&lt;/p&gt;

&lt;p&gt;The Challenge: Bypassing CSP and TrustedHTML&lt;br&gt;
Modern web applications like YouTube have extremely strict security policies. While building this, I hit two major walls:&lt;/p&gt;

&lt;p&gt;Content Security Policy (CSP): Prevents scripts from executing unauthorized code.&lt;/p&gt;

&lt;p&gt;TrustedHTML: Blocks the use of innerHTML, making most traditional scripts useless.&lt;/p&gt;

&lt;p&gt;The Solution: Pure DOM Manipulation&lt;br&gt;
Instead of fighting the security policies with innerHTML, I took a "native" approach. I built the entire UI and logic using pure DOM elements (document.createElement). By creating and appending elements directly to the document, the script bypasses TrustedHTML restrictions because it doesn't use any "unsafe" string-to-HTML conversions.&lt;/p&gt;

&lt;p&gt;Key Features:&lt;/p&gt;

&lt;p&gt;Zero Extensions: No background processes, no tracking.&lt;/p&gt;

&lt;p&gt;100% Safe: Open-source code that only runs when you click it.&lt;/p&gt;

&lt;p&gt;Draggable UI: A sleek dark-mode timer to show you it’s working.&lt;/p&gt;

&lt;p&gt;How to Use It&lt;br&gt;
Visit the &lt;a href="https://erysngl.github.io/ytm-keep-alive/" rel="noopener noreferrer"&gt;Installation Page.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Drag the "YTM Keep-Alive 🎵" button to your bookmarks bar.&lt;/p&gt;

&lt;p&gt;Click it whenever you’re on YouTube Music.&lt;/p&gt;

&lt;p&gt;Conclusion &amp;amp; Open Source&lt;br&gt;
This is my very first open-source project, and I’ve learned a lot about browser security and DOM manipulation during the process. I’d love for you to check out the code, star the repo, or even contribute!&lt;/p&gt;

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/erysngl/ytm-keep-alive" rel="noopener noreferrer"&gt;https://github.com/erysngl/ytm-keep-alive&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
