medium-bypass

Bypass Medium paywall

// ==UserScript==
// @name         medium-bypass
// @namespace    vite-plugin-monkey
// @version      0.2.0
// @author       https://github.com/xiaotianxt
// @description  Bypass Medium paywall
// @homepage     https://github.com/xiaotianxt/medium-bypass
// @homepageURL  https://github.com/xiaotianxt/medium-bypass
// @match        *://*.adelaidenow.com.au/*
// @match        *://*.adweek.com/*
// @match        *://*.afr.com/*
// @match        *://*.ambito/*
// @match        *://*.ampproject.org/*
// @match        *://*.baltimoresun.com/*
// @match        *://*.barrons.com/*
// @match        *://*.bizjournals.com/*
// @match        *://*.bloomberg.com/*
// @match        *://*.bloombergquint.com/*
// @match        *://*.bostonglobe.com/*
// @match        *://*.brisbanetimes.com.au/*
// @match        *://*.britannica.com/*
// @match        *://*.businessinsider.com/*
// @match        *://*.caixinglobal.com/*
// @match        *://*.cen.acs.org/*
// @match        *://*.centralwesterndaily.com.au/*
// @match        *://*.chicagobusiness.com/*
// @match        *://*.chicagotribune.com/*
// @match        *://*.corriere.it/*
// @match        *://*.courant.com/*
// @match        *://*.couriermail.com.au/*
// @match        *://*.dailypress.com/*
// @match        *://*.dailytelegraph.com.au/*
// @match        *://*.delfi.ee/*
// @match        *://*.demorgen.be/*
// @match        *://*.denverpost.com/*
// @match        *://*.df.cl/*
// @match        *://*.dynamed.com/*
// @match        *://*.economist.com/*
// @match        *://*.elmercurio.com/*
// @match        *://*.elmundo.es/*
// @match        *://*.elu24.ee/*
// @match        *://*.entreprenal.com/*
// @match        *://*.examiner.com.au/*
// @match        *://*.expansion.com/*
// @match        *://*.fd.nl/*
// @match        *://*.financialpost.com/*
// @match        *://*.fnlondon.com/*
// @match        *://*.foreignpolicy.com/*
// @match        *://*.fortune.com/*
// @match        *://*.ft.com/*
// @match        *://*.gelocal.it/*
// @match        *://*.genomeweb.com/*
// @match        *://*.glassdoor.com/*
// @match        *://*.globes.co.il/*
// @match        *://*.groene.nl/*
// @match        *://*.haaretz.co.il/*
// @match        *://*.haaretz.com/*
// @match        *://*.harpers.org/*
// @match        *://*.hbr.org/*
// @match        *://*.hbrchina.org/*
// @match        *://*.heraldsun.com.au/*
// @match        *://*.historyextra.com/*
// @match        *://*.humo.be/*
// @match        *://*.ilmanifesto.it/*
// @match        *://*.inc.com/*
// @match        *://*.inquirer.com/*
// @match        *://*.interest.co.nz/*
// @match        *://*.investorschronicle.co.uk/*
// @match        *://*.irishtimes.com/*
// @match        *://*.japantimes.co.jp/*
// @match        *://*.journalnow.com/*
// @match        *://*.kansascity.com/*
// @match        *://*.labusinessjournal.com/*
// @match        *://*.lanacion.com.ar/*
// @match        *://*.lastampa.it/*
// @match        *://*.latercera.com/*
// @match        *://*.latimes.com/*
// @match        *://*.lavoixdunord.fr/*
// @match        *://*.lecho.be/*
// @match        *://*.leparisien.fr/*
// @match        *://*.lesechos.fr/*
// @match        *://*.loebclassics.com/*
// @match        *://*.lrb.co.uk/*
// @match        *://*.mcall.com/*
// @match        *://*.medium.com/*
// @match        *://*.medscape.com/*
// @match        *://*.mercurynews.com/*
// @match        *://*.mv-voice.com/*
// @match        *://*.nationalgeographic.com
// @match        *://*.nationalpost.com/*
// @match        *://*.netdna-ssl.com/*
// @match        *://*.news-gazette.com/*
// @match        *://*.newstatesman.com/*
// @match        *://*.newyorker.com/*
// @match        *://*.nrc.nl/*
// @match        *://*.ntnews.com.au/*
// @match        *://*.nydailynews.com/*
// @match        *://*.nymag.com/*
// @match        *://*.nytimes.com/*
// @match        *://*.nzherald.co.nz/*
// @match        *://*.nzz.ch/*
// @match        *://*.ocregister.com/*
// @match        *://*.orlandosentinel.com/*
// @match        *://*.outbrain.com/*
// @match        *://*.paloaltoonline.com/*
// @match        *://*.parool.nl/*
// @match        *://*.piano.io/*
// @match        *://*.poool.fr/*
// @match        *://*.postimees.ee/*
// @match        *://*.qiota.com/*
// @match        *://*.quora.com/*
// @match        *://*.qz.com/*
// @match        *://*.repubblica.it/*
// @match        *://*.republic.ru/*
// @match        *://*.reuters.com/*
// @match        *://*.sandiegouniontribune.com/*
// @match        *://*.scientificamerican.com/*
// @match        *://*.scmp.com/*
// @match        *://*.seattletimes.com/*
// @match        *://*.seekingalpha.com/*
// @match        *://*.slate.com/*
// @match        *://*.smh.com.au/*
// @match        *://*.sofrep.com/*
// @match        *://*.spectator.co.uk/*
// @match        *://*.spectator.com.au/*
// @match        *://*.spectator.us/*
// @match        *://*.speld.nl/
// @match        *://*.startribune.com/*
// @match        *://*.statista.com/*
// @match        *://*.stuff.co.nz/*
// @match        *://*.sueddeutsche.de/*
// @match        *://*.sun-sentinel.com/*
// @match        *://*.techinasia.com/*
// @match        *://*.technologyreview.com/*
// @match        *://*.telegraaf.nl/*
// @match        *://*.telegraph.co.uk/*
// @match        *://*.the-tls.co.uk/*
// @match        *://*.theadvocate.com.au/*
// @match        *://*.theage.com.au/*
// @match        *://*.theathletic.co.uk/*
// @match        *://*.theathletic.com/*
// @match        *://*.theatlantic.com/*
// @match        *://*.theaustralian.com.au/*
// @match        *://*.thediplomat.com/*
// @match        *://*.theglobeandmail.com/*
// @match        *://*.theherald.com.au/*
// @match        *://*.thehindu.com/*
// @match        *://*.themarker.com/*
// @match        *://*.themercury.com.au/*
// @match        *://*.thenation.com/*
// @match        *://*.thenational.scot/*
// @match        *://*.theolivepress.es/*
// @match        *://*.thesaturdaypaper.com.au/*
// @match        *://*.thestar.com/*
// @match        *://*.thewrap.com/*
// @match        *://*.tijd.be/*
// @match        *://*.time.com/*
// @match        *://*.tinypass.com/*
// @match        *://*.towardsdatascience.com/*
// @match        *://*.trouw.nl/*
// @match        *://*.vanityfair.com/*
// @match        *://*.vn.nl/*
// @match        *://*.volkskrant.nl/*
// @match        *://*.washingtonpost.com/*
// @match        *://*.wired.com/*
// @match        *://*.wsj.com/*
// @match        *://*.zeit.de/*
// @match        *://*/*
// @grant        GM_addStyle
// ==/UserScript==

((t) => {
  if (typeof GM_addStyle == "function") {
    GM_addStyle(t);
    return;
  }
  const e = document.createElement("style");
  (e.textContent = t), document.head.append(e);
})(
  " #medium-bypass-tool img{width:100%;aspect-ratio:1;border-radius:50%}#medium-bypass-tool button{background:none;border:none;padding:0;margin:0;cursor:pointer;outline:none;position:fixed;top:calc(100% - 61.8vh);left:0;z-index:10000;width:2em;transform:translate(-50%)}#medium-bypass-tool button:hover{transform:scale(1.2) translate(20%);box-shadow:0 0 .5em #000;transition:transform .1s ease;border-radius:50%} "
);

(function () {
  "use strict";

  const iconUrl =
    "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAOZlWElmTU0AKgAAAAgABgESAAMAAAABAAEAAAEaAAUAAAABAAAAVgEbAAUAAAABAAAAXgExAAIAAAAhAAAAZgEyAAIAAAAUAAAAiIdpAAQAAAABAAAAnAAAAAAAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhvdG9zaG9wIDI0LjYgKE1hY2ludG9zaCkAADIwMjM6MTI6MDUgMTU6NDk6MzIAAASQBAACAAAAFAAAANKgAQADAAAAAQABAACgAgAEAAAAAQAAAGSgAwAEAAAAAQAAAGQAAAAAMjAyMzoxMjowNSAxNTo0ODowNwBKuNvdAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHdGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMy0xMi0wNVQxNTo0OTozMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIDI0LjYgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjMtMTItMDVUMTU6NDg6MDcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDIzLTEyLTA1VDE1OjQ5OjMyKzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgMjQuNiAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMy0xMi0wNVQxNTo0ODowNyswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpiYjdiMWU3ZC1jZjc2LTRmMWMtYTRjYi00MWE0YWEwODI1Nzg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDpiYjdiMWU3ZC1jZjc2LTRmMWMtYTRjYi00MWE0YWEwODI1Nzg8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAg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";
  const spinningUrl =
    "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20style='margin:%20auto;%20background:%20rgb(255,%20255,%20255);%20display:%20block;%20shape-rendering:%20auto;'%20width='200px'%20height='200px'%20viewBox='0%200%20100%20100'%20preserveAspectRatio='xMidYMid'%3e%3cg%20transform='rotate(0%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.9166666666666666s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(30%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.8333333333333334s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(60%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.75s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(90%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.6666666666666666s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(120%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.5833333333333334s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(150%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.5s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(180%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.4166666666666667s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(210%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.3333333333333333s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(240%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.25s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(270%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.16666666666666666s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(300%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='-0.08333333333333333s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3cg%20transform='rotate(330%2050%2050)'%3e%3crect%20x='47'%20y='24'%20rx='3'%20ry='6'%20width='6'%20height='12'%20fill='%23000000'%3e%3canimate%20attributeName='opacity'%20values='1;0'%20keyTimes='0;1'%20dur='1s'%20begin='0s'%20repeatCount='indefinite'%3e%3c/animate%3e%3c/rect%3e%3c/g%3e%3c!--%20[ldio]%20generated%20by%20https://loading.io/%20--%3e%3c/svg%3e";
  const BYPASS_ORIGIN = "https://freedium.cfd/";
  function BypassButton() {
    let loading = false;
    const handleClick = () => {
      if (loading) return;
      loading = true;
      img.src = spinningUrl;
      location.href = BYPASS_ORIGIN + window.location.href;
    };
    const button = document.createElement("button");
    button.title = "Bypass Medium paywall";
    button.addEventListener("click", handleClick);
    const img = document.createElement("img");
    img.alt = "icon";
    img.src = iconUrl;
    button.appendChild(img);
    return button;
  }
  const element = document.createElement("div");
  element.id = "medium-bypass-tool";
  document.body.appendChild(element);
  const isMediumWebsite =
    location.hostname.endsWith("medium.com") ||
    document.querySelector(
      "meta[property='al:ios:app_name'][content='Medium']"
    ) !== null;
  isMediumWebsite && element.appendChild(BypassButton());
})();