Advertisement
xosski

Tinder unblur script

Oct 29th, 2024 (edited)
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.13 KB | None | 0 0
  1. 1 install tampermonkey or similar extension
  2. 2 run the script
  3. 3 go to
  4. // ==UserScript==
  5. // @name Tinder Unblur
  6. // @namespace http://tampermonkey.net/
  7. // @version 1.1
  8. // @description Unblur Tinder fast match teasers
  9. // @match https://tinder.com/*
  10. // @grant none
  11. // @license MIT
  12. // @downloadURL https://update.greasyfork.org/scripts/506650/Tinder%20Unblur.user.js
  13. // @updateURL https://update.greasyfork.org/scripts/506650/Tinder%20Unblur.meta.js
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19. // Funzione per ottenere il token di autenticazione
  20. function getAuthToken() {
  21. return localStorage.getItem("TinderWeb/APIToken");
  22. }
  23.  
  24. // Funzione principale per sbloccare le immagini
  25. async function unblur() {
  26. const authToken = getAuthToken();
  27. if (!authToken) {
  28. console.error("Tinder Unblur: Auth token non trovato.");
  29. return;
  30. }
  31.  
  32. try {
  33. const response = await fetch("https://api.gotinder.com/v2/fast-match/teasers", {
  34. headers: {
  35. "X-Auth-Token": authToken,
  36. "Platform": "android",
  37. "Content-Type": "application/json",
  38. },
  39. });
  40.  
  41. if (!response.ok) {
  42. console.error(`Tinder Unblur: Errore nel fetch - ${response.statusText}`);
  43. return;
  44. }
  45.  
  46. const data = await response.json();
  47. const teasers = data?.data?.results;
  48.  
  49. if (!teasers || !Array.isArray(teasers)) {
  50. console.error("Tinder Unblur: Dati teaser non validi.");
  51. return;
  52. }
  53.  
  54. // Seleziona gli elementi teaser nel DOM
  55. const teaserEls = document.querySelectorAll(
  56. ".Expand.enterAnimationContainer > div:nth-child(1)"
  57. );
  58.  
  59. teasers.forEach((teaser, index) => {
  60. const teaserEl = teaserEls[index];
  61. if (teaserEl && teaser.user && teaser.user.photos && teaser.user.photos.length > 0) {
  62. const photo = teaser.user.photos[0];
  63. const teaserImage = `https://preview.gotinder.com/${teaser.user._id}/original_${photo.id}.jpeg`;
  64. teaserEl.style.backgroundImage = `url(${teaserImage})`;
  65. teaserEl.style.filter = 'none'; // Rimuove eventuali filtri di sfocatura
  66. }
  67. });
  68.  
  69. console.log("Tinder Unblur: Immagini sbloccate con successo.");
  70. } catch (error) {
  71. console.error("Tinder Unblur: Errore durante l'unblur delle immagini.", error);
  72. }
  73. }
  74.  
  75. // Esegui la funzione unblur quando la pagina è completamente caricata
  76. window.addEventListener('load', () => {
  77. // Attendere qualche secondo per assicurarsi che gli elementi siano caricati
  78. setTimeout(unblur, 3000);
  79. });
  80.  
  81. // Utilizza MutationObserver per gestire nuovi teaser caricati dinamicamente
  82. const observer = new MutationObserver((mutations) => {
  83. for (const mutation of mutations) {
  84. if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
  85. unblur();
  86. }
  87. }
  88. });
  89.  
  90. // Configura l'osservatore
  91. const targetNode = document.body;
  92. const config = { childList: true, subtree: true };
  93. observer.observe(targetNode, config);
  94.  
  95. // Crea un pulsante per attivare manualmente la funzione unblur
  96. const unblurButton = document.createElement('button');
  97. unblurButton.textContent = 'Sblocca Immagini!';
  98. unblurButton.style.position = 'fixed';
  99. unblurButton.style.top = '10px';
  100. unblurButton.style.left = '50%';
  101. unblurButton.style.transform = 'translateX(-50%)'; // Centra orizzontalmente
  102. unblurButton.style.zIndex = '9999';
  103. unblurButton.style.backgroundColor = '#FE3C72'; // Rosso Tinder
  104. unblurButton.style.color = '#FFFFFF'; // Testo bianco
  105. unblurButton.style.border = 'none';
  106. unblurButton.style.borderRadius = '20px';
  107. unblurButton.style.padding = '10px 20px';
  108. unblurButton.style.fontSize = '16px';
  109. unblurButton.style.cursor = 'pointer';
  110. unblurButton.style.boxShadow = '0 4px 8px rgba(0, 0, 0, 0.2)';
  111. unblurButton.style.transition = 'background-color 0.3s ease, transform 0.3s ease';
  112.  
  113. // Aggiungi effetti hover e attivi
  114. unblurButton.addEventListener('mouseover', function() {
  115. unblurButton.style.backgroundColor = '#FF6B81'; // Rosso leggermente più chiaro
  116. unblurButton.style.transform = 'translateX(-50%) scale(1.05)';
  117. });
  118.  
  119. unblurButton.addEventListener('mouseout', function() {
  120. unblurButton.style.backgroundColor = '#FE3C72'; // Rosso Tinder
  121. unblurButton.style.transform = 'translateX(-50%) scale(1)';
  122. });
  123.  
  124. unblurButton.addEventListener('click', () => {
  125. unblur();
  126. // Fornisci feedback visivo all'utente
  127. unblurButton.textContent = 'Sbloccato!';
  128. setTimeout(() => {
  129. unblurButton.textContent = 'Sblocca Immagini!';
  130. }, 2000);
  131. });
  132.  
  133. document.body.appendChild(unblurButton);
  134. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement