Feature Request: Official Firefox Extension for Opening Direct Media Links in VLC
Landon via vlc-devel <[email protected]> Sat, 18 Jul 2026 04:47:49 -0600
| Newsgroups | gmane.comp.video.videolan.vlc.devel |
|---|---|
| Message-ID | <CA+_zdZvdJVCD8Kf4Bn5x=14qUgvZOQnV+PSYZKJti8SQjuAu=A@mail.gmail.com> |
--===============8636907248155705309== Content-Type: multipart/alternative; boundary="0000000000005bcda10656e068f7" --0000000000005bcda10656e068f7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Feature Request: Official Firefox Extension for Opening Direct Media Links in VLCSummary I would like to request an official VLC extension for Firefox that adds a clearly labeled *VLC* link next to direct media links on web pages. The purpose is to let users stream a media URL directly in VLC without changing the website=E2=80=99s original link behavior. I already did this on my Debian Linux desktop by using the instructions and code in this file <https://www.cdn.ay1.net/pub/auto-open-media-links-in-vlc-debian-ubuntu-lin= ux.zip>. Here is a video <https://www.cdn.ay1.net/pub/auto-open-media-links-in-vlc.mkv> VLC <vlc://open?url=3Dhttps%3A%2F%2Fwww.cdn.ay1.net%2Fpub%2Fauto-open-media-lin= ks-in-vlc.mkv> showing how it works. One glaring example of why this is needed is that I don't know of any browsers that can stream .mkv files! Video example: https://www.cdn.ay1.net/pub/auto-open-media-links-in-vlc.mkv Code and instructions: https://www.cdn.ay1.net/pub/auto-open-media-links-in-vlc-debian-ubuntu-linu= x.zip For example, when a page contains a direct link to: - MP4 - MKV - WebM - AVI - MOV - MPEG - TS or M2TS - MP3 - FLAC - OGG - M3U or M3U8 - DASH/MPD - RTSP, RTMP, MMS, RTP, or another VLC-supported network stream the Firefox extension would add a bold *VLC* link immediately beside the original media link. The user would then have two separate choices: - Click the website=E2=80=99s original link to retain the website=E2=80=99= s normal behavior. - Click the added *VLC* link to open and stream the media URL in VLC. Right-clicking the original link would continue to provide Firefox=E2=80=99= s normal *Save Link As=E2=80=A6* option. Why this feature is useful Firefox can associate media file types with VLC, but that is not the same as passing the original network URL directly to VLC. When Firefox opens a downloaded file with an external application, it may first save the file locally or treat it as a download. That is undesirable when the user simply wants VLC to stream the original URL. An official VLC browser extension could pass the actual URL directly to VLC, allowing VLC to: - Begin playback while the media is still downloading. - Use its own buffering and seeking behavior. - Handle formats Firefox cannot play internally. - Play videos in a separate VLC window. - Avoid saving unnecessary temporary copies. - Support playlists and streaming manifests. - Preserve the website=E2=80=99s original download behavior. This is especially useful for large video files, uncommon media formats, direct file indexes, self-hosted media servers, archive sites, and pages containing downloadable media links. Requested behavior The extension should scan web pages for links that VLC can reasonably attempt to open. When a supported link is detected, it should add a small but clearly visible link beside it, such as: *VLC* The VLC link should preferably be bold so that it is easy to identify. Example: example-video.mkv VLC The original link must not be modified or replaced. Clicking the original link The website should behave exactly as it normally would. This preserves: - Browser playback. - Website-specific video players. - Normal navigation. - Explicit download behavior. - Authentication flows. - Right-click saving. Clicking the VLC link The extension should send the absolute media URL to VLC. VLC should then open the network location directly rather than receiving a temporary file downloaded by Firefox. Conceptually, VLC would be launched with: vlc "https://example.com/path/video.mkv" Media detection The extension could identify media links using several methods. File extensions It could recognize common media filename extensions, including but not limited to: Video .3gp .avi .divx .dv .flv .m1v .m2t .m2ts .m2v .m4v .mkv .mov .mp4 .mpeg .mpg .mts .mxf .ogm .ogv .rm .rmvb .ts .vob .webm .wmv Audio .aac .ac3 .aiff .alac .amr .ape .au .dts .flac .m4a .m4b .mka .mp2 .mp3 .oga .ogg .opus .ra .wav .wma .wv Playlists and streaming manifests .asx .cue .m3u .m3u8 .mpd .pls .ram .sdp .smil .xspf The final list could be generated from the media and network formats supported by VLC rather than being permanently hard-coded in the extension. MIME types The extension could also inspect the HTML type attribute when present. Examples include: video/* audio/* application/dash+xml application/ogg application/vnd.apple.mpegurl application/x-mpegurl application/xspf+xml Streaming protocols Links using VLC-supported protocols could also receive a VLC link. Examples: rtsp:// rtsps:// rtmp:// rtmps:// mms:// mmsh:// mmst:// rtp:// udp:// URLs containing filenames in query parameters Some websites do not end the visible URL path with a media extension. For example: https://example.com/download?id=3D123&filename=3Dvideo.mkv The extension could examine query parameter values and the visible link text for recognizable media filenames. Dynamically loaded pages Many modern websites load or replace content after the initial page load. The extension should monitor the document for newly added links and add VLC links when new media items appear. This could be implemented with a MutationObserver. The extension should avoid adding duplicate VLC links when the page is modified repeatedly. Proposed vlc:// protocol The Firefox extension needs a secure and dependable way to pass the media URL to the installed VLC application. I suggest that official VLC packages register a custom protocol when VLC is installed: vlc:// A VLC link could contain the encoded original URL in a form such as: vlc://open?url=3Dhttps%3A%2F%2Fexample.com%2Fvideo.mkv The URL must be encoded so that characters such as these are preserved correctly: & ? # % spaces Unicode characters signed URL parameters temporary access tokens VLC=E2=80=99s protocol handler would decode the url parameter, validate it,= and open the resulting network location in VLC. VLC installer integration The official VLC installer or package should register the vlc:// protocol handler. Windows The VLC installer could create the appropriate registry entries so that vlc:// URLs launch VLC. Linux VLC could install a desktop entry declaring: MimeType=3Dx-scheme-handler/vlc; The system could associate that handler with VLC using the standard freedesktop desktop and MIME mechanisms. macOS The VLC application bundle could declare support for the vlc URL scheme. This would provide consistent behavior across Windows, Linux, and macOS. Security considerations The VLC protocol handler should not execute arbitrary commands. It should accept only a URL value and pass it to VLC as a media location. The handler should: - Parse the vlc:// URL safely. - Require an explicitly named URL parameter. - Decode the URL once using a standard URL decoder. - Reject unsupported or dangerous target schemes. - Pass the target URL as a single argument. - Avoid invoking a shell. - Avoid interpreting command-line switches embedded in the URL. - Use an argument separator such as -- before the media URL where applicable. For example: vlc -- "https://example.com/video.mp4" The handler could allow known media schemes such as: http https ftp ftps sftp smb rtsp rtsps rtmp rtmps mms mmsh mmst rtp udp Local file URLs could be disabled by default or handled under a stricter policy. Privacy considerations The extension should perform all media-link detection locally in Firefox. It should not: - Send browsing history to VLC servers. - Upload URLs to a third party. - Collect analytics by default. - Inspect page content beyond what is necessary to identify links. - log signed URLs or authentication tokens. If diagnostic logging is provided, query strings and fragments should be omitted or redacted because they may contain temporary access credentials. Authentication and cookies Some media URLs require browser cookies, authorization headers, referrer headers, or expiring tokens. The basic implementation should pass the original URL as-is. For sites where the URL alone is insufficient, a future advanced mode might optionally provide: - The page referrer. - Selected request headers. - Cookies, only with explicit user permission. - A generated temporary playlist file containing VLC options. However, this should not be necessary for the initial version. The first official version could focus on ordinary direct media links and public or tokenized stream URLs. User settings Useful extension settings could include: - Enable or disable the extension globally. - Enable or disable it on selected websites. - Choose whether the VLC link is bold. - Customize the label, such as VLC, Play in VLC, or a VLC icon. - Place the VLC link before or after the original link. - Select which media types are detected. - Enable or disable audio links. - Enable or disable playlist links. - Enable or disable direct streaming protocols. - Show the full target URL in a tooltip. - Open VLC immediately or show a confirmation prompt. - Add a context-menu option named *Open link in VLC*. - Add a toolbar action for scanning or opening the current page=E2=80=99s = media. Context-menu support In addition to adding visible VLC links, the extension could provide: Open link in VLC in Firefox=E2=80=99s right-click context menu. This would be useful when: - A site=E2=80=99s design makes it difficult to insert a visible VLC link. - The URL has no recognizable filename extension. - The user knows that an unusual link is a playable media source. - The extension fails to identify a link automatically. The visible bold VLC link should remain the main feature because it is faster and easier for pages containing many media files. Expected workflow 1. The user installs VLC. 2. VLC registers the vlc:// protocol handler. 3. The user installs the official VLC extension from Mozilla Add-ons. 4. A web page contains a link to a media file. 5. The extension adds a bold *VLC* link beside it. 6. The user clicks *VLC*. 7. Firefox asks for permission the first time it opens the external VLC handler. 8. VLC receives and decodes the original URL. 9. VLC begins streaming the media. The original web link remains completely unchanged. Existing proof of concept I currently use a working proof of concept built from: - A Tampermonkey userscript. - A locally registered vlc:// protocol handler. - A small URL-decoding launcher. The userscript: - Detects common video, audio, playlist, and manifest formats. - Adds a bold *VLC* link beside the original link. - Converts relative links into absolute URLs. - URL-encodes the target before placing it in the vlc:// link. - Detects links loaded dynamically after the initial page load. - Does not modify the website=E2=80=99s original link. - Preserves normal Firefox downloading and right-click behavior. The local handler: - Receives the vlc:// URL. - Extracts and decodes the original media URL. - Verifies that the destination uses an allowed protocol. - Launches VLC with the original URL as a single argument. - Does not use a command shell. - Avoids recording sensitive query parameters in its diagnostic log. The proof of concept works very well on Debian and should use the same general approach on Ubuntu and other Linux desktop distributions. A previous version also worked on Windows using a Windows custom-protocol registration and launcher. Requested implementation Please consider creating an *official VLC extension for Firefox* that provides this functionality. Ideally, the official VLC project would provide both parts: 1. An official Firefox extension published under the VideoLAN or VLC developer account. 2. Native vlc:// protocol handling included with VLC installation packages for Windows, Linux, and macOS. This would make the feature easy to install, safer, more trustworthy, and more reliable than requiring users to install third-party browser scripts and manually create operating-system protocol handlers. The extension should add a bold *VLC* link beside every media link that VLC can reasonably stream, while leaving the website=E2=80=99s original links a= nd download behavior untouched. I believe this would be a very useful feature for users who prefer VLC=E2= =80=99s playback, codec support, buffering, audio controls, subtitles, hardware acceleration, and network-streaming capabilities over browser playback. --0000000000005bcda10656e068f7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><h1>Feature Request: Off= icial Firefox Extension for Opening Direct Media Links in VLC</h1><h2>Summa= ry</h2><p>I would like to request an official VLC extension for Firefox tha= t adds a clearly labeled <strong>VLC</strong> link next to direct media lin= ks on web pages.</p><p>The purpose is to let users stream a media URL direc= tly in VLC without changing the website=E2=80=99s original link behavior.</= p><p>I already did this on my Debian Linux desktop by using the instruction= s=C2=A0and code in <a href=3D"https://www.cdn.ay1.net/pub/auto-open-media-l= inks-in-vlc-debian-ubuntu-linux.zip">this file</a>. Here is a <a href=3D"ht= tps://www.cdn.ay1.net/pub/auto-open-media-links-in-vlc.mkv">video</a><span = class=3D"vlc-stream-link-wrapper" style=3D"white-space:nowrap"> <a class=3D= "vlc-stream-link" href=3D"vlc://open?url=3Dhttps%3A%2F%2Fwww.cdn.ay1.net%2F= pub%2Fauto-open-media-links-in-vlc.mkv" title=3D"Stream in VLC: https://www= .cdn.ay1.net/pub/auto-open-media-links-in-vlc.mkv" style=3D"font-weight:700= ;margin-left:0.25em">VLC</a></span> showing how it works.</p><p></p><p>One = glaring example of why this is needed is that I don't know of any brows= ers that can stream .mkv files!</p><p>Video example:</p><p><a href=3D"https= ://www.cdn.ay1.net/pub/auto-open-media-links-in-vlc.mkv">https://www.cdn.ay= 1.net/pub/auto-open-media-links-in-vlc.mkv</a></p><p>Code and instructions:= </p><p><a href=3D"https://www.cdn.ay1.net/pub/auto-open-media-links-in-vlc-= debian-ubuntu-linux.zip">https://www.cdn.ay1.net/pub/auto-open-media-links-= in-vlc-debian-ubuntu-linux.zip</a></p><p></p><p><br></p><p>For example, whe= n a page contains a direct link to:</p><ul><li><p>MP4</p></li><li><p>MKV</p= ></li><li><p>WebM</p></li><li><p>AVI</p></li><li><p>MOV</p></li><li><p>MPEG= </p></li><li><p>TS or M2TS</p></li><li><p>MP3</p></li><li><p>FLAC</p></li><= li><p>OGG</p></li><li><p>M3U or M3U8</p></li><li><p>DASH/MPD</p></li><li><p= >RTSP, RTMP, MMS, RTP, or another VLC-supported network stream</p></li></ul= ><p>the Firefox extension would add a bold <strong>VLC</strong> link immedi= ately beside the original media link.</p><p>The user would then have two se= parate choices:</p><ul><li><p>Click the website=E2=80=99s original link to = retain the website=E2=80=99s normal behavior.</p></li><li><p>Click the adde= d <strong>VLC</strong> link to open and stream the media URL in VLC.</p></l= i></ul><p>Right-clicking the original link would continue to provide Firefo= x=E2=80=99s normal <strong>Save Link As=E2=80=A6</strong> option.</p><h2>Wh= y this feature is useful</h2><p>Firefox can associate media file types with= VLC, but that is not the same as passing the original network URL directly= to VLC.</p><p>When Firefox opens a downloaded file with an external applic= ation, it may first save the file locally or treat it as a download. That i= s undesirable when the user simply wants VLC to stream the original URL.</p= ><p>An official VLC browser extension could pass the actual URL directly to= VLC, allowing VLC to:</p><ul><li><p>Begin playback while the media is stil= l downloading.</p></li><li><p>Use its own buffering and seeking behavior.</= p></li><li><p>Handle formats Firefox cannot play internally.</p></li><li><p= >Play videos in a separate VLC window.</p></li><li><p>Avoid saving unnecess= ary temporary copies.</p></li><li><p>Support playlists and streaming manife= sts.</p></li><li><p>Preserve the website=E2=80=99s original download behavi= or.</p></li></ul><p>This is especially useful for large video files, uncomm= on media formats, direct file indexes, self-hosted media servers, archive s= ites, and pages containing downloadable media links.</p><h2>Requested behav= ior</h2><p>The extension should scan web pages for links that VLC can reaso= nably attempt to open.</p><p>When a supported link is detected, it should a= dd a small but clearly visible link beside it, such as:</p><p><strong>VLC</= strong></p><p>The VLC link should preferably be bold so that it is easy to = identify.</p><p>Example:</p><pre><code class=3D"gmail-language-text">exampl= e-video.mkv VLC </code></pre><p>The original link must not be modified or replaced.</p><h3>= Clicking the original link</h3><p>The website should behave exactly as it n= ormally would.</p><p>This preserves:</p><ul><li><p>Browser playback.</p></l= i><li><p>Website-specific video players.</p></li><li><p>Normal navigation.<= /p></li><li><p>Explicit download behavior.</p></li><li><p>Authentication fl= ows.</p></li><li><p>Right-click saving.</p></li></ul><h3>Clicking the VLC l= ink</h3><p>The extension should send the absolute media URL to VLC.</p><p>V= LC should then open the network location directly rather than receiving a t= emporary file downloaded by Firefox.</p><p>Conceptually, VLC would be launc= hed with:</p><pre><code class=3D"gmail-language-text">vlc "<a href=3D"= https://example.com/path/video.mkv">https://example.com/path/video.mkv</a>&= quot; </code></pre><h2>Media detection</h2><p>The extension could identify media = links using several methods.</p><h3>File extensions</h3><p>It could recogni= ze common media filename extensions, including but not limited to:</p><h4>V= ideo</h4><pre><code class=3D"gmail-language-text">.3gp .avi .divx .dv .flv .m1v .m2t .m2ts .m2v .m4v .mkv .mov .mp4 .mpeg .mpg .mts .mxf .ogm .ogv .rm .rmvb .ts .vob .webm .wmv </code></pre><h4>Audio</h4><pre><code class=3D"gmail-language-text">.aac .ac3 .aiff .alac .amr .ape .au .dts .flac .m4a .m4b .mka .mp2 .mp3 .oga .ogg .opus .ra .wav .wma .wv </code></pre><h4>Playlists and streaming manifests</h4><pre><code class=3D"= gmail-language-text">.asx .cue .m3u .m3u8 .mpd .pls .ram .sdp .smil .xspf </code></pre><p>The final list could be generated from the media and networ= k formats supported by VLC rather than being permanently hard-coded in the = extension.</p><h3>MIME types</h3><p>The extension could also inspect the HT= ML <code>type</code> attribute when present.</p><p>Examples include:</p><pr= e><code class=3D"gmail-language-text">video/* audio/* application/dash+xml application/ogg application/vnd.apple.mpegurl application/x-mpegurl application/xspf+xml </code></pre><h3>Streaming protocols</h3><p>Links using VLC-supported proto= cols could also receive a VLC link.</p><p>Examples:</p><pre><code class=3D"= gmail-language-text">rtsp:// rtsps:// rtmp:// rtmps:// mms:// mmsh:// mmst:// rtp:// udp:// </code></pre><h3>URLs containing filenames in query parameters</h3><p>Some = websites do not end the visible URL path with a media extension.</p><p>For = example:</p><pre><code class=3D"gmail-language-text"><a href=3D"https://exa= mple.com/download?id=3D123&filename=3Dvideo.mkv">https://example.com/do= wnload?id=3D123&filename=3Dvideo.mkv</a> </code></pre><p>The extension could examine query parameter values and the = visible link text for recognizable media filenames.</p><h2>Dynamically load= ed pages</h2><p>Many modern websites load or replace content after the init= ial page load.</p><p>The extension should monitor the document for newly ad= ded links and add VLC links when new media items appear.</p><p>This could b= e implemented with a <code>MutationObserver</code>.</p><p>The extension sho= uld avoid adding duplicate VLC links when the page is modified repeatedly.<= /p><h2>Proposed <code>vlc://</code> protocol</h2><p>The Firefox extension n= eeds a secure and dependable way to pass the media URL to the installed VLC= application.</p><p>I suggest that official VLC packages register a custom = protocol when VLC is installed:</p><pre><code class=3D"gmail-language-text"= >vlc:// </code></pre><p>A VLC link could contain the encoded original URL in a form= such as:</p><pre><code class=3D"gmail-language-text">vlc://open?url=3Dhttp= s%3A%2F%2Fexample.com%2Fvideo.mkv </code></pre><p>The URL must be encoded so that characters such as these ar= e preserved correctly:</p><pre><code class=3D"gmail-language-text">& ? # % spaces Unicode characters signed URL parameters temporary access tokens </code></pre><p>VLC=E2=80=99s protocol handler would decode the <code>url</= code> parameter, validate it, and open the resulting network location in VL= C.</p><h2>VLC installer integration</h2><p>The official VLC installer or pa= ckage should register the <code>vlc://</code> protocol handler.</p><h3>Wind= ows</h3><p>The VLC installer could create the appropriate registry entries = so that <code>vlc://</code> URLs launch VLC.</p><h3>Linux</h3><p>VLC could = install a desktop entry declaring:</p><pre><code class=3D"gmail-language-te= xt">MimeType=3Dx-scheme-handler/vlc; </code></pre><p>The system could associate that handler with VLC using the = standard freedesktop desktop and MIME mechanisms.</p><h3>macOS</h3><p>The V= LC application bundle could declare support for the <code>vlc</code> URL sc= heme.</p><p>This would provide consistent behavior across Windows, Linux, a= nd macOS.</p><h2>Security considerations</h2><p>The VLC protocol handler sh= ould not execute arbitrary commands.</p><p>It should accept only a URL valu= e and pass it to VLC as a media location.</p><p>The handler should:</p><ul>= <li><p>Parse the <code>vlc://</code> URL safely.</p></li><li><p>Require an = explicitly named URL parameter.</p></li><li><p>Decode the URL once using a = standard URL decoder.</p></li><li><p>Reject unsupported or dangerous target= schemes.</p></li><li><p>Pass the target URL as a single argument.</p></li>= <li><p>Avoid invoking a shell.</p></li><li><p>Avoid interpreting command-li= ne switches embedded in the URL.</p></li><li><p>Use an argument separator s= uch as <code>--</code> before the media URL where applicable.</p></li></ul>= <p>For example:</p><pre><code class=3D"gmail-language-text">vlc -- "<a= href=3D"https://example.com/video.mp4">https://example.com/video.mp4</a>&q= uot; </code></pre><p>The handler could allow known media schemes such as:</p><pr= e><code class=3D"gmail-language-text">http https ftp ftps sftp smb rtsp rtsps rtmp rtmps mms mmsh mmst rtp udp </code></pre><p>Local file URLs could be disabled by default or handled und= er a stricter policy.</p><h2>Privacy considerations</h2><p>The extension sh= ould perform all media-link detection locally in Firefox.</p><p>It should n= ot:</p><ul><li><p>Send browsing history to VLC servers.</p></li><li><p>Uplo= ad URLs to a third party.</p></li><li><p>Collect analytics by default.</p><= /li><li><p>Inspect page content beyond what is necessary to identify links.= </p></li><li><p>log signed URLs or authentication tokens.</p></li></ul><p>I= f diagnostic logging is provided, query strings and fragments should be omi= tted or redacted because they may contain temporary access credentials.</p>= <h2>Authentication and cookies</h2><p>Some media URLs require browser cooki= es, authorization headers, referrer headers, or expiring tokens.</p><p>The = basic implementation should pass the original URL as-is.</p><p>For sites wh= ere the URL alone is insufficient, a future advanced mode might optionally = provide:</p><ul><li><p>The page referrer.</p></li><li><p>Selected request h= eaders.</p></li><li><p>Cookies, only with explicit user permission.</p></li= ><li><p>A generated temporary playlist file containing VLC options.</p></li= ></ul><p>However, this should not be necessary for the initial version.</p>= <p>The first official version could focus on ordinary direct media links an= d public or tokenized stream URLs.</p><h2>User settings</h2><p>Useful exten= sion settings could include:</p><ul><li><p>Enable or disable the extension = globally.</p></li><li><p>Enable or disable it on selected websites.</p></li= ><li><p>Choose whether the VLC link is bold.</p></li><li><p>Customize the l= abel, such as <code>VLC</code>, <code>Play in VLC</code>, or a VLC icon.</p= ></li><li><p>Place the VLC link before or after the original link.</p></li>= <li><p>Select which media types are detected.</p></li><li><p>Enable or disa= ble audio links.</p></li><li><p>Enable or disable playlist links.</p></li><= li><p>Enable or disable direct streaming protocols.</p></li><li><p>Show the= full target URL in a tooltip.</p></li><li><p>Open VLC immediately or show = a confirmation prompt.</p></li><li><p>Add a context-menu option named <stro= ng>Open link in VLC</strong>.</p></li><li><p>Add a toolbar action for scann= ing or opening the current page=E2=80=99s media.</p></li></ul><h2>Context-m= enu support</h2><p>In addition to adding visible VLC links, the extension c= ould provide:</p><pre><code class=3D"gmail-language-text">Open link in VLC </code></pre><p>in Firefox=E2=80=99s right-click context menu.</p><p>This w= ould be useful when:</p><ul><li><p>A site=E2=80=99s design makes it difficu= lt to insert a visible VLC link.</p></li><li><p>The URL has no recognizable= filename extension.</p></li><li><p>The user knows that an unusual link is = a playable media source.</p></li><li><p>The extension fails to identify a l= ink automatically.</p></li></ul><p>The visible bold VLC link should remain = the main feature because it is faster and easier for pages containing many = media files.</p><h2>Expected workflow</h2><ol><li><p>The user installs VLC.= </p></li><li><p>VLC registers the <code>vlc://</code> protocol handler.</p>= </li><li><p>The user installs the official VLC extension from Mozilla Add-o= ns.</p></li><li><p>A web page contains a link to a media file.</p></li><li>= <p>The extension adds a bold <strong>VLC</strong> link beside it.</p></li><= li><p>The user clicks <strong>VLC</strong>.</p></li><li><p>Firefox asks for= permission the first time it opens the external VLC handler.</p></li><li><= p>VLC receives and decodes the original URL.</p></li><li><p>VLC begins stre= aming the media.</p></li></ol><p>The original web link remains completely u= nchanged.</p><h2>Existing proof of concept</h2><p>I currently use a working= proof of concept built from:</p><ul><li><p>A Tampermonkey userscript.</p><= /li><li><p>A locally registered <code>vlc://</code> protocol handler.</p></= li><li><p>A small URL-decoding launcher.</p></li></ul><p>The userscript:</p= ><ul><li><p>Detects common video, audio, playlist, and manifest formats.</p= ></li><li><p>Adds a bold <strong>VLC</strong> link beside the original link= .</p></li><li><p>Converts relative links into absolute URLs.</p></li><li><p= >URL-encodes the target before placing it in the <code>vlc://</code> link.<= /p></li><li><p>Detects links loaded dynamically after the initial page load= .</p></li><li><p>Does not modify the website=E2=80=99s original link.</p></= li><li><p>Preserves normal Firefox downloading and right-click behavior.</p= ></li></ul><p>The local handler:</p><ul><li><p>Receives the <code>vlc://</c= ode> URL.</p></li><li><p>Extracts and decodes the original media URL.</p></= li><li><p>Verifies that the destination uses an allowed protocol.</p></li><= li><p>Launches VLC with the original URL as a single argument.</p></li><li>= <p>Does not use a command shell.</p></li><li><p>Avoids recording sensitive = query parameters in its diagnostic log.</p></li></ul><p>The proof of concep= t works very well on Debian and should use the same general approach on Ubu= ntu and other Linux desktop distributions.</p><p>A previous version also wo= rked on Windows using a Windows custom-protocol registration and launcher.<= /p><h2>Requested implementation</h2><p>Please consider creating an <strong>= official VLC extension for Firefox</strong> that provides this functionalit= y.</p><p>Ideally, the official VLC project would provide both parts:</p><ol= ><li><p>An official Firefox extension published under the VideoLAN or VLC d= eveloper account.</p></li><li><p>Native <code>vlc://</code> protocol handli= ng included with VLC installation packages for Windows, Linux, and macOS.</= p></li></ol><p>This would make the feature easy to install, safer, more tru= stworthy, and more reliable than requiring users to install third-party bro= wser scripts and manually create operating-system protocol handlers.</p><p>= The extension should add a bold <strong>VLC</strong> link beside every medi= a link that VLC can reasonably stream, while leaving the website=E2=80=99s = original links and download behavior untouched.</p><p>I believe this would = be a very useful feature for users who prefer VLC=E2=80=99s playback, codec= support, buffering, audio controls, subtitles, hardware acceleration, and = network-streaming capabilities over browser playback.</p><br></div> </div> </div> --0000000000005bcda10656e068f7-- --===============8636907248155705309== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ vlc-devel mailing list To unsubscribe or modify your subscription options: https://mailman.videolan.org/listinfo/vlc-devel --===============8636907248155705309==--