Πως να παρακάμψετε paywalls

Αν ο όρος paywall δεν σας λέει κάτι, διαβάστε αυτό το άρθρο. Η συνεχιζόμενη άνοδος των adblocking εφαρμογών έχει βάλει ένα τέλος στο μοντέλο εσόδων που στηρίζεται στις διαφημίσεις που προβάλλονται από τις ιστοσελίδες.paywall paywall

Έτσι έχουμε δει πολλά ειδησεογραφικά sites να χρησιμοποιούν διαφορετικούς τρόπους για να κερδίσουν χρήματα. Έτσι μεγάλες ιστοσελίδες όπως οι: The Wall Street Journal, Financial Times, The New York Times ή The Washington Post χρησιμοποιούν paywall για να αυξήσουν τα εισοδήματά τους.

Υπάρχουν διαφορετικοί τύποι paywalls αλλά όλοι έχουν ένα κοινό χαρακτηριστικό: μπλοκάρουν την πρόσβαση στο περιεχόμενο των ιστοσελίδων, είτε άμεσα είτε μετά την ανάγνωση ενός ορισμένου αριθμού άρθρων.

Αμέσως μετά εμφανίζεται ένα παράθυρο (paywall) στους επισκέπτες που τους ζητάει να εγγραφούν στο site για να συνεχίσουν την ανάγνωση.

Η πρακτική αυτή, μπορεί φαίνεται ότι έχει νόημα από επιχειρηματική άποψη, και μπορεί να είναι πολύ πιο προσοδοφόρα από τις διαφημίσεις της Google, που μπλοκάρονται με adblockers, αλλά υπάρχει σοβαρό ένα μειονέκτημα.

Οι ιστοσελίδες χάνουν ένα υψηλό ποσοστό των επισκεπτών τους χρησιμοποιώντας ένα σύστημα paywall.

Δεν είναι μυστικό ότι τα ειδησεογραφικά sites επιτρέπουν την πρόσβαση σε όλο το περιεχόμενό τους στις μηχανές αναζήτησης. Αν δείτε για παράδειγμα το Google News, θα παρατηρήσετε άρθρα από ιστοσελίδες που χρησιμοποιούν paywalls.

Αναρωτιέστε πώς μπορούν τα sites να αποκλείουν ή να επιτρέπουν την πρόσβαση στο περιεχόμενο;

Υπάρουν πολλοί και διαφορετικοί έλεγχοι, που συμπεριλαμβάνουν τον έλεγχο του user-agent, τον referrer, δηλαδή από πια σελίδα έρχεστε και φυσικά τα cookies. Όλα τα παραπάνω μπορούν να αξιοποιηθούν για να καθορίσουν τη νομιμότητα της πρόσβασης.

Πως μπορούμε να παρακάμψουμε τα εμπόδια;

Ίσως ο καλύτερος τρόπος είναι να μεταμφιεστείτε σε Googlebot. Ας δούμε πως γίνεται:

Referrer: https://www.google.com/
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html

Στον Firefox

Οι χρήστες του Firefox χρειάζονται δύο add-ons που θα τους βοηθήσουν να παρακάμψουν paywalls: το πρώτο είναι το RefControl, που μπορεί να αλλάξει την σελίδα παραπομπής όταν επισκέπτεστε ιστοσελίδες ειδήσεων, και το δεύτερο που ονομάζεται User Agent Switcher, θα αλλάξει τον user-agent του προγράμματος περιήγησης.

Κατεβάσετε και να εγκαταστήσετε και τις δύο επεκτάσεις στο Firefox.
Πατήστε το πλήκτρο Alt και επιλέξτε Εργαλεία – Επιλογές – RefControl.
Κάντε κλικ στο “προσθήκη ιστοσελίδας”, και πληκτρολογήστε ένα domain, επιλέξτε την προσαρμοσμένη ενέργεια, και εισάγετε την διεύθυνση https://www.google.com/ σαν παραπομπή.
Επαναλάβετε το ίδιο για κάθε σελίδα  ειδήσεων που θέλετε να αποκτήσετε πρόσβαση
Όταν τελειώσετε, κλείστε το παράθυρο διαμόρφωσης.
Πατήστε το πλήκτρο Alt και πάλι, και επιλέξτε Εργαλεία> Προεπιλογή Πράκτορας χρήστη> Πράκτορες Επεξεργασία χρήστη από το μενού. Ονομάστε το Googlebot.
Βγείτε από το μενού.
Πριν προσπαθήσετε να αποκτήσετε πρόσβαση σε αυτά τα sites, πατήστε Alt και επιλέξτε Default User Agent – Googlebot

  • Τα παραπάνω add-ons δεν θα λειτουργήσουν σε όλα τα sites
Για τον Google Chrome

Οι χρήστες του Google Chrome μπορούν να εγκαταστήσουν επίσης τις επεκτάσεις User Agent Switcher και Referer Control.

Υπάρχει ωστόσο άλλη μια δυνατότητα, και αυτό είναι να δημιουργήσετε μια προσαρμοσμένη επέκταση η οποία αυτοματοποιεί τη διαδικασία στο πρόγραμμα περιήγησης.

Ακολουθήστε τις οδηγίες. Το μόνο που χρειάζεται, είναι να δημιουργηθεί ένας νέος κατάλογος στον υπολογιστή σας. Παρακάτω περιγράφουμε πως μπορείτε να δημιουργήστε δύο αρχεία: τα background.js και manifest.json.

background.js

var ALLOW_COOKIES = ["nytimes", "ft.com"]

function changeRefer(details) {
  foundReferer = false;
  foundUA = false

  var reqHeaders = details.requestHeaders.filter(function(header) {
    // block cookies by default
    if (header.name !== "Cookie") {
      return header;
    } 

    allowHeader = ALLOW_COOKIES.map(function(url) {
      if (details.url.includes(url)) {
        return true;
      }
      return false;
    });
    if (allowHeader.reduce(function(a, b) { return a || b}, false)) { return header; }

  }).map(function(header) {
    
    if (header.name === "Referer") {
      header.value = "https://www.google.com/";
      foundReferer = true;
    }
    if (header.name === "User-Agent") {
      header.value = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
      foundUA = true;
    }
    return header;
  })
  
  // append referer
  if (!foundReferer) {
    reqHeaders.push({
      "name": "Referer",
      "value": "https://www.google.com/"
    })
  }
  if (!foundUA) {
    reqHeaders.push({
      "name": "User-Agent",
      "value": "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    })
  }
  console.log(reqHeaders);
  return {requestHeaders: reqHeaders};
}

function blockCookies(details) {
  for (var i = 0; i < details.responseHeaders.length; ++i) {
    if (details.responseHeaders[i].name === "Set-Cookie") {
      details.responseHeaders.splice(i, 1);
    }
  }
  return {responseHeaders: details.responseHeaders};
}

chrome.webRequest.onBeforeSendHeaders.addListener(changeRefer, {
  urls: [""],
  types: ["main_frame"],
}, ["requestHeaders", "blocking"]);

chrome.webRequest.onHeadersReceived.addListener(blockCookies, {
  urls: [""],
  types: ["main_frame"],
}, ["responseHeaders", "blocking"]);

manifest.json

{
  "name": "Innocuous Chrome Extension",
  "version": "0.1",
  "description": "This is an innocuous chrome extension.",
  "permissions": ["webRequest", "webRequestBlocking",
                  "http://www.ft.com/*",
                  "http://www.wsj.com/*",
                  "https://www.wsj.com/*",
                  "http://www.economist.com/*",
                  "http://www.nytimes.com/*",
                  "https://hbr.org/*",
                  "http://www.newyorker.com/*",
                  "http://www.forbes.com/*",
                  "http://online.barrons.com/*",
                  "http://www.barrons.com/*",
                  "http://www.investingdaily.com/*",
                  "http://realmoney.thestreet.com/*",
                  "http://www.washingtonpost.com/*"
                  ],
  "background": {
    "scripts": ["background.js"]
  },
  "manifest_version": 2
}

Μετά την δημιουργία των αρχείων (για την δημιουργία τους χρησιμοποιήστε το NotePad++ και αλλάξτε την επέκταση σε .js) τοποθετήστε τα σε ένα φάκελο.
Αν δεν έχετε τον χρόνο μπορείτε να κατεβάσετε τον φάκελο με τα αρχεία από το παρακάτω link:

Chrome Plugin

Χρειάζεται να ενεργοποιήσετε το “developer mode” από τη διεύθυνση

chrome://extensions/

και στη συνέχεια από το “load unpacked extension” επιλέξτε το φάκελο με τα δύο αρχεία που έχετε δημιουργήσει.
Ανεβάστε την επέκταση στο Chrome.

Μπορείτε να τροποποιήσετε τα αρχεία και να προσθέσετε νέες ιστοσελίδες που θέλετε να παρακάμψετε. Απλά ανοίξτε τα αρχεία με Notepad++ και διαβάστε τον κώδικα.

Anti Paywall js Elaineou

iGuRu.gr The Best Technology Site in Greeceggns

Get the best viral stories straight into your inbox!















Written by giorgos

Ο Γιώργος ακόμα αναρωτιέται τι κάνει εδώ....

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).