// ==UserScript== // @name Bypass paywalls for scientific documents // @namespace StephenP // @version 3.3.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 Google Scholar, Scopus and Web Of Science, which lead to sci-hub.tw. In this way you can get free access to scientific papers even if you (or your university) can't afford their prices. // @author StephenP // @include http://scholar.google.*/scholar?* // @match http://www.scopus.com/record/display.uri?* // @match http://apps.webofknowledge.com/full_record.do?* // @match http://apps.webofknowledge.com/InterService.do?* // @match http://apps.webofknowledge.com/CitedFullRecord.do?* // @include https://scholar.google.*/scholar?* // @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?* // @match *://*.sci-hub.tw/* // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; //If Sci-Hub address changes, just replace the URL below with the new one var sciHubUrl='https://sci-hub.tw/'; var documentId; var site=window.location.href.toString(); var i; if(site.includes("://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','Download from Sci-HubDonate to Sci-Hub project|'); fullDocument.parentNode.children[4].addEventListener("click", function(){window.open(sciHubUrl+documentId);}); fullDocument.parentNode.children[4].style.cursor="pointer"; //setAttribute('onclick','window.open(\"'+sciHubUrl+documentId+'\");'); fullDocument.parentNode.children[5].addEventListener("click", function(){donate(sciHubUrl);}); fullDocument.parentNode.children[5].style.cursor="pointer"; //setAttribute('onclick',donate(sciHubUrl)); } else if(site.includes("://apps.webofknowledge.com/")){ var mode; var genericID=document.getElementsByClassName("block-record-info block-record-info-source")[0].getElementsByClassName("FR_label"); for(i=0;i<=genericID.length;i++){ if((genericID[i].innerHTML==="DOI:")||(genericID[i].innerHTML==="PMID:")){ documentId=genericID[i].parentNode.children[1].innerHTML; alert(documentId); break; } } if(documentId!==undefined){ addButtonWOS(sciHubUrl,documentId); } } else if(site.includes("://scholar.google.")){ var resourcesList=document.getElementById('gs_res_ccl_mid'); var results=resourcesList.children.length; var gs_ggs_gs_fl; for(i=0;iDonate to Sci-Hub project'); list.lastChild.lastChild.removeAttribute("href"); list.lastChild.lastChild.addEventListener("click", function(){donate(sciHubUrl);}); list.lastChild.lastChild.style.cursor="pointer"; list.insertBefore(sciHubBtn,list.lastChild); } catch(err){ console.log(err); } //setAttribute('onclick',donate(sciHubUrl)); } function addButtonScholar(sciHubUrl,linkDiv){ var link=linkDiv.getElementsByClassName("gs_or_ggsm")[0].lastChild.href; //alert(link); var creatingElement; if((link!=undefined)&&(link.search("patents.google")==-1)){ creatingElement=document.createElement("div"); creatingElement.setAttribute("class","gs_ggsd"); creatingElement.innerHTML='Full Text on Sci-Hub'; linkDiv.appendChild(creatingElement); linkDiv.lastChild.addEventListener("click", function(){window.open(sciHubUrl+link);}); linkDiv.lastChild.style.cursor="pointer"; //setAttribute("onclick",'window.open(\"'+sciHubUrl+link+'\");'); } } function donate(sciHubUrl){ window.open(sciHubUrl+'#donate'); }