// ==UserScript==
// @name Bypass paywalls for scientific documents
// @namespace StephenP
// @version 2.2.1
// @description Bypass paywalls for scientific documents by downloading them from sci-hub instead of paying something like 50 bucks for each paper. This script adds download buttons on Scopus and Web Of Science, which lead to sci-hub.bz. In this way you can get free access to scientific papers even if you (or your university) can't afford their prices.
// @author StephenP
// @match https://www.scopus.com/record/display.uri?*
// @match https://apps.webofknowledge.com/full_record.do?*
// @match https://apps.webofknowledge.com/InterService.do?*
// @match https://apps.webofknowledge.com/CitedFullRecord.do?*
// @grant none
// @downloadURL none
// ==/UserScript==
(function() {
'use strict';
//If Sci-Hub address changes, just replace the URL below with the new one
var sciHubUrl='http://sci-hub.bz/';
var documentId;
var site=window.location.href.toString();
var donate='window.open(\"'+sciHubUrl+'#donate\");';
if(site.startsWith("https://www.scopus.com/")){
var fullDocument=document.querySelector('[title="Full Text(opens in a new window)"]');
//fullDocument.href=fullDocument.href.slice(54);
documentId=document.getElementById("recordDOI").innerHTML;
var section=document.getElementById("outwardLinks");
section.removeChild(section.lastChild);
fullDocument.parentNode.insertAdjacentHTML('beforeend','Donate to Sci-Hub project|');
fullDocument.parentNode.children[5].setAttribute('onclick',donate);
}
else if(site.startsWith("https://apps.webofknowledge.com/")){
var mode;
var genericID=document.getElementsByClassName("block-record-info block-record-info-source")[0];
for(var i=4;i<=genericID.children.length;i++){
var compare=genericID.children[i].children[0].innerHTML;
if((compare.localeCompare("DOI:")==0)||(compare.localeCompare("PMID:")==0)){
if(genericID.children[i].children.length<2){
documentId=genericID.children[i].lastChild.data.toString();
mode=1;
}
else{
documentId=genericID.children[i].children[1].innerHTML;
mode=0;
}
break;
}
}
if(documentId!==undefined){
addButtonWOS(sciHubUrl,documentId,donate,mode);
}
}
})();
function addButtonWOS(sciHubUrl,documentId,donate,mode){
var list=document.getElementsByClassName("popup-ft-list")[0];
list.appendChild(list.children[1].cloneNode(true));
var sciHubBtn;
if(mode==0){
sciHubBtn=list.lastChild.children[0].children[0];
}
else if(mode==1){
sciHubBtn=list.lastChild.children[0];
}
sciHubBtn.innerHTML="Full Text from Sci-Hub";
sciHubBtn.setAttribute('onclick',('window.open(\"'+sciHubUrl+documentId+'\");'));
list.insertAdjacentHTML('beforeend','