Greasy Fork is available in English.

YouTube to Piped Links and Embeds Replacer on all websites

Replaces YouTube links and embeds with Piped.video links in the HTML on all websites.

  1. // ==UserScript==
  2. // @name YouTube to Piped Links and Embeds Replacer on all websites
  3. // @description Replaces YouTube links and embeds with Piped.video links in the HTML on all websites.
  4. // @name:af YouTube na Piped skakels en ingebedde vervanger op alle webwerwe
  5. // @description:af Vervang YouTube-skakels en ingebedde met Piped.video-skakels in die HTML op alle webwerwe.
  6. // @name:ar استبدال روابط وتضمينات YouTube بـ Piped على جميع المواقع الإلكترونية
  7. // @description:ar يستبدل روابط YouTube والتضمينات بروابط Piped.video في HTML على جميع المواقع الإلكترونية.
  8. // @name:az Bütün veb saytlarda YouTube bağlantılarını və yerləşdirmələri Piped bağlantıları ilə əvəz edir
  9. // @description:az Bütün veb saytlarda HTML-də YouTube bağlantılarını və yerləşdirmələri Piped.video bağlantıları ilə əvəz edir.
  10. // @name:bg Замяна на YouTube връзки и вградени с Piped връзки на всички уебсайтове
  11. // @description:bg Замества YouTube връзки и вградени с Piped.video връзки в HTML на всички уебсайтове.
  12. // @name:bn সমস্ত ওয়েবসাইটে YouTube লিঙ্ক এবং এমবেড প্রতিস্থাপন Piped লিঙ্ক দিয়ে
  13. // @description:bn সমস্ত ওয়েবসাইটের HTML-এ YouTube লিঙ্ক এবং এমবেডগুলি Piped.video লিঙ্ক দিয়ে প্রতিস্থাপন করে।
  14. // @name:ca Substitució d'enllaços i incrustacions de YouTube per enllaços de Piped a tots els llocs web
  15. // @description:ca Substitueix els enllaços i incrustacions de YouTube per enllaços de Piped.video en el HTML de tots els llocs web.
  16. // @name:cs Nahrazení odkazů a vložení YouTube za odkazy Piped na všech webových stránkách
  17. // @description:cs Nahrazuje odkazy a vložení YouTube za odkazy Piped.video v HTML na všech webových stránkách.
  18. // @name:da Udskiftning af YouTube-links og indlejringer med Piped-links på alle websteder
  19. // @description:da Erstatter YouTube-links og indlejringer med Piped.video-links i HTML på alle websteder.
  20. // @name:de Ersetzen von YouTube-Links und Einbettungen durch Piped-Links auf allen Websites
  21. // @description:de Ersetzt YouTube-Links und Einbettungen durch Piped.video-Links im HTML auf allen Websites.
  22. // @name:el Αντικατάσταση συνδέσμων και ενσωματώσεων YouTube με συνδέσμους Piped σε όλους τους ιστότοπους
  23. // @description:el Αντικαθιστά τους συνδέσμους και τις ενσωματώσεις YouTube με συνδέσμους Piped.video στο HTML σε όλους τους ιστότοπους.
  24. // @name:eo Anstataŭigo de YouTube-ligoj kaj enkorpigoj per Piped-ligoj sur ĉiuj retejoj
  25. // @description:eo Anstataŭigas YouTube-ligojn kaj enkorpigojn per Piped.video-ligoj en la HTML sur ĉiuj retejoj.
  26. // @name:es Reemplazo de enlaces y incrustaciones de YouTube por enlaces de Piped en todos los sitios web
  27. // @description:es Reemplaza los enlaces y las incrustaciones de YouTube por enlaces de Piped.video en el HTML de todos los sitios web.
  28. // @name:fi YouTube-linkkien ja upotusten korvaaminen Piped-linkeillä kaikilla verkkosivustoilla
  29. // @description:fi Korvaa YouTube-linkit ja upotukset Piped.video-linkeillä HTML:ssä kaikilla verkkosivustoilla.
  30. // @name:fr Remplacement des liens et des intégrations YouTube par des liens Piped sur tous les sites web
  31. // @description:fr Remplace les liens et les intégrations YouTube par des liens Piped.video dans le HTML sur tous les sites web.
  32. // @name:gl Substitución de ligazóns e insercións de YouTube por ligazóns de Piped en todos os sitios web
  33. // @description:gl Substitúe as ligazóns e insercións de YouTube por ligazóns de Piped.video no HTML de todos os sitios web.
  34. // @name:he החלפת קישורים והטמעות של YouTube בקישורי Piped בכל האתרים
  35. // @description:he מחליף את קישורי YouTube וההטמעות בקישורי Piped.video ב-HTML בכל האתרים.
  36. // @name:hi सभी वेबसाइटों पर YouTube लिंक और एंबेड को Piped लिंक से बदलें
  37. // @description:hi सभी वेबसाइटों पर HTML में YouTube लिंक और एंबेड को Piped.video लिंक से बदलता है।
  38. // @name:hu YouTube-hivatkozások és beágyazások cseréje Piped-hivatkozásokra minden webhelyen
  39. // @description:hu YouTube-hivatkozások és beágyazások cseréje Piped.video-hivatkozásokra a HTML-ben minden webhelyen.
  40. // @name:id Pengganti tautan dan sematan YouTube dengan tautan Piped di semua situs web
  41. // @description:id Mengganti tautan dan sematan YouTube dengan tautan Piped.video di HTML di semua situs web.
  42. // @name:is Skipta út YouTube tenglum og ívafi með Piped tenglum á öllum vefsíðum
  43. // @description:is Skipta út YouTube tenglum og ívafi með Piped.video tenglum í HTML á öllum vefsíðum.
  44. // @name:it Sostituzione dei collegamenti e incorporamenti di YouTube con collegamenti Piped su tutti i siti web
  45. // @description:it Sostituisce i collegamenti e gli incorporamenti di YouTube con collegamenti Piped.video nell'HTML su tutti i siti web.
  46. // @name:ja すべてのウェブサイトでYouTubeリンクと埋め込みをPipedリンクに置き換えます
  47. // @description:ja すべてのウェブサイトでHTML内のYouTubeリンクと埋め込みをPiped.videoリンクに置き換えます。
  48. // @name:km ប្តូរតំណ និងបង្កប់ YouTube ជា Piped លើគេហទំព័រទាំងអស់
  49. // @description:km ប្តូរតំណ និងបង្កប់ YouTube ជាតំណ Piped.video ក្នុង HTML នៅលើគេហទំព័រទាំងអស់។
  50. // @name:ko 모든 웹사이트에서 YouTube 링크와 임베드를 Piped 링크로 대체
  51. // @description:ko 모든 웹사이트의 HTML에서 YouTube 링크와 임베드를 Piped.video 링크로 대체합니다.
  52. // @name:ms Gantikan pautan dan sematan YouTube dengan pautan Piped di semua laman web
  53. // @description:ms Menggantikan pautan dan sematan YouTube dengan pautan Piped.video dalam HTML di semua laman web.
  54. // @name:mt Sostituzzjoni ta' links u embeds ta' YouTube b'links ta' Piped fuq il-websajts kollha
  55. // @description:mt Jissostitwixxi links u embeds ta' YouTube b'links ta' Piped.video fil-HTML fuq il-websajts kollha.
  56. // @name:nb Erstatte YouTube-lenker og innebygginger med Piped-lenker på alle nettsteder
  57. // @description:nb Erstatter YouTube-lenker og innebygginger med Piped.video-lenker i HTML på alle nettsteder.
  58. // @name:nl Vervang YouTube-links en ingesloten inhoud door Piped-links op alle websites
  59. // @description:nl Vervangt YouTube-links en ingesloten inhoud door Piped.video-links in de HTML op alle websites.
  60. // @name:pl Zamiana linków i osadzonych treści YouTube na linki Piped na wszystkich stronach internetowych
  61. // @description:pl Zamienia linki i osadzone treści YouTube na linki Piped.video w HTML na wszystkich stronach internetowych.
  62. // @name:pt Substituição de links e incorporações do YouTube por links do Piped em todos os sites
  63. // @description:pt Substitui links e incorporações do YouTube por links do Piped.video no HTML em todos os sites.
  64. // @name:ro Înlocuirea linkurilor și încorporărilor YouTube cu linkuri Piped pe toate site-urile web
  65. // @description:ro Înlocuiește linkurile și încorporările YouTube cu linkuri Piped.video în HTML pe toate site-urile web.
  66. // @name:ru Замена ссылок и встраиваний YouTube на ссылки Piped на всех веб-сайтах
  67. // @description:ru Заменяет ссылки и встраивания YouTube на ссылки Piped.video в HTML на всех веб-сайтах.
  68. // @name:sr Замена линкова и уградње YouTube са Piped линковима на свим веб сајтовима
  69. // @description:sr Замењује линкове и уградње YouTube са Piped.video линковима у HTML на свим веб сајтовима.
  70. // @name:sv Ersätt YouTube-länkar och inbäddningar med Piped-länkar på alla webbplatser
  71. // @description:sv Ersätter YouTube-länkar och inbäddningar med Piped.video-länkar i HTML på alla webbplatser.
  72. // @name:th แทนที่ลิงก์และการฝัง YouTube ด้วยลิงก์ Piped บนเว็บไซต์ทั้งหมด
  73. // @description:th แทนที่ลิงก์และการฝัง YouTube ด้วยลิงก์ Piped.video ใน HTML บนเว็บไซต์ทั้งหมด
  74. // @name:tl Palitan ang mga link at embed ng YouTube ng mga link ng Piped sa lahat ng mga website
  75. // @description:tl Pinapalitan ang mga link at embed ng YouTube ng mga link ng Piped.video sa HTML sa lahat ng mga website.
  76. // @name:tr Tüm web sitelerinde YouTube bağlantılarını ve gömme kodlarını Piped bağlantılarıyla değiştirir
  77. // @description:tr Tüm web sitelerinde YouTube bağlantılarını ve gömme kodlarını HTML'de Piped.video bağlantılarıyla değiştirir.
  78. // @name:uk Заміна посилань і вбудовувань YouTube на посилання Piped на всіх веб-сайтах
  79. // @description:uk Заміщує посилання та вбудовування YouTube на посилання Piped.video в HTML на всіх веб-сайтах.
  80. // @name:vi Thay thế các liên kết và nhúng YouTube bằng liên kết Piped trên tất cả các trang web
  81. // @description:vi Thay thế các liên kết và nhúng YouTube bằng liên kết Piped.video trong HTML trên tất cả các trang web.
  82. // @name:zh 将所有网站上的YouTube链接和嵌入替换为Piped链接
  83. // @description:zh 将所有网站上的HTML中的YouTube链接和嵌入替换为Piped.video链接。
  84. // @match *://*/*
  85. // @exclude *://*.youtube.com/*
  86. // @icon https://gitlab.com/uploads/-/system/project/avatar/59164083/youtube-to-piped.jpg
  87. // @version 1.1.2
  88. // @author BreatFR
  89. // @copyright 2024, BreatFR (https://breat.fr)
  90. // @grant none
  91. // @namespace https://gitlab.com/breatfr
  92. // @homepageURL https://gitlab.com/breatfr/youtube-to-piped-links-and-embeds-replacer-on-all-websites
  93. // @supportURL https://discord.gg/Q8KSHzdBxs
  94. // @license AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
  95. // ==/UserScript==
  96.  
  97. (function() {
  98. 'use strict';
  99.  
  100. // Fonction pour remplacer les liens YouTube par des liens Piped.video dans le HTML
  101. function replaceYouTubeLinks() {
  102. var links = document.getElementsByTagName('a');
  103. for (var i = 0; i < links.length; i++) {
  104. var link = links[i];
  105. if (link.href.includes('youtube.com/watch?v=')) {
  106. var videoId = link.href.split('v=')[1];
  107. var ampersandPosition = videoId.indexOf('&');
  108. if (ampersandPosition !== -1) {
  109. videoId = videoId.substring(0, ampersandPosition);
  110. }
  111. link.href = 'https://piped.video/watch?v=' + videoId;
  112. fetchMetadata(link, videoId);
  113. }
  114. }
  115. }
  116.  
  117. // Fonction pour remplacer les embeds YouTube par des embeds Piped dans le HTML
  118. function replaceYouTubeEmbeds() {
  119. var iframes = document.getElementsByTagName('iframe');
  120. for (var i = 0; i < iframes.length; i++) {
  121. var iframe = iframes[i];
  122. if (iframe.src.includes('youtube.com/embed/')) {
  123. var videoId = iframe.src.split('embed/')[1];
  124. var ampersandPosition = videoId.indexOf('?');
  125. if (ampersandPosition !== -1) {
  126. videoId = videoId.substring(0, ampersandPosition);
  127. }
  128. iframe.src = 'https://piped.video/embed/' + videoId;
  129. fetchMetadata(iframe, videoId);
  130. }
  131. }
  132. }
  133.  
  134. // Fonction pour récupérer les métadonnées de Piped.video
  135. function fetchMetadata(element, videoId) {
  136. var apiUrl = 'https://pipedapi.kavin.rocks/streams/' + videoId;
  137.  
  138. fetch(apiUrl)
  139. .then(response => response.json())
  140. .then(data => {
  141. if (data.title) {
  142. element.title = data.title;
  143. }
  144. if (data.thumbnailUrl) {
  145. var img = document.createElement('img');
  146. img.src = data.thumbnailUrl;
  147. img.alt = data.title;
  148. img.style.maxWidth = '100px'; // Ajustez la taille selon vos besoins
  149. element.parentNode.insertBefore(img, element);
  150. }
  151. })
  152. .catch(error => {
  153. console.error('Erreur lors de la récupération des métadonnées :', error);
  154. });
  155. }
  156.  
  157. // Exécuter les fonctions lors du chargement de la page et lors des changements dans le DOM
  158. document.addEventListener('DOMContentLoaded', function() {
  159. replaceYouTubeLinks();
  160. replaceYouTubeEmbeds();
  161. });
  162.  
  163. var observer = new MutationObserver(function(mutations) {
  164. replaceYouTubeLinks();
  165. replaceYouTubeEmbeds();
  166. });
  167.  
  168. observer.observe(document.body, {
  169. childList: true,
  170. subtree: true
  171. });
  172. })();