// ==UserScript== // @name 12ft Paywall Bypass Script // @namespace http://tampermonkey.net/ // @version 0.7 // @description Bypass paywalls with 12ft.io on right click or floating button // @author sharmanhall // @license MIT // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABIUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuErJsAAAAXdFJOUwAQIDBAUF9gb3B/gI+Qn6CvsL/P0N/vIiFUiwAABbVJREFUeJztW9m2mzAMNNvlkhR64xT0/3/ac0wIXmZABtqnzFvAWLakkeQl5oMPPvjggw8++OBilFXTtm3b1nVp/jeKtn9O4uH509XmWtT9JALfVLenIExDY66Cky7yTN8UrRWO8fsKa7yki8gjflXcJtnGeDPnsEoXkXv0st0TLyIynnCGQLqIhDYtt5Tv46ASYukiUvnvvzXTn/FTmFwA6RKQoPiRDDzzRoClByQoR8lCxgiY9IAEufJFBqPChnSfBPnyRTqzi23pHgmOyJdpJyTtSl9JUByRv20EjfSVBL/kGCqDoZT+JkErB9Fj+TiTIcwkKPXxJ8KEqShqzCT4zRs8h2GwGw4Ck0IlajgSUANM99cEa6pTaING1HBOxCboh/s7aTOiAfSihtlQQJioWZ5ATqBNqS8SEPVGhUJBHBXFojwS1PhVotsHbgdqxELUuHMKJDMjlmrTAZApITTUBVPvLgUCDKATNSo63NS0RLFgAHkkwK1RlhEIMABEAvsHffyklEEBTiCAE8Z8mfqmwD78AK0dUHghJqi3G062mzMmpOadhe2HSUECfJqQV68a+/odp+DHDfNBVGuRAJ82nEkw2c53ZDz8irEbuQCOF2Bp2YdTn4GHb4zpRgBYcON4Aehy70rwEH0MRs9B4oV2tU5JoAaJ2NrFCSOBGiQQW6MD5nDOZgdRQGt0wAZkNTUAUQCshxBwfjJ6kBrnl1ECZpwMEnwLhnq3CE5ATwK2btB78XTqc7ZwHNUKOEkCtnDUUuAsCW6CoY0BZ0nA5E8Z+5VnSPAlBIrtkTdOkIDKV24QzThOAip/zNmkw9WIhgRUfo4DsGpEQQIqPyuPsaX1/ndcfk4iZ9XIPgmI/NEOOQQwrBrZJQHiv1ti5EMQ9rQI5I/tEekHSZDKn3IV/8YREgxJ+/H4SREkwbT1RZHK/1O8X1buIDGjnoMk2EplRbqUXuQXtzWsqyuqXBKUqfyX/sMDtU0lesDVCPcotHFfojdaDeBqhJ67IfkzZasop2kLElyNMB+qgPw58yUj0yZkWI0w+1Uoc8+1XzIybUKA1QhR3xesHJwHpBsCc6Nvoc3WJiEfWIS4PQzt01N42KpRzGDkUECUn46CwQKsF1VVo1TzPqQkUJPAlb+On/1o5m3HvDyDIssahIg+W3bNvNYyXl7gx/70JJgAM1WrXozDZbkXu8svepIUAzbzbyZBqr2emeRRUWCAu7kelrt0MOgdxpZYM8RCUos39MqUbVHMRaYcTUSkoCeGzut9tZa6+nxaa219sfcrLVeFJjc45RduCQP7MXPrd1rvDlhcZZPHQFWI4G9KirfkYBskve41DUJ4Dh9e1X82Na5G9kh7aBzAUeAX3sk+NqRzw6AauhcaTTcIwFffS10IwdABXSuNMXskICFf4/ueIdwws6VSwKF/DwSpCXBJgk25P/UtVf5s3jjmYfVmFskgOHfw+pRNXoYmoeUQ5jE86nonnycCQI3W82TV424TvZPmNeg7+3V+6pWZIKNI6n9E+bVB4iqvS7IZRZCYteJ7oR59tc46b7M43WRVY3MnehOmJ1qq/R3Y3QkgCSe7aW7ZuFWP14061+/K3OaBLprFs5f7+nvaHoHSKC8a+RU+0h+x4k6ryR3nSjvGjnVPpPfTqA3vaySfO5Ed9docfoFriQvLiEBu5gUApKgTkmQVZLPJCCXciIsTh/8bl9W9KZH5GM7zyTQsTAmwTJzZ8VzJNBd4ItJ8KK/lgTYzq5T5WWnmASvsS+usICRANvZdaq77LQ4/YJl5osrLMjcvc8Eq0Y8/bJceA3YutQbwNRWZZmxd5sHtgUQh9mMc8w8sC2AOJZmnePlwCNs8Dwm0r/yxJgEK6JYdvg8YweMBAmVr/v7TQhWkieB7ur/IC3YKvyCEVzx5x+EzcKvXC/7ao8vrkbZ3PthuLf/LAx9kIu/KxNpLm8PllAAAAABJRU5ErkJggg== // @match *://*/* // @grant GM_registerMenuCommand // @grant GM_addStyle // @grant GM_addElement // @downloadURL none // ==/UserScript== (function () { 'use strict'; // Constants const _12FT_PREFIX = "https://12ft.io/proxy?ref=pro&q="; const _12FT_ORIGIN = new URL(_12FT_PREFIX).origin; // Add floating button GM_addStyle(` #bypassButton { position: fixed; bottom: 10px; right: 10px; background: #333; color: white; border: none; padding: 5px; cursor: pointer; z-index: 99999999999; font-size: 12px; display: flex; align-items: center; opacity: 0.8; } #bypassButton:hover { opacity: 1; } #bypassButton img { width: 20px; margin-right: 5px; } `); const button = document.createElement('button'); button.id = 'bypassButton'; button.innerHTML = ' Bypass Paywall (12ft.io)'; document.body.appendChild(button); // Add right-click menu options GM_registerMenuCommand("Bypass with 12ft", () => bypassPage()); GM_registerMenuCommand("Archive Today", () => archivePage('https://archive.today/newest/')); GM_registerMenuCommand("Archive Is", () => archivePage('https://archive.is/newest/')); GM_registerMenuCommand("Archive Ph", () => archivePage('https://archive.ph/newest/')); GM_registerMenuCommand("Remove Paywall", () => archivePage('https://RemovePaywall.com/')); GM_registerMenuCommand("Google Cache", () => archivePage('https://webcache.googleusercontent.com/search?q=cache:')); // Event listener for floating button button.addEventListener('click', () => { if (window.location.href.startsWith(_12FT_ORIGIN)) { goBack(); } else { bypassPage(); } }); // Function to bypass paywall function bypassPage() { const currentUrl = window.location.href; if (isValidProtocol(currentUrl)) { window.location.href = _12FT_PREFIX + currentUrl; } } // Function to go back to original URL function goBack() { const currentUrl = window.location.href; const originalUrl = new URL(currentUrl).searchParams.get("q"); if (originalUrl) { window.location.href = originalUrl; } } // Check if the protocol is valid (http or https) function isValidProtocol(url) { return new URL(url).protocol.startsWith("http"); } // Remove banner on 12ft.io function removeBanner() { const banner = document.getElementById('ad'); if (banner) { banner.remove(); } } // Mutation observer to remove banner if it appears const observer = new MutationObserver((mutations) => { for (const mutation of mutations) { if (mutation.addedNodes.length) { removeBanner(); } } }); observer.observe(document.body, { childList: true, subtree: true }); // Initial banner removal removeBanner(); // Remove duplicate button inside iframe function removeDuplicateButton() { const iframe = document.getElementById('proxy-frame'); if (iframe) { const iframeDocument = iframe.contentDocument || iframe.contentWindow.document; const duplicateButton = iframeDocument.getElementById('bypassButton'); if (duplicateButton) { duplicateButton.remove(); } } } window.addEventListener('load', removeDuplicateButton); // Function to open archive pages function archivePage(baseURL) { const currentUrl = window.location.href; if (isValidProtocol(currentUrl)) { window.open(baseURL + encodeURIComponent(currentUrl), '_blank'); } } })();