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.1
// @match https://*.pass-education.fr/*
// @grant none
// @license MIT
// ==/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();
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址