PageSourceSearch

https://www.cafedelabourse.com/wp-content/plugins/link-obfuscator/assets/js/link-obfuscator.js

js cafedelabourse.com collected 2026-09-24 19:38:51 UTC 2,820 bytes, 94 lines download raw bytes

1(function($) {
2	$(document).ready(function() {
3		// Intercepter les clics sur tous les liens obfusqués
4		$(document).on('click', 'a.obfuscate, a.obfuscate', function(e) {
5			e.preventDefault();
6			e.stopPropagation();
7
8			var $link = $(this);
9			var encodedUrl = $link.data('obf');
10
11			if (!encodedUrl) {
12				console.error('URL obfusquée non trouvée');
13				return false;
14			}
15
16			try {
17				// Décoder l'URL
18				var decodedUrl = atob(encodedUrl);
19
20				// Récupérer l'attribut target s'il existe
21				var target = $link.data('obf-target') || $link.attr('target') || '_self';
22
23				// Naviguer vers l'URL en respectant l'attribut target
24				if (target === '_blank') {
25					// Ouvrir dans un nouvel onglet
26					var newTab = window.open(decodedUrl, '_blank');
27					if (!newTab) {
28						console.warn('Le blocage des popups pourrait empêcher l\'ouverture du lien');
29						// Essayer une autre méthode si le popup est bloqué
30						window.location.href = decodedUrl;
31					}
32				} else {
33					// Naviguer dans la fenêtre actuelle
34					window.location.href = decodedUrl;
35				}
36			} catch (error) {
37				console.error('Erreur lors du décodage de l\'URL:', error);
38			}
39
40			return false;
41		});
42
43		// Support pour le clic droit / ouvrir dans un nouvel onglet
44		// Cette partie est cruciale pour que cela fonctionne avec le clic droit
45		$('a.obfuscate, a.obfuscate').each(function() {
46			var $link = $(this);
47			var encodedUrl = $link.data('obf');
48
49			if (!encodedUrl) {
50				return;
51			}
52
53			try {
54				// Stocker l'URL originale pour l'attribut href
55				var originalUrl = atob(encodedUrl);
56
57				// Ajouter un gestionnaire d'événements pour le clic droit
58				$link.on('contextmenu', function() {
59					// Temporairement remplacer href par l'URL réelle pour le menu contextuel
60					$(this).attr('href', originalUrl);
61
62					// Remettre l'URL obfusquée après un court délai
63					setTimeout(function() {
64						$link.attr('href', 'https://obfuscate-' + btoa(Math.random()) + '.html');
65					}, 100);
66				});
67
68				// Ajouter un gestionnaire pour le clic du milieu (molette)
69				$link.on('mouseup', function(e) {
70					if (e.which === 2) { // Clic du milieu
71						e.preventDefault();
72						window.open(originalUrl, '_blank');
73						return false;
74					}
75				});
76
77				// Ajouter un gestionnaire pour mousedown (avant que le clic ne soit traité)
78				$link.on('mousedown', function(e) {
79					if (e.which === 2) { // Clic du milieu
80						e.preventDefault();
81						// Temporairement remplacer href pour le clic du milieu
82						$(this).attr('href', originalUrl);
83						setTimeout(function() {
84							$link.attr('href', 'https://obfuscate-' + btoa(Math.random()) + '.html');
85						}, 100);
86						return false;
87					}
88				});
89			} catch (error) {
90				console.error('Erreur lors du traitement du lien :', error);
91			}
92		});
93	});
94})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.