Paywall Bypass

Add a quick Archive.today(Archive.ph) lookup button

  1. // ==UserScript==
  2. // @name Paywall Bypass
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.3
  5. // @description Add a quick Archive.today(Archive.ph) lookup button
  6. // @author Eric
  7. // @license MIT
  8. // @match *://*.zaobao.com.sg/*
  9. // @match *://*.zaobao.com/*
  10. // @match *://*.adelaidenow.com.au/*
  11. // @match *://*.adweek.com/*
  12. // @match *://*.afr.com/*
  13. // @match *://*.ambito/*
  14. // @match *://*.ampproject.org/*
  15. // @match *://*.baltimoresun.com/*
  16. // @match *://*.barrons.com/*
  17. // @match *://*.bizjournals.com/*
  18. // @match *://*.bloomberg.com/*
  19. // @match *://*.bloombergquint.com/*
  20. // @match *://*.bostonglobe.com/*
  21. // @match *://*.brisbanetimes.com.au/*
  22. // @match *://*.britannica.com/*
  23. // @match *://*.businessinsider.com/*
  24. // @match *://*.caixinglobal.com/*
  25. // @match *://*.cen.acs.org/*
  26. // @match *://*.centralwesterndaily.com.au/*
  27. // @match *://*.chicagobusiness.com/*
  28. // @match *://*.chicagotribune.com/*
  29. // @match *://*.corriere.it/*
  30. // @match *://*.courant.com/*
  31. // @match *://*.couriermail.com.au/*
  32. // @match *://*.dailypress.com/*
  33. // @match *://*.dailytelegraph.com.au/*
  34. // @match *://*.delfi.ee/*
  35. // @match *://*.demorgen.be/*
  36. // @match *://*.denverpost.com/*
  37. // @match *://*.df.cl/*
  38. // @match *://*.dynamed.com/*
  39. // @match *://*.economist.com/*
  40. // @match *://*.elmercurio.com/*
  41. // @match *://*.elmundo.es/*
  42. // @match *://*.elu24.ee/*
  43. // @match *://*.entreprenal.com/*
  44. // @match *://*.examiner.com.au/*
  45. // @match *://*.expansion.com/*
  46. // @match *://*.fd.nl/*
  47. // @match *://*.financialpost.com/*
  48. // @match *://*.fnlondon.com/*
  49. // @match *://*.foreignpolicy.com/*
  50. // @match *://*.fortune.com/*
  51. // @match *://*.ft.com/*
  52. // @match *://*.gelocal.it/*
  53. // @match *://*.genomeweb.com/*
  54. // @match *://*.glassdoor.com/*
  55. // @match *://*.globes.co.il/*
  56. // @match *://*.groene.nl/*
  57. // @match *://*.haaretz.co.il/*
  58. // @match *://*.haaretz.com/*
  59. // @match *://*.harpers.org/*
  60. // @match *://*.hbr.org/*
  61. // @match *://*.hbrchina.org/*
  62. // @match *://*.heraldsun.com.au/*
  63. // @match *://*.historyextra.com/*
  64. // @match *://*.humo.be/*
  65. // @match *://*.ilmanifesto.it/*
  66. // @match *://*.inc.com/*
  67. // @match *://*.inquirer.com/*
  68. // @match *://*.interest.co.nz/*
  69. // @match *://*.investorschronicle.co.uk/*
  70. // @match *://*.irishtimes.com/*
  71. // @match *://*.japantimes.co.jp/*
  72. // @match *://*.journalnow.com/*
  73. // @match *://*.kansascity.com/*
  74. // @match *://*.labusinessjournal.com/*
  75. // @match *://*.lanacion.com.ar/*
  76. // @match *://*.lastampa.it/*
  77. // @match *://*.latercera.com/*
  78. // @match *://*.latimes.com/*
  79. // @match *://*.lavoixdunord.fr/*
  80. // @match *://*.lecho.be/*
  81. // @match *://*.leparisien.fr/*
  82. // @match *://*.lesechos.fr/*
  83. // @match *://*.loebclassics.com/*
  84. // @match *://*.lrb.co.uk/*
  85. // @match *://*.mcall.com/*
  86. // @match *://*.medium.com/*
  87. // @match *://*.medscape.com/*
  88. // @match *://*.mercurynews.com/*
  89. // @match *://*.mv-voice.com/*
  90. // @match *://*.nationalpost.com/*
  91. // @match *://*.netdna-ssl.com/*
  92. // @match *://*.news-gazette.com/*
  93. // @match *://*.newstatesman.com/*
  94. // @match *://*.newyorker.com/*
  95. // @match *://*.nrc.nl/*
  96. // @match *://*.ntnews.com.au/*
  97. // @match *://*.nydailynews.com/*
  98. // @match *://*.nymag.com/*
  99. // @match *://*.nytimes.com/*
  100. // @match *://*.nzherald.co.nz/*
  101. // @match *://*.nzz.ch/*
  102. // @match *://*.ocregister.com/*
  103. // @match *://*.orlandosentinel.com/*
  104. // @match *://*.outbrain.com/*
  105. // @match *://*.paloaltoonline.com/*
  106. // @match *://*.parool.nl/*
  107. // @match *://*.piano.io/*
  108. // @match *://*.poool.fr/*
  109. // @match *://*.postimees.ee/*
  110. // @match *://*.qiota.com/*
  111. // @match *://*.qz.com/*
  112. // @match *://*.repubblica.it/*
  113. // @match *://*.republic.ru/*
  114. // @match *://*.reuters.com/*
  115. // @match *://*.sandiegouniontribune.com/*
  116. // @match *://*.scientificamerican.com/*
  117. // @match *://*.scmp.com/*
  118. // @match *://*.seattletimes.com/*
  119. // @match *://*.seekingalpha.com/*
  120. // @match *://*.slate.com/*
  121. // @match *://*.smh.com.au/*
  122. // @match *://*.sofrep.com/*
  123. // @match *://*.spectator.co.uk/*
  124. // @match *://*.spectator.com.au/*
  125. // @match *://*.spectator.us/*
  126. // @match *://*.speld.nl/*
  127. // @match *://*.startribune.com/*
  128. // @match *://*.statista.com/*
  129. // @match *://*.stuff.co.nz/*
  130. // @match *://*.sueddeutsche.de/*
  131. // @match *://*.sun-sentinel.com/*
  132. // @match *://*.techinasia.com/*
  133. // @match *://*.technologyreview.com/*
  134. // @match *://*.telegraaf.nl/*
  135. // @match *://*.telegraph.co.uk/*
  136. // @match *://*.the-tls.co.uk/*
  137. // @match *://*.theadvocate.com.au/*
  138. // @match *://*.theage.com.au/*
  139. // @match *://*.theathletic.co.uk/*
  140. // @match *://*.theathletic.com/*
  141. // @match *://*.theatlantic.com/*
  142. // @match *://*.theaustralian.com.au/*
  143. // @match *://*.thediplomat.com/*
  144. // @match *://*.theglobeandmail.com/*
  145. // @match *://*.theherald.com.au/*
  146. // @match *://*.thehindu.com/*
  147. // @match *://*.themarker.com/*
  148. // @match *://*.themercury.com.au/*
  149. // @match *://*.thenation.com/*
  150. // @match *://*.thenational.scot/*
  151. // @match *://*.theolivepress.es/*
  152. // @match *://*.thesaturdaypaper.com.au/*
  153. // @match *://*.thestar.com/*
  154. // @match *://*.thewrap.com/*
  155. // @match *://*.tijd.be/*
  156. // @match *://*.time.com/*
  157. // @match *://*.tinypass.com/*
  158. // @match *://*.towardsdatascience.com/*
  159. // @match *://*.trouw.nl/*
  160. // @match *://*.vanityfair.com/*
  161. // @match *://*.vn.nl/*
  162. // @match *://*.volkskrant.nl/*
  163. // @match *://*.washingtonpost.com/*
  164. // @match *://*.wired.com/*
  165. // @match *://*.wsj.com/*
  166. // @match *://*.zeit.de/*
  167. // @match *://*.usatoday.com/*
  168. // @match *://*.time.com/*
  169. // @match *://*.theatlantic.com/*
  170. // @match *://*.americanbanker.com/*
  171. // @match *://*.japantimes.co.jp/*
  172. // @match *://*.wsj.com/*
  173. // @match *://*.cnbc.com/*
  174. // @match *://*.financialpost.com/*
  175. // @match *://*.wired.com/*
  176. // @match *://*.seekingalpha.com/*
  177. // @match *://*.ipolitics.ca/*
  178. // @match *://*.discovermagazine.com/*
  179. // @match *://*.faz.net/*
  180. // @match *://*.rp-online.de/*
  181. // @match *://*.spiegel.de/*
  182. // @match *://*.tagesspiegel.de/*
  183. // @match *://*.welt.de/*
  184. // @match *://*.wz.de/*
  185. // @match *://*.rp.pl/*
  186. // @match *://*.wyborcza.pl/*
  187. // @match *://*.tagesanzeiger.ch/*
  188. // @match *://*.elpais.com/*
  189. // @match *://*.english.elpais.com/*
  190. // @match *://*.insight.kontan.co.id/*
  191. // @match *://*.inkl.com/*
  192. // @grant none
  193. // @run-at document-end
  194. // ==/UserScript==
  195.  
  196. (function() {
  197. 'use strict';
  198.  
  199. function openArchiveLookup(url) {
  200. const archiveUrl = `https://archive.ph/${encodeURIComponent(url)}`;
  201. window.open(archiveUrl, '_blank');
  202. }
  203.  
  204. function createLookupButton() {
  205. const button = document.createElement('button');
  206. button.textContent = 'Paywall';
  207. button.style.position = 'fixed';
  208. button.style.bottom = '70px';
  209. button.style.right = '10px';
  210. button.style.backgroundColor = '#222';
  211. button.style.color = 'white';
  212. button.style.border = 'none';
  213. button.style.borderRadius = '5px';
  214. button.style.padding = '10px 12px';
  215. button.style.cursor = 'pointer';
  216. button.style.zIndex = '10000';
  217. button.style.fontSize = '14px';
  218. button.style.opacity = '0.85';
  219.  
  220. button.addEventListener('click', () => {
  221. openArchiveLookup(window.location.href);
  222. });
  223.  
  224. document.body.appendChild(button);
  225. }
  226.  
  227. createLookupButton();
  228. })();