您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
This script modifies download links on the Pass-Éducation website to allow file downloads without a subscription. It also removes Google Tag Manager (GTM) iframes that appear on the page.
// ==UserScript== // @name Script for Pass-Education to download without subscription // @name:fr Script pour Pass-Education pour télécharger sans abonnement // @name:en Script for Pass-Education to download without subscription // @description This script modifies download links on the Pass-Éducation website to allow file downloads without a subscription. It also removes Google Tag Manager (GTM) iframes that appear on the page. // @description:fr Ce script permet de modifier les liens de téléchargement sur le site Pass-Éducation afin de télécharger des fichiers sans avoir à payer un abonnement. Il supprime également les iframes de Google Tag Manager (GTM) qui apparaissent sur la page. // @description:en This script modifies download links on the Pass-Éducation website to allow file downloads without a subscription. It also removes Google Tag Manager (GTM) iframes that appear on the page. // @namespace http://tampermonkey.net/ // @version 1.2 // @match https://*.pass-education.fr/* // @grant none // @license MIT // @author TrouveMe // @contributionURL https://www.paypal.com/donate/?cmd=_donations&[email protected]&item_name=Greasy+Fork+donation // ==/UserScript== (function() { 'use strict'; // Ferme les pop-ups de consentement si présents const consentButton = document.querySelector('.cc-btn.cc-dismiss.cc-btn-no-href'); if (consentButton) { consentButton.click(); } // Supprime le pop-up de connexion si présent const loginPopUp = document.querySelector('.callout.warning.link-attachment'); if (loginPopUp) { loginPopUp.remove(); } // Liste pour garder trace des liens déjà mis à jour let lastUpdatedLinks = []; // Fonction pour mettre à jour les liens function updateLinks() { const links = document.querySelectorAll('.auth-href'); links.forEach(link => { // Assurez-vous que le lien n'a pas déjà été modifié pour éviter la récursion infinie if (lastUpdatedLinks.includes(link.href)) return; const url = new URL(link.href); const attachmentId = url.searchParams.get('attachment_id'); const archiveId = url.searchParams.get('archive_id'); if (attachmentId) { link.href = 'https://cdn.pass-education.fr/download.php?attachment_id=' + attachmentId; console.log('Nouveau lien attachment:', link.href); } if (archiveId) { link.href = 'https://cdn.pass-education.fr/download.php?archive_id=' + archiveId; console.log('Nouveau lien archive:', link.href); } // Ajout à la liste des liens modifiés pour éviter la récursion infinie lastUpdatedLinks.push(link.href); }); } // Observer de mutations pour surveiller les changements dans le DOM const observer = new MutationObserver((mutationsList) => { // Ne traiter que les mutations concernant l'ajout de nouveaux liens pertinents for (const mutation of mutationsList) { for (const node of mutation.addedNodes) { // Vérifiez si un élément contenant des liens à mettre à jour est ajouté if (node.querySelectorAll && node.querySelectorAll('.auth-href').length) { updateLinks(); // Mettre à jour les liens dès qu'ils sont ajoutés } // Si une iframe GTM est ajoutée, on la supprime if (node.tagName === 'IFRAME' && node.src.includes('googletagmanager.com/ns.html')) { console.log('Suppression iframe GTM:', node.src); node.remove(); } } } }); // Configurer l'observateur pour surveiller l'ajout de nouveaux éléments observer.observe(document.body, { childList: true, // Surveiller l'ajout/suppression d'éléments subtree: true, // Inclure tous les sous-éléments de la page }); // Appeler une première fois pour modifier les liens déjà présents dans la galerie updateLinks(); })();