Greasy Fork is available in English.

HaaretzPaywall Gcache

bypass haaretz paywall

// ==UserScript==
// @name HaaretzPaywall Gcache
// @namespace haaretz
// @description bypass haaretz paywall
// @include http://*.haaretz.com/*
// @include http://*.haaretz.co.il/*
// @include /^http:\/\/webcache\.googleusercontent\.com\/search\?q=cache:http:\/\/www\.haaretz\.(com|co\.il)\/.*premium-/

// @grant none
// @version 1.3
// ==/UserScript==

var inHaaretzPremium = document.location.href.match(/^http:\/\/www\.haaretz\.(com|co\.il)\/.*premium-/);
var inGcache = document.location.href.match(/^http:\/\/webcache\.googleusercontent\.com\/search\?q=cache:http:\/\/www\.haaretz\.(com|co\.il)\/.*premium-/);
var googleCache = "http://webcache.googleusercontent.com/search?q=cache:";

if (inHaaretzPremium){
  if (!this.location.href.contains("#noGcache")){
    document.location.replace(googleCache+document.location.href);}
}
if (inGcache){
  if (document.title.contains('Error 404')){
        newLoc = document.location.href.substr(document.location.href.indexOf("q=cache:")+8);
        newLoc = newLoc + "#noGcache";
        document.getElementsByTagName("a").item(0).href = newLoc;
        document.getElementsByTagName("a").item(0).click();
  }
}

function addNewStyle(newStyle) {
    styleElement = document.createElement('style');
    styleElement.type = 'text/css';
    //head = document.getElementsByTagName('head')[0];
    //head.insertBefore(styleElement, head.firstChild);
    document.getElementsByTagName('head')[0].appendChild(styleElement);
    styleElement.appendChild(document.createTextNode(newStyle));
    return styleElement;
}

style1 = addNewStyle('.modal-wrapper {display:none};');
addNewStyle('.footer-ruler {display:none !important;}');
// uncomment next line to get rid of the fixed header (when scrolling down an article, the header will be hidden)
// addNewStyle('.h-posf {position:relative !important;}');


window.addEventListener('load', function() {
    $('.modal-wrapper, .modal--subscription-weekly').addClass('h-hidden');
    $('a').each(function(){
      if (this.href.match(/premium-/)){
        if (inGcache/* && $(this).parent().html().contains("This is Google's cache")*/){
          this.href = this.href+"#noGcache";
        }else{
          if (!this.href.contains("#noGcache")){
            if (inGcache){prefix=document.location.href.match(/cache:(https?:\/\/.*?\/)/)[1]}
            else {prefix=document.location.origin+'/';}
            if (this.href.match(/^https?:\/\//)){prefix='';}
            this.href = googleCache + prefix + this.href;
          }}}});
     document.getElementsByTagName('head')[0].removeChild(style1);
}, false);