Repository restored
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020, magnolia1234
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
21
LICENSE.txt
Normal file
21
LICENSE.txt
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020, magnolia1234
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
984
README.html
Normal file
984
README.html
Normal file
@@ -0,0 +1,984 @@
|
|||||||
|
<!DOCTYPE html []>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="author" content="MarkdownViewer++" />
|
||||||
|
<title>README.md</title>
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
/* Avoid page breaks inside the most common attributes, especially for exports (i.e. PDF) */
|
||||||
|
td, h1, h2, h3, h4, h5, p, ul, ol, li {
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1 id="bypass-paywalls-clean-for-firefox">Bypass Paywalls Clean for Firefox</h1>
|
||||||
|
<p>Add-on allows you to read articles from (supported) sites that implement a paywall.<br />
|
||||||
|
You can also add a domain as custom site and try to bypass the paywall.<br />
|
||||||
|
Weekly updates are released for fixes and new sites.</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="#installation">Installation</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#update">Update</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#android">Android</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#troubleshooting">Troubleshooting</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#list-of-supported-websites">List of supported websites</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#sites-with-limited-number-of-free-articles">Sites with limited number of free articles</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#new-site-requests">New site requests</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#add-custom-site">Add custom site</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#add-excluded-site">Add excluded site</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#changelog-releases">Changelog-releases</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#license">License</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#disclaimer">Disclaimer</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="installation">Installation</h3>
|
||||||
|
<p>Download the latest release by <a href="https://github.com/bpc-clone/bpc_updates/releases/latest">xpi-file from GitHub</a>, go to downloads and install the add-on (or drag it from your file-manager anywhere on a page/tab in Firefox).<br />
|
||||||
|
You can also go to Tools > Add-ons (about:addons) > Extensions > Settings/Cogwheel - Install Add-on from File\</p>
|
||||||
|
<p>By default BPC has limited host permissions, but you can opt-in to enable custom sites (and also clear cookies/block general paywall-scripts for unlisted sites). Or just request host permissions for the custom sites you've added yourself (or click <em>clear cookies</em> (BPC-icon) to ask for host permission for current site).<br />
|
||||||
|
You can also install the custom add-on version (with host permissions for all sites).</p>
|
||||||
|
<p>For easier access to the add-on options/settings you can add/pin the add-on icon to the toolbar with the toolbar extensions menu (jigsaw puzzle shaped icon).<br />
|
||||||
|
Minimum browser requirement: Firefox 86+.</p>
|
||||||
|
<p>PS although the add-on was removed from <a href="https://addons.mozilla.org">Mozilla's add-on store (AMO)</a> (because of DMCA Takedown Notice) it's still signed and manually checked for security by Mozilla (hence the delay in signing).</p>
|
||||||
|
<p>If you want to permanently install the latest <a href="https://github.com/bpc-clone/bpc_updates/releases/latest/download/bypass-paywalls-firefox-clean-master.zip">master ZIP-file from GitHub</a> (with post-release fixes) use a Firefox browser which allows using unsigned add-ons like Firefox Developer Portable (go to about:config and set xpinstall.signatures.required to false) or LibreWolf (for both no automatic updates of add-on).<br />
|
||||||
|
Or load a temporary add-on in regular Firefox (go to about:debugging#/runtime/this-firefox & load manifest.json from unpacked (master-zip) folder).</p>
|
||||||
|
<h3 id="update">Update</h3>
|
||||||
|
<p>Add-on will automatically update or you can do a manual check for updates (in about:addons).<br />
|
||||||
|
Either way you have to allow host permissions for newly supported sites (else no update will be installed).<br />
|
||||||
|
You can also check for update of site rules at startup (opt-in); only available until about 10 days after fix-release.<br />
|
||||||
|
For new sites you also have to opt-in to custom sites/request host permissions for new domains (or wait for new release).</p>
|
||||||
|
<h3 id="android">Android</h3>
|
||||||
|
<p>Add-on was removed by Mozilla from the <a href="https://addons.mozilla.org">add-on store (AMO)</a>.</p>
|
||||||
|
<p>With Firefox 122+ (& Android 10+) you can still install/sideload this add-on by <a href="https://github.com/bpc-clone/bpc_updates/releases/latest">xpi-file of latest release from GitHub</a> (automatic add-on updates) when you enable the debug menu (settings > about > tap Firefox logo 5 times > return to settings).</p>
|
||||||
|
<p>Or use the Firefox-fork <a href="https://github.com/fork-maintainers/iceraven-browser">Iceraven</a> v2.13.2+ (manual add-on updates).<br />
|
||||||
|
You can install/update Iceraven manually or use the app <a href="https://github.com/Tobi823/ffupdater">FFUpdater</a></p>
|
||||||
|
<p>Or switch to <a href="https://play.google.com/store/apps/details?id=com.kiwibrowser.browser">Kiwi browser (Chromium)</a> or use the <a href="https://github.com/bpc-clone/bypass-paywalls-clean-filters">adblocker filter/userscripts</a> (much less supported sites).</p>
|
||||||
|
<h4 id="chromechromium">Chrome/Chromium</h4>
|
||||||
|
<p>Manually install <a href="https://github.com/bpc-clone/bpc_updates/releases/latest">latest release by zip or crx-file from GitHub</a></p>
|
||||||
|
<h4 id="iosipados">iOS/iPadOS</h4>
|
||||||
|
<p>Use adblocker with custom (content)filter & userscript (manager): <a href="https://github.com/bpc-clone/bypass-paywalls-clean-filters">https://github.com/bpc-clone/bypass-paywalls-clean-filters</a> (read instructions).</p>
|
||||||
|
<p>Although <a href="https://apps.apple.com/us/app/orion-browser-by-kagi/id1484498200">Orion Browser</a> supports installing this add-on, it won't work for a lot of sites (no full support of WebExtensions API on iOS/iPadOS).</p>
|
||||||
|
<h3 id="troubleshooting">Troubleshooting</h3>
|
||||||
|
<ul>
|
||||||
|
<li>If a site doesn't work, first try to turn off your adblocker (or other extension) and refresh page.</li>
|
||||||
|
<li>Make sure the (new) site is checked under Options.</li>
|
||||||
|
<li>Clear cookies by add-on's icon and grant host permission for site (or opt-in to custom sites)</li>
|
||||||
|
<li>You will be logged out for some of the sites you have enabled.</li>
|
||||||
|
<li>Make sure you're running the latest version of Bypass Paywalls Clean.</li>
|
||||||
|
<li>Some sites need to redirect to an amp-page (this may cause a redirect-loop by an amp-to-html add-on or browser setting).</li>
|
||||||
|
<li>If none of these work, you can <a href="https://twitter.com/Magnolia1234B">submit an issue on X</a>.</li>
|
||||||
|
<li>This add-on works best alongside the adblocker <a href="https://addons.mozilla.org/firefox/addon/ublock-origin">uBlock Origin</a>.</li>
|
||||||
|
<li>If you live in the EU, also consider adding these filters to your adblocker (in order to remove cookie warnings): <a href="https://secure.fanboy.co.nz/fanboy-cookiemonster.txt">Easylist Cookies</a> | <a href="https://www.i-dont-care-about-cookies.eu/abp">I don't care about cookies custom filter</a>. Some sites need to set a consent-cookie for (social) media.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<a href="#bypass-paywalls-clean-for-firefox">Go to top</a>
|
||||||
|
</p>
|
||||||
|
<h3 id="list-of-supported-websites">List of supported websites</h3>
|
||||||
|
<p>
|
||||||
|
<em>* free articles only.</em>
|
||||||
|
</p>
|
||||||
|
<h5 id="national-usa-news">National USA news</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.reuters.com">Reuters</a> -
|
||||||
|
<a href="https://www.nytimes.com">The New York Times</a> -
|
||||||
|
<a href="https://www.washingtonpost.com">The Washington Post</a></p>
|
||||||
|
<h5 id="business">Business</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.adweek.com">Adweek</a> -
|
||||||
|
<a href="https://americanaffairsjournal.org">American Affairs</a> -
|
||||||
|
<a href="https://www.barrons.com">Barron's</a> -
|
||||||
|
<a href="https://www.bloomberg.com">Bloomberg</a> -
|
||||||
|
<a href="https://www.businessinsider.com">Business Insider</a> -
|
||||||
|
<a href="https://www.cnbc.com">CNBC</a> -
|
||||||
|
<a href="https://www.fastcompany.com">Fast Company</a> -
|
||||||
|
<a href="https://www.forbes.com">Forbes</a> -
|
||||||
|
<a href="https://fortune.com">Fortune</a> -
|
||||||
|
<a href="https://www.hbr.org">Harvard Business Review</a> -
|
||||||
|
<a href="https://www.inc.com">Inc.com</a> -
|
||||||
|
<a href="https://www.law.com">Law.com</a>* -
|
||||||
|
<a href="https://www.marketwatch.com">MarketWatch</a> -
|
||||||
|
<a href="https://sloanreview.mit.edu">MIT Sloan Management Review</a> -
|
||||||
|
<a href="https://qz.com">Quartz</a> -
|
||||||
|
<a href="https://www.spglobal.com">S&P Global</a> -
|
||||||
|
<a href="https://seekingalpha.com">Seeking Alpha</a> -
|
||||||
|
<a href="https://stocknews.com">Stock News</a> -
|
||||||
|
<a href="https://www.bizjournals.com">The Business Journals</a>* -
|
||||||
|
<a href="https://www.businessoffashion.com">The Business of Fashion</a> -
|
||||||
|
<a href="https://www.wsj.com">The Wall Street Journal</a> -
|
||||||
|
<a href="https://www.voguebusiness.com">Vogue Business</a> -
|
||||||
|
<a href="https://www.zerohedge.com">ZeroHedge</a></p>
|
||||||
|
<p>Grouped in options:<br /><em><a href="https://www.americanbanker.com">American Banker</a> (+ <a href="https://www.arizent.com/brands">Arizent</a></em>; opt-in to custom sites)<br /><em><a href="https://www.bnpmedia.com/our-audiences">BNP Media</a></em> sites (opt-in to custom sites)<br /><em><a href="https://bridgetowermedia.com/markets">Bridge Tower Media</a></em> sites (opt-in to custom sites)<br /><em>California Business Journals</em> sites like<br /><a href="https://labusinessjournal.com">Los Angeles Business Journal</a> -
|
||||||
|
<a href="https://www.ocbj.com">Orange County Business Journal</a> -
|
||||||
|
<a href="https://www.sdbj.com">San Diego Business Journal</a> -
|
||||||
|
<a href="https://www.sfvbj.com">San Fernando Valley Business Journal</a><br /><em>Crain Communications</em> sites like<br /><a href="https://adage.com">Ad Age</a> -
|
||||||
|
<a href="https://www.autonews.com">Automotive News</a> -
|
||||||
|
<a href="https://www.chicagobusiness.com">Crain's Chicago Business</a> -
|
||||||
|
<a href="https://www.crainscleveland.com">Crain's Cleveland Business</a> -
|
||||||
|
<a href="https://www.crainsdetroit.com">Crain's Detroit Business</a> -
|
||||||
|
<a href="https://www.crainsgrandrapids.com">Crain's Grand Rapids Business</a> -
|
||||||
|
<a href="https://www.crainsnewyork.com">Crain's New York Business</a> -
|
||||||
|
<a href="https://www.modernhealthcare.com">Modern Healthcare</a> -
|
||||||
|
<a href="https://www.pionline.com">Pensions & Investments</a><br />
|
||||||
|
Global Polymer Group:
|
||||||
|
<a href="https://www.european-rubber-journal.com">European Rubber Journal</a> -
|
||||||
|
<a href="https://www.plasticsnews.com">Plastics News</a> -
|
||||||
|
<a href="https://www.rubbernews.com">Rubber News</a> -
|
||||||
|
<a href="https://www.sustainableplastics.com">Sustainable Plastics</a> -
|
||||||
|
<a href="https://www.tirebusiness.com">Tire Business</a> -
|
||||||
|
<a href="https://www.utech-polyurethane.com">Urethanes Technology International</a><br /><em>Digiday Media</em> sites like<br /><a href="https://digiday.com">Digiday</a> -
|
||||||
|
<a href="https://www.glossy.co">Glossy</a> -
|
||||||
|
<a href="https://www.modernretail.co">ModernRetail</a><br /><em><a href="https://www.industrydive.com/publications">Industry Dive</a></em> sites (opt-in to custom sites)<br /><em><a href="https://octomedia.com.au/our-brands/inside-retail">Inside Retail</a></em> sites (opt-in to custom sites)<br /><em><a href="https://www.pei.group/brands">PEI Media</a></em> sites (opt-in to custom sites)</p>
|
||||||
|
<h5 id="techscience">Tech/Science</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://thebulletin.org">Bulletin of the Atomic Scientists</a> -
|
||||||
|
<a href="https://cen.acs.org">Chemical & Engineering News</a> -
|
||||||
|
<a href="https://www.discovermagazine.com">Discover Magazine</a> -
|
||||||
|
<a href="https://www.insidehighered.com">Inside Higher Ed</a> -
|
||||||
|
<a href="https://interestingengineering.com">Interesting Engineering</a> -
|
||||||
|
<a href="https://www.medscape.com">Medscape</a> -
|
||||||
|
<a href="https://www.technologyreview.com">MIT Technology Review</a> -
|
||||||
|
<a href="https://www.nationalgeographic.com">National Geographic USA</a> -
|
||||||
|
<a href="https://nautil.us">Nautilus</a> -
|
||||||
|
<a href="https://www.newscientist.com">New Scientist</a> -
|
||||||
|
<a href="https://www.popsci.com">Popular Science</a> -
|
||||||
|
<a href="https://www.science.org">Science</a>* -
|
||||||
|
<a href="https://www.scientificamerican.com">Scientific American</a> -
|
||||||
|
<a href="https://www.the-scientist.com">The Scientist</a> -
|
||||||
|
<a href="https://www.timeshighereducation.com">Times Higher Education</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Crain Communications</em> sites like<br /><a href="https://www.360dx.com">360Dx</a> -
|
||||||
|
<a href="https://www.genomeweb.com">GenomeWeb</a> -
|
||||||
|
<a href="https://www.precisionmedicineonline.com">Precision Medicine Online</a><br /><em>TechTarget Group</em> sites like<br /><a href="https://www.computerweekly.com">Computer Weekly</a> -
|
||||||
|
<a href="https://www.techtarget.com">TechTarget</a><br /><em>The Chronicle</em> sites like<br /><a href="https://www.chronicle.com">The Chronicle of Higher Education</a> -
|
||||||
|
<a href="https://www.philanthropy.com">The Chronicle of Philanthropy</a></p>
|
||||||
|
<h5 id="encyclopediabook-libraryknowledge-base">Encyclopedia/Book library/Knowledge base</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.historyextra.com">BBC History Extra</a> -
|
||||||
|
<a href="https://www.britannica.com">Encyclopedia Britannica</a> -
|
||||||
|
<a href="https://www.enotes.com">eNotes</a> -
|
||||||
|
<a href="https://www.glassdoor.com">Glassdoor</a> -
|
||||||
|
<a href="https://www.loebclassics.com">Loeb Classical Library</a> -
|
||||||
|
<a href="https://philosophynow.org">Philosophy Now</a> -
|
||||||
|
<a href="https://www.quora.com">Quora</a> -
|
||||||
|
<a href="https://www.slideshare.net">SlideShare</a> -
|
||||||
|
<a href="https://www.statista.com">Statista</a> -
|
||||||
|
<a href="https://www.studocu.com">StuDocu</a> -
|
||||||
|
<a href="https://study.com">Study.com (only lessons; no videos)</a></p>
|
||||||
|
<h6 id="sports">Sports</h6>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.espn.com">ESPN USA</a> -
|
||||||
|
<a href="https://www.rugbypass.com">RugbyPass</a> -
|
||||||
|
<a href="https://www.si.com">Sports Illustrated</a> -
|
||||||
|
<a href="https://theathletic.com">The Athletic</a></p>
|
||||||
|
<h5 id="magazinesblogs">Magazines/Blogs</h5>
|
||||||
|
<p>Grouped in options:<br /><em>Medium (custom) domains</em> like (opt-in to custom sites for unlisted)<br /><a href="https://www.medium.com">Medium</a> -
|
||||||
|
<a href="https://betterprogramming.pub">Better Programming</a> -
|
||||||
|
<a href="https://towardsdatascience.com">Towards Data Science</a></p>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.americastestkitchen.com">America's Test Kitchen</a> -
|
||||||
|
<a href="https://www.americanpurpose.com">American Purpose</a> -
|
||||||
|
<a href="https://www.apollo-magazine.com">Apollo Magazine</a> -
|
||||||
|
<a href="https://www.artforum.com">Artforum</a> -
|
||||||
|
<a href="https://www.artnet.com">Artnet</a> -
|
||||||
|
<a href="https://magazine.atavist.com">Atavist Magazine</a> -
|
||||||
|
<a href="https://www.axios.com">Axios</a> -
|
||||||
|
<a href="https://www.commentary.org">Commentary Magazine</a> -
|
||||||
|
<a href="https://defector.com">Defector</a> -
|
||||||
|
<a href="https://www.dwell.com">Dwell</a> -
|
||||||
|
<a href="https://www.fieldandstream.com">Field & Stream</a> -
|
||||||
|
<a href="https://www.firstthings.com">First Things</a> -
|
||||||
|
<a href="https://www.foreignaffairs.com">Foreign Affairs</a> -
|
||||||
|
<a href="https://www.foreignpolicy.com">Foreign Policy</a> -
|
||||||
|
<a href="https://harpers.org">Harper's Magazine</a> -
|
||||||
|
<a href="https://www.janes.com/defence-news/">Jane's Defence Weekly</a> -
|
||||||
|
<a href="https://www.jazziz.com">Jazziz</a> -
|
||||||
|
<a href="https://www.jazzwise.com">Jazzwise</a> -
|
||||||
|
<a href="https://www.nationalreview.com">National Review</a> -
|
||||||
|
<a href="https://www.newsweek.com">Newsweek</a> -
|
||||||
|
<a href="https://www.outdoorlife.com">Outdoor Life</a> -
|
||||||
|
<a href="https://www.project-syndicate.org">Project Syndicate</a> -
|
||||||
|
<a href="https://slate.com">Slate</a> -
|
||||||
|
<a href="https://sofrep.com">SofRep</a> -
|
||||||
|
<a href="https://www.stereogum.com">Stereogum</a> -
|
||||||
|
<a href="https://stratfor.com">Stratfor</a> -
|
||||||
|
<a href="https://www.texasmonthly.com">Texas Monthly</a> -
|
||||||
|
<a href="https://www.theamericanconservative.com">The American Conservative</a> -
|
||||||
|
<a href="https://www.the-american-interest.com">The American Interest</a> -
|
||||||
|
<a href="https://www.theartnewspaper.com">The Art Newspaper</a> -
|
||||||
|
<a href="https://www.theatlantic.com">The Atlantic</a> -
|
||||||
|
<a href="https://thebaffler.com">The Baffler</a> -
|
||||||
|
<a href="https://www.csmonitor.com">The Christian Science Monitor</a> -
|
||||||
|
<a href="https://theintercept.com">The Intercept</a> -
|
||||||
|
<a href="https://www.thedailybeast.com">The Daily Beast</a> -
|
||||||
|
<a href="https://www.dailywire.com">The Daily Wire</a> -
|
||||||
|
<a href="https://thediplomat.com">The Diplomat</a> -
|
||||||
|
<a href="https://theimpression.com">The Impression</a> -
|
||||||
|
<a href="https://www.thejuggernaut.com">The Juggernaut</a> -
|
||||||
|
<a href="https://thelampmagazine.com">The Lamp Magazine</a> -
|
||||||
|
<a href="https://www.thenation.com">The Nation</a> -
|
||||||
|
<a href="https://www.thenewatlantis.com">The New Atlantis</a> -
|
||||||
|
<a href="https://newrepublic.com">The New Republic</a> -
|
||||||
|
<a href="https://www.nybooks.com">The New York Review of Books</a> -
|
||||||
|
<a href="https://thepointmag.com">The Point Magazine</a> -
|
||||||
|
<a href="https://thespectator.com">The Spectator World</a> -
|
||||||
|
<a href="https://www.theverge.com">The Verge</a> -
|
||||||
|
<a href="https://theweek.com">The Week</a> -
|
||||||
|
<a href="https://www.thewrap.com">The Wrap</a> -
|
||||||
|
<a href="https://www.washingtonexaminer.com">Washington Examiner</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Condé Nast magazines</em> sites like<br /><a href="https://www.architecturaldigest.com">Architectural Digest</a> -
|
||||||
|
<a href="https://www.bonappetit.com">Bon Appétit</a> -
|
||||||
|
<a href="https://www.vogue.co.uk">British Vogue</a> -
|
||||||
|
<a href="https://www.cntraveler.com">Condé Nast Traveler</a> -
|
||||||
|
<a href="https://www.epicurious.com">Epicurious</a> -
|
||||||
|
<a href="https://www.gq.com">GC</a> -
|
||||||
|
<a href="https://www.newyorker.com">The New Yorker</a> -
|
||||||
|
<a href="https://www.vanityfair.com">Vanity Fair</a> -
|
||||||
|
<a href="https://www.vogue.com">Vogue USA</a> -
|
||||||
|
<a href="https://www.wired.com">Wired</a><br /><em>Hearst Communications magazines</em> sites like<br /><a href="https://www.bicycling.com">Bicycling</a> -
|
||||||
|
<a href="https://www.cosmopolitan.com">Cosmopolitan</a> -
|
||||||
|
<a href="https://www.countryliving.com">Country Living</a> -
|
||||||
|
<a href="https://www.delish.com">Delish</a> -
|
||||||
|
<a href="https://www.elledecor.com">Elle Decor</a> -
|
||||||
|
<a href="https://www.elle.com">Elle USA</a> -
|
||||||
|
<a href="https://www.esquire.com">Esquire</a> -
|
||||||
|
<a href="https://www.goodhousekeeping.com">Good Housekeeping</a> -
|
||||||
|
<a href="https://www.harpersbazaar.com">Harper's Bazaar</a> -
|
||||||
|
<a href="https://www.housebeautiful.com">House Beautiful</a> -
|
||||||
|
<a href="https://www.menshealth.com">Men's Health</a> -
|
||||||
|
<a href="https://www.oprahdaily.com">Oprah Daily</a> -
|
||||||
|
<a href="https://www.popularmechanics.com">Popular Mechanics</a> -
|
||||||
|
<a href="https://www.prevention.com">Prevention</a> -
|
||||||
|
<a href="https://www.roadandtrack.com">Road & Track</a> -
|
||||||
|
<a href="https://www.runnersworld.com">Runner's World</a> -
|
||||||
|
<a href="https://www.townandcountrymag.com">Town & Country</a> -
|
||||||
|
<a href="https://www.womenshealthmag.com">Women's Health</a><br /><em>Outside magazines</em> sites like<br /><a href="https://www.backpacker.com">Backpacker</a> -
|
||||||
|
<a href="https://www.betamtb.com">Beta</a> -
|
||||||
|
<a href="https://www.betternutrition.com">Better Nutrition</a> -
|
||||||
|
<a href="https://www.cleaneatingmag.com">Clean Eating</a> -
|
||||||
|
<a href="https://www.climbing.com">Climbing</a> -
|
||||||
|
<a href="https://www.outsideonline.com">Outside</a> -
|
||||||
|
<a href="https://www.oxygenmag.com">Oxygen</a> -
|
||||||
|
<a href="https://www.skimag.com">SKI</a> -
|
||||||
|
<a href="https://www.trailrunnermag.com">Trail Runner</a> -
|
||||||
|
<a href="https://www.triathlete.com">Triathlete</a> -
|
||||||
|
<a href="https://www.vegetariantimes.com">Vegetarian Times</a> -
|
||||||
|
<a href="https://www.womensrunning.com">Women's Running</a> -
|
||||||
|
<a href="https://www.yogajournal.com">Yoga Journal</a><br /><em>Penske Media Corporation</em> sites like<br /><a href="https://www.billboard.com">Billboard</a> -
|
||||||
|
<a href="https://www.rollingstone.com">Rolling Stone</a> -
|
||||||
|
<a href="https://sourcingjournal.com">Sourcing Journal</a> -
|
||||||
|
<a href="https://www.sportico.com">Sportico</a> -
|
||||||
|
<a href="https://variety.com">Variety</a> -
|
||||||
|
<a href="https://wwd.com">WWD</a><br /><em>The Epoch Times</em> sites like (opt-in to custom sites for cz|de|fr|jp|ro sites)<br /><a href="https://epoch.org.il">Epoch.org.il</a> -
|
||||||
|
<a href="https://www.theepochtimes.com">The Epoch Times</a></p>
|
||||||
|
<h5 id="local-usa-news">Local USA news</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.abqjournal.com">Albuquerque Journal</a> -
|
||||||
|
<a href="https://www.cnn.com">CNN</a> -
|
||||||
|
<a href="https://www.foxnews.com">Fox News</a> -
|
||||||
|
<a href="https://www.staradvertiser.com">Honolulu Star-Advertiser</a> -
|
||||||
|
<a href="https://www.latimes.com">Los Angeles Times</a> -
|
||||||
|
<a href="https://www.mv-voice.com">Mountain View Voice</a> -
|
||||||
|
<a href="https://www.nymag.com">New York Magazine</a> (+ <a href="https://www.curbed.com">Curbed</a>, <a href="https://www.grubstreet.com">Grub Street</a>, <a href="https://www.thecut.com">The Cut</a> & <a href="https://www.vulture.com">Vulture</a>) -
|
||||||
|
<a href="https://www.newsday.com">Newsday</a> -
|
||||||
|
<a href="https://www.paloaltoonline.com">Palo Alto Online</a> -
|
||||||
|
<a href="https://www.post-gazette.com">Pittsburgh Post Gazette</a> -
|
||||||
|
<a href="https://www.sandiegouniontribune.com">San Diego Union Tribune</a> -
|
||||||
|
<a href="https://www.startribune.com">Star Tribune</a> -
|
||||||
|
<a href="https://www.tampabay.com">Tampa Bay Times</a> -
|
||||||
|
<a href="https://www.theadvocate.com">The Advocate</a> -
|
||||||
|
<a href="https://www.bostonglobe.com">The Boston Globe</a> -
|
||||||
|
<a href="https://www.columbian.com">The Columbian</a> -
|
||||||
|
<a href="https://www.dallasnews.com">The Dallas Morning News</a> -
|
||||||
|
<a href="https://thehill.com">The Hill</a> -
|
||||||
|
<a href="https://www.nola.com">The New Orleans Advocate/The Times-Picayune</a> -
|
||||||
|
<a href="https://nypost.com">The New York Post</a> -
|
||||||
|
<a href="https://www.nysun.com">The New York Sun</a> -
|
||||||
|
<a href="https://www.sltrib.com">The Salt Lake Tribune</a> -
|
||||||
|
<a href="https://www.seattletimes.com">The Seattle Times</a> -
|
||||||
|
<a href="https://www.inquirer.com">The Philadelphia Inquirer</a></p>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.usatoday.com">USA Today</a>
|
||||||
|
<br />
|
||||||
|
Grouped in options:<br /><em>Advance Local</em> sites like<br /><a href="https://www.al.com">AL/Alabama</a> -
|
||||||
|
<a href="https://www.mlive.com">MLive/Michigan</a> -
|
||||||
|
<a href="https://www.nj.com">NJ/New Jersey</a> -
|
||||||
|
<a href="https://www.silive.com">Staten Island Advance</a> -
|
||||||
|
<a href="https://www.lehighvalleylive.com">The Express-Times</a> -
|
||||||
|
<a href="https://www.oregonlive.com">The Oregonian</a> -
|
||||||
|
<a href="https://www.pennlive.com">The Patriot-News</a> -
|
||||||
|
<a href="https://www.cleveland.com">The Plain Dealer</a> -
|
||||||
|
<a href="https://www.syracuse.com">The Post-Standard</a> -
|
||||||
|
<a href="https://www.masslive.com">The Republican</a><br /><em><a href="https://www.forumcomm.com/brands">Forum Communications</a></em> sites (opt-in to custom sites)<br /><em>Gannett Group (local USA Today)</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.statesman.com">Austin American-Statesman</a> -
|
||||||
|
<a href="https://www.democratandchronicle.com">Democrat and Chronicle</a> -
|
||||||
|
<a href="https://www.freep.com">Detroit Free Press</a> -
|
||||||
|
<a href="https://www.knoxnews.com">Knoxville News Sentinel</a> -
|
||||||
|
<a href="https://www.commercialappeal.com">Memphis Commercial Appeal</a> -
|
||||||
|
<a href="https://www.jsonline.com">Milwaukee Journal Sentinel</a> -
|
||||||
|
<a href="https://www.azcentral.com">The Arizona Republic</a> -
|
||||||
|
<a href="https://www.cincinnati.com">The Cincinnati Enquirer</a> -
|
||||||
|
<a href="https://www.dispatch.com">The Columbus Dispatch</a> -
|
||||||
|
<a href="https://www.courier-journal.com">The Courier-Journal</a> -
|
||||||
|
<a href="https://www.desmoinesregister.com">The Des Moines Register</a> -
|
||||||
|
<a href="https://www.detroitnews.com">The Detroit News</a> -
|
||||||
|
<a href="https://www.jacksonville.com">The Florida Times-Union</a> -
|
||||||
|
<a href="https://www.indystar.com">The Indianapolis Star</a> -
|
||||||
|
<a href="https://www.news-press.com">The News-Press</a> -
|
||||||
|
<a href="https://www.oklahoman.com">The Oklahoman</a> -
|
||||||
|
<a href="https://www.northjersey.com">The Record (North Jersey)</a> -
|
||||||
|
<a href="https://www.tennessean.com">The Tennessean</a><br /><em>Hearst Communications (newspapers)</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.timesunion.com">Albany Times Union</a> -
|
||||||
|
<a href="https://www.ctpost.com">Connecticut Post</a> -
|
||||||
|
<a href="https://www.houstonchronicle.com">Houston Chronicle</a> -
|
||||||
|
<a href="https://www.nhregister.com">New Haven Register</a> -
|
||||||
|
<a href="https://www.expressnews.com">San Antonio Express-News</a> -
|
||||||
|
<a href="https://www.sfchronicle.com">San Francisco Chronicle</a><br /><em>Lee Enterprises Group</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://tucson.com">Arizona Daily Star</a> -
|
||||||
|
<a href="https://journalstar.com">Lincoln Journal Star</a> -
|
||||||
|
<a href="https://omaha.com">Omaha World-Herald</a> -
|
||||||
|
<a href="https://richmond.com">Richmond Times-Dispatch</a> -
|
||||||
|
<a href="https://www.stltoday.com">St. Louis Post-Dispatch</a> -
|
||||||
|
<a href="https://buffalonews.com">The Buffalo News</a> -
|
||||||
|
<a href="https://www.nwitimes.com">The Times of Northwest Indiana</a> -
|
||||||
|
<a href="https://tulsaworld.com">Tulsa World</a> -
|
||||||
|
<a href="https://madison.com">Wisconsin State Journal</a> -
|
||||||
|
<a href="https://www.journalnow.com">Winston-Salem Journal</a><br /><em><a href="https://www.metln.org">Maine Trust</a></em> sites (opt-in to custom sites)<br /><em>McClatchy Group</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.bnd.com">Belleville News-Democrat</a> -
|
||||||
|
<a href="https://www.elnuevoherald.com">El Nuevo Herald</a> -
|
||||||
|
<a href="https://www.star-telegram.com">Fort Worth Star-Telegram</a> -
|
||||||
|
<a href="https://www.kentucky.com">Lexington Herald-Leader</a> -
|
||||||
|
<a href="https://www.mcclatchydc.com">McClatchy DC</a> -
|
||||||
|
<a href="https://www.miamiherald.com">Miami Herald</a> -
|
||||||
|
<a href="https://www.charlotteobserver.com">The Charlotte Observer</a> -
|
||||||
|
<a href="https://www.fresnobee.com">The Fresno Bee</a> -
|
||||||
|
<a href="https://www.kansascity.com">The Kansas City Star</a> -
|
||||||
|
<a href="https://www.newsobserver.com">The News & Observer</a> -
|
||||||
|
<a href="https://www.sacbee.com">The Sacramento Bee</a> -
|
||||||
|
<a href="https://www.thestate.com">The State</a> -
|
||||||
|
<a href="https://www.kansas.com">The Wichita Eagle</a> -
|
||||||
|
<a href="https://www.tri-cityherald.com">Tri-City Herald</a><br /><em>MediaNews Group</em> sites like (opt-in to custom sites for unlisted/local sites)<br /><a href="https://www.bostonherald.com">Boston Herald</a> -
|
||||||
|
<a href="https://www.eastbaytimes.com">East Bay Times</a> -
|
||||||
|
<a href="https://www.ocregister.com">Orange County Register</a> -
|
||||||
|
<a href="https://www.twincities.com">St. Paul Pioneer Press</a> -
|
||||||
|
<a href="https://www.denverpost.com">The Denver Post</a> -
|
||||||
|
<a href="https://www.mercurynews.com">The Mercury News</a> -
|
||||||
|
<a href="https://www.pressenterprise.com">The Press-Enterprise</a><br /><em><a href="https://www.ajc.com">The Atlanta Journal-Constitution</a> + Cox First Media</em> (opt-in to custom sites)<br /><em>TownNews sites (Blox CMS)</em> sites (opt-in to custom sites)<br /><em>Tribune Publishing Company</em> sites like<br /><a href="https://www.baltimoresun.com">Baltimore Sun</a> -
|
||||||
|
<a href="https://www.capitalgazette.com">Capital Gazette</a> -
|
||||||
|
<a href="https://www.chicagotribune.com">Chicago Tribune</a> -
|
||||||
|
<a href="https://www.dailypress.com">Daily Press</a> -
|
||||||
|
<a href="https://www.courant.com">Hartford Courant</a> -
|
||||||
|
<a href="https://www.nydailynews.com">New York Daily News</a> -
|
||||||
|
<a href="https://www.orlandosentinel.com">Orlando Sentinel</a> -
|
||||||
|
<a href="https://www.sun-sentinel.com">SunSentinel</a> -
|
||||||
|
<a href="https://www.mcall.com">The Morning Call</a> -
|
||||||
|
<a href="https://www.pilotonline.com">The Virginian-Pilot</a></p>
|
||||||
|
<h4 id="canada">Canada</h4>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.ipolitics.ca">iPolitics</a> -
|
||||||
|
<a href="https://www.ledevoir.com">Le Devoir</a> -
|
||||||
|
<a href="https://www.saltwire.com">Saltwire Network</a> -
|
||||||
|
<a href="https://www.theglobeandmail.com">The Globe and Mail</a> -
|
||||||
|
<a href="https://www.hilltimes.com">The Hill Times</a> -
|
||||||
|
<a href="https://www.thelawyersdaily.ca">The Lawyer's Daily</a> -
|
||||||
|
<a href="https://www.winnipegfreepress.com">Winnipeg Free Press</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Groupe Capitales Médias</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.lesoleil.com">Le Soleil</a><br /><em>Groupe Québecor</em> sites like<br /><a href="https://www.journaldemontreal.com">Le Journal de Montréal</a> -
|
||||||
|
<a href="https://www.journaldequebec.com">Le Journal de Québec</a><br /><em>Postmedia Network</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://calgaryherald.com">Calgary Herald</a> -
|
||||||
|
<a href="https://www.financialpost.com">Financial Post</a> -
|
||||||
|
<a href="https://www.nationalpost.com">National Post</a> -
|
||||||
|
<a href="https://theprovince.com">The Province</a> -
|
||||||
|
<a href="https://torontosun.com">Toronto Sun</a> -
|
||||||
|
<a href="https://vancouversun.com">Vancouver Sun</a><br /><em>TorStar</em> sites like<br /><a href="https://www.thestar.com">The Toronto Star</a> and regional sites
|
||||||
|
<a href="https://www.niagarafallsreview.ca">Niagara Falls Review</a> -
|
||||||
|
<a href="https://www.thepeterboroughexaminer.com">Peterborough Examiner</a> -
|
||||||
|
<a href="https://www.stcatharinesstandard.ca">St. Catharines Standard</a> -
|
||||||
|
<a href="https://www.thespec.com">The Hamilton Spectator</a> -
|
||||||
|
<a href="https://www.therecord.com">Waterloo Region Record</a> -
|
||||||
|
<a href="https://www.wellandtribune.ca">Welland Tribune</a></p>
|
||||||
|
<h4 id="europe">Europe</h4>
|
||||||
|
<p>
|
||||||
|
<a href="https://balkaninsight.com">Balkan Insight</a> -
|
||||||
|
<a href="https://www.bloombergadria.com">Bloomberg Adria</a> -
|
||||||
|
<a href="https://euobserver.com">EUobserver</a> -
|
||||||
|
<a href="https://www.ftm.eu">Follow the Money (ftm.eu)</a></p>
|
||||||
|
<h5 id="united-kingdomireland">United Kingdom/Ireland</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.autocar.co.uk">Autocar</a> -
|
||||||
|
<a href="https://www.autosport.com">Autosport</a>* -
|
||||||
|
<a href="https://www.belfasttelegraph.co.uk">Belfast Telegraph</a> -
|
||||||
|
<a href="https://www.businesspost.ie">Business Post</a> -
|
||||||
|
<a href="https://www.citywire.com">Citywire</a> -
|
||||||
|
<a href="https://www.dailymail.co.uk">Daily Mail</a> -
|
||||||
|
<a href="https://www.standard.co.uk">Evening Standard</a> -
|
||||||
|
<a href="https://www.fnlondon.com">Financial News</a> -
|
||||||
|
<a href="https://www.ft.com">Financial Times</a> -
|
||||||
|
<a href="https://www.gbnews.com">GB News</a> -
|
||||||
|
<a href="https://granta.com">Granta Magazine</a> -
|
||||||
|
<a href="https://inews.co.uk">iNews</a> -
|
||||||
|
<a href="https://www.investorschronicle.co.uk">Investors' Chronicle</a> -
|
||||||
|
<a href="https://www.independent.ie">Irish Independent</a> -
|
||||||
|
<a href="https://literaryreview.co.uk">Literary Review</a> -
|
||||||
|
<a href="https://www.lrb.co.uk">London Review of Books</a> -
|
||||||
|
<a href="https://monocle.com">Monocle</a> -
|
||||||
|
<a href="https://newleftreview.org">New Left Review</a> -
|
||||||
|
<a href="https://www.penews.com">Private Equity News</a> -
|
||||||
|
<a href="https://www.prospectmagazine.co.uk">Prospect Magazine</a> -
|
||||||
|
<a href="https://www.stylist.co.uk">Stylist</a> -
|
||||||
|
<a href="https://www.tes.com/magazine">Tes Magazine</a> -
|
||||||
|
<a href="https://thecritic.co.uk">The Critic</a> -
|
||||||
|
<a href="https://www.economist.com">The Economist</a> -
|
||||||
|
<a href="https://www.independent.co.uk">The Independent</a> -
|
||||||
|
<a href="https://www.irishexaminer.com">The Irish Examiner</a> -
|
||||||
|
<a href="https://www.irishtimes.com">The Irish Times</a> -
|
||||||
|
<a href="https://www.theneweuropean.co.uk">The New European</a> -
|
||||||
|
<a href="https://www.newstatesman.com">The New Statesman</a> -
|
||||||
|
<a href="https://www.spectator.co.uk">The Spectator</a> -
|
||||||
|
<a href="https://www.telegraph.co.uk">The Telegraph</a> -
|
||||||
|
<a href="https://www.thetimes.co.uk">The Times</a> -
|
||||||
|
<a href="https://www.the-tls.co.uk">The Times Literary Supplement</a> -
|
||||||
|
<a href="https://unherd.com">UnHerd</a></p>
|
||||||
|
<p>Grouped in options:<br /><em><a href="https://haymarket.com/brands">Haymarket Media Group</a></em> sites (opt-in to custom sites)<br /><em><a href="https://www.haymarketmedicalnetwork.com">Haymarket Medical Network</a></em> sites (opt-in to custom sites)<br /><em><a href="https://www.incisivemedia.com/brands">Incisive Media</a></em> sites (opt-in to custom sites)<br /><em>National World Publishing</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.scotsman.com">The Scotsman</a> -
|
||||||
|
<a href="https://www.yorkshirepost.co.uk">Yorkshire Post</a><br /><em><a href="https://www.newsquest.co.uk/news-brands">Newsquest Media Group</a></em> sites (opt-in to custom sites)<br /><em>The Stage Media</em> sites like:<br /><a href="https://www.thebookseller.com">The Bookseller</a> -
|
||||||
|
<a href="https://www.thestage.co.uk">The Stage</a></p>
|
||||||
|
<h5 id="denmark">Denmark</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.berlingske.dk">Berlingske</a>
|
||||||
|
</p>
|
||||||
|
<h5 id="finland">Finland</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://suomensotilas.fi">Suomen Sotilas</a>
|
||||||
|
</p>
|
||||||
|
<h5 id="francewallonia">France/Wallonia</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.60millions-mag.com">60 Millions de consommateurs</a> -
|
||||||
|
<a href="https://www.alternatives-economiques.fr">Alternatives Economiques</a> -
|
||||||
|
<a href="https://atlantico.fr">Atlantico</a> -
|
||||||
|
<a href="https://www.autoplus.fr">Auto Plus</a> -
|
||||||
|
<a href="https://www.capital.fr">Capital</a> -
|
||||||
|
<a href="https://www.causeur.fr">Causeur</a> -
|
||||||
|
<a href="https://www.challenges.fr">Challenges</a> -
|
||||||
|
<a href="https://charliehebdo.fr">Charlie Hebdo</a> -
|
||||||
|
<a href="https://www.cieletespace.fr">Ciel & espace</a> -
|
||||||
|
<a href="https://www.connaissancedesarts.com">Connaissance des Arts</a> -
|
||||||
|
<a href="https://www.cosmopolitan.fr">Cosmopolitan</a> -
|
||||||
|
<a href="https://www.courrierinternational.com">Courrier international</a> -
|
||||||
|
<a href="https://www.elle.fr">Elle</a> -
|
||||||
|
<a href="https://esprit.presse.fr">Esprit</a> -
|
||||||
|
<a href="https://lecho.be">L'Écho</a> -
|
||||||
|
<a href="https://www.lexpress.fr">L'Express</a> -
|
||||||
|
<a href="https://www.humanite.fr">L'Humanité</a> -
|
||||||
|
<a href="https://www.linforme.com">L'Informé</a> -
|
||||||
|
<a href="https://www.nouvelobs.com">L'Obs</a> -
|
||||||
|
<a href="https://loeildelaphotographie.com">L'Oeil de la Photographie (fr/en)</a> -
|
||||||
|
<a href="https://www.lopinion.fr">L'Opinion</a> -
|
||||||
|
<a href="https://www.la-croix.com">La Croix</a> -
|
||||||
|
<a href="https://www.lanouvellerepublique.fr">La Nouvelle République du Centre-Ouest</a> -
|
||||||
|
<a href="https://www.latribune.fr">La Tribune</a> -
|
||||||
|
<a href="https://lecourrierdesstrateges.fr">Le Courrier des Stratèges</a> -
|
||||||
|
<a href="https://legrandcontinent.eu">Le Grand Continent</a> -
|
||||||
|
<a href="https://lejdd.fr">Le Journal du Dimanche</a> -
|
||||||
|
<a href="https://www.journaldunet.com">Le Journal du Net</a> -
|
||||||
|
<a href="https://www.lemonde.fr">Le Monde</a> -
|
||||||
|
<a href="https://www.lenouveleconomiste.fr">Le Nouvel Economiste</a> -
|
||||||
|
<a href="https://www.leparisien.fr">Le Parisien</a> -
|
||||||
|
<a href="https://www.lepoint.fr">Le Point</a> -
|
||||||
|
<a href="https://www.letelegramme.fr">Le Télégramme</a> -
|
||||||
|
<a href="https://www.lesechos.fr">Les Échos</a> -
|
||||||
|
<a href="https://www.lesinrocks.com">Les Inrockuptibles</a> -
|
||||||
|
<a href="https://www.marianne.net">Marianne</a> -
|
||||||
|
<a href="https://www.parismatch.com">Paris Match</a> -
|
||||||
|
<a href="https://www.philomag.com">Philosophie Magazine</a> -
|
||||||
|
<a href="https://www.pourleco.com">Pour l'Éco</a> -
|
||||||
|
<a href="https://www.pourlascience.fr">Pour la Science</a> -
|
||||||
|
<a href="https://www.public.fr">Public</a> -
|
||||||
|
<a href="https://www.revueconflits.com">Revue Conflits</a> -
|
||||||
|
<a href="https://www.science-et-vie.com">Science & Vie</a> -
|
||||||
|
<a href="https://www.sciencesetavenir.fr">Sciences et Avenir</a> -
|
||||||
|
<a href="https://www.telerama.fr">Télérama</a> -
|
||||||
|
<a href="https://www.valeursactuelles.com">Valeurs Actuelles</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Groupe Centre France</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.lamontagne.fr">La Montagne</a><br /><em>Groupe Infopro Digital</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.lemoniteur.fr">Le Moniteur</a> -
|
||||||
|
<a href="https://www.usinenouvelle.com">L'Usine Nouvelle</a><br /><em>Groupe IPM</em> sites like<br /><a href="https://www.dhnet.be">DH Les Sports+</a> -
|
||||||
|
<a href="https://www.lavenir.net">L'Avenir</a> -
|
||||||
|
<a href="https://www.lalibre.be">La Libre</a><br /><em>Groupe La Dépêche</em> sites like<br /><a href="https://www.centrepresseaveyron.fr">Centre Presse</a> -
|
||||||
|
<a href="https://www.journaldemillau.fr">Journal de Millau</a> -
|
||||||
|
<a href="https://www.lindependant.fr">L'Indépendant</a> -
|
||||||
|
<a href="https://www.ladepeche.fr">La Dépêche du Midi</a> -
|
||||||
|
<a href="https://www.nrpyrenees.fr">La Nouvelle République des Pyrénées</a> -
|
||||||
|
<a href="https://www.petitbleu.fr">Le Petit Bleu d'Agen</a> -
|
||||||
|
<a href="https://www.midilibre.fr">Midi Libre</a> -
|
||||||
|
<a href="https://www.rugbyrama.fr/midi-olympique">Midi Olympique</a><br /><em>Groupe Nice-Matin</em> sites like<br /><a href="https://www.monacomatin.mc">Monaco-Matin</a> -
|
||||||
|
<a href="https://www.nicematin.com">Nice-Matin</a> -
|
||||||
|
<a href="https://www.varmatin.com">Var-Matin</a><br /><em>Groupe Sud Ouest</em> sites like<br /><a href="https://www.charentelibre.fr">Charente libre</a> -
|
||||||
|
<a href="https://www.larepubliquedespyrenees.fr">La République des Pyrénées</a> -
|
||||||
|
<a href="https://www.sudouest.fr">Sud Ouest</a><br /><em><a href="https://synerj.media">Groupe SynerJ Media</a></em> sites (opt-in to custom sites)<br /><em>Roularta Media Group</em> sites like<br /><a href="https://www.femmesdaujourdhui.be">Femmes d'Aujourd'hui</a> -
|
||||||
|
<a href="https://www.flair.be/fr">Flair.be</a> -
|
||||||
|
<a href="https://www.levif.be">Le Vif</a><br /><em>TechTarget Group</em> sites like<br /><a href="https://www.lemagit.fr">LeMagIT</a></p>
|
||||||
|
<h5 id="germanyaustria">Germany/Austria</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.aerztezeitung.de">Ärzte Zeitung</a> -
|
||||||
|
<a href="https://www.augsburger-allgemeine.de">Augsburger Allgemeine</a> -
|
||||||
|
<a href="https://www.automobilwoche.de">Automobilwoche</a> -
|
||||||
|
<a href="https://www.berliner-zeitung.de">Berliner Zeitung</a> -
|
||||||
|
<a href="https://www.bild.de">Bild</a> -
|
||||||
|
<a href="https://www.boersen-zeitung.de">Börsen-Zeitung</a> -
|
||||||
|
<a href="https://www.cicero.de">Cicero</a> -
|
||||||
|
<a href="https://www.deraktionaer.de">Der Aktionär</a> -
|
||||||
|
<a href="https://www.freitag.de">Der Freitag</a> -
|
||||||
|
<a href="https://www.spiegel.de">Der Spiegel</a> -
|
||||||
|
<a href="https://www.tagesspiegel.de">Der Tagesspiegel</a> -
|
||||||
|
<a href="https://www.diepresse.com">Die Presse</a> -
|
||||||
|
<a href="https://www.welt.de">Die Welt</a> -
|
||||||
|
<a href="https://www.zeit.de">Die Zeit</a> -
|
||||||
|
<a href="https://www.faz.net">Frankfurter Allgemeine Zeitung</a> -
|
||||||
|
<a href="https://www.freiepresse.de">Freie Presse</a> -
|
||||||
|
<a href="https://jacobin.de">Jacobin Magazin</a> -
|
||||||
|
<a href="https://www.ksta.de">Kölner Stadt-Anzeiger</a> -
|
||||||
|
<a href="https://www.rundschau-online.de">Kölnische Rundschau</a> -
|
||||||
|
<a href="https://krautreporter.de">Krautreporter</a> -
|
||||||
|
<a href="https://kurier.at">Kurier.at</a> -
|
||||||
|
<a href="https://www.mz.de">Mitteldeutsche Zeitung</a> -
|
||||||
|
<a href="https://www.nw.de">Neue Westfälische</a> -
|
||||||
|
<a href="https://www.nwzonline.de">Nordwest Zeitung</a> -
|
||||||
|
<a href="https://www.philomag.de">Philosophie Magazin</a> -
|
||||||
|
<a href="https://www.piqd.de">Piqd</a> -
|
||||||
|
<a href="https://www.profil.at">Profil.at</a> -
|
||||||
|
<a href="https://www.rhein-zeitung.de">Rhein-Zeitung</a> -
|
||||||
|
<a href="https://www.sn.at">Salzburger Nachrichten</a> -
|
||||||
|
<a href="https://www.schwaebische.de">Schwäbische Zeitung</a> -
|
||||||
|
<a href="https://www.spektrum.de">Spektrum</a> -
|
||||||
|
<a href="https://www.springermedizin.de">Springer Medizin</a> -
|
||||||
|
<a href="https://www.sueddeutsche.de">Süddeutsche Zeitung</a> -
|
||||||
|
<a href="https://www.suedkurier.de">Südkurier</a> -
|
||||||
|
<a href="https://www.tt.com">Tiroler Tageszeitung</a> -
|
||||||
|
<a href="https://www.volksstimme.de">Volksstimme</a> -
|
||||||
|
<a href="https://www.vn.at">Vorarlberg Nachrichten</a> -
|
||||||
|
<a href="https://www.vol.at">Vorarlberg Online</a> -
|
||||||
|
<a href="https://www.weltkunst.de">Weltkunst</a> -
|
||||||
|
<a href="https://www.weser-kurier.de">Weser-Kurier</a> -
|
||||||
|
<a href="https://www.wiwo.de">WirtschaftsWoche</a></p>
|
||||||
|
<p>Grouped in options:<br /><em><a href="https://www.dfv.de">Deutscher Fachverlag Mediengruppe</a></em> (opt-in to custom sites)<br /><em>Funke Mediengruppe</em> sites like<br /><a href="https://www.morgenpost.de">Berliner Morgenpost</a> -
|
||||||
|
<a href="https://www.braunschweiger-zeitung.de">Braunschweiger Zeitung</a> -
|
||||||
|
<a href="https://www.abendblatt.de">Hamburger Abendblatt</a> -
|
||||||
|
<a href="https://www.nrz.de">Neue Ruhr Zeitung</a> -
|
||||||
|
<a href="https://www.otz.de">Ostthüringer Zeitung</a> -
|
||||||
|
<a href="https://www.thueringer-allgemeine.de">Thüringer Allgemeine</a> -
|
||||||
|
<a href="https://www.tlz.de">Thüringische Landeszeitung</a> -
|
||||||
|
<a href="https://www.waz.de">Westdeutsche Allgemeine Zeitung</a> -
|
||||||
|
<a href="https://www.wp.de">Westfalenpost</a> -
|
||||||
|
<a href="https://www.wr.de">Westfälische Rundschau</a><br /><em><a href="https://www.haas-mediengruppe.de/marken">Haas Mediengruppe</a></em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.mannheimer-morgen.de">Mannheimer Morgen</a><br /><em>Landwirtschaftsverlag</em> sites like<br /><a href="https://www.profi.de">Profi.de</a> -
|
||||||
|
<a href="https://www.topagrar.com">Top Agrar</a> -
|
||||||
|
<a href="https://www.wochenblatt.com">Wochenblatt für Landwirtschaft & Landleben</a><br /><em>Madsack Mediengruppe</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.haz.de">Hannoversche Allgemeine Zeitung</a> -
|
||||||
|
<a href="https://www.kn-online.de">Kieler Nachrichten</a> -
|
||||||
|
<a href="https://www.lvz.de">Leipziger Volkszeitung</a> -
|
||||||
|
<a href="https://www.ln-online.de">Lübecker Nachrichten</a> -
|
||||||
|
<a href="https://www.maz-online.de">Märkische Allgemeine</a> -
|
||||||
|
<a href="https://www.neuepresse.de">Neue Presse (Hannover)</a> -
|
||||||
|
<a href="https://www.ostsee-zeitung.de">Ostsee-Zeitung</a> -
|
||||||
|
<a href="https://www.rnd.de">RedaktionsNetzwerk Deutschland</a><br /><em><a href="https://mgw.de/portfolio/tageszeitungen">Media Group Westfalen</a></em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.ruhrnachrichten.de">Ruhr Nachrichten</a><br /><em>Medienholding Süd</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.schwarzwaelder-bote.de">Schwarzwälder Bote</a> -
|
||||||
|
<a href="https://www.stuttgarter-nachrichten.de">Stuttgarter Nachrichten</a> -
|
||||||
|
<a href="https://www.stuttgarter-zeitung.de">Stuttgarter Zeitung</a><br /><em><a href="https://www.motorpresse.de">Motor Presse Stuttgart</a></em> sites like<br /><a href="https://www.aerokurier.de">Aerokurier</a> -
|
||||||
|
<a href="https://www.auto-motor-und-sport.de">Auto Motor und Sport</a> -
|
||||||
|
<a href="https://www.flugrevue.de">Flug Revue</a> -
|
||||||
|
<a href="https://www.motorradonline.de">Motorrad</a> -
|
||||||
|
<a href="https://www.womenshealth.de">Women's Health</a><br /><em>NOZ/MHN Mediengruppe</em> sites like<br /><a href="https://www.noz.de">Neue Osnabrücker Zeitung</a> -
|
||||||
|
<a href="https://www.shz.de">Schleswig-Holsteinischer Zeitungsverlag</a> -
|
||||||
|
<a href="https://www.svz.de">Schweriner Volkszeitung</a><br /><em>OVB Media</em> sites like (opt-in to custom sites for ovb24.de news portals)<br /><a href="https://www.ovb-online.de">Oberbayerisches Volksblatt</a><br /><em>Verlagsgruppe Rhein Main</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.allgemeine-zeitung.de">Allgemeine Zeitung (Mainz)</a> -
|
||||||
|
<a href="https://www.echo-online.de">Darmstädter Echo</a> -
|
||||||
|
<a href="https://www.wiesbadener-kurier.de">Wiesbadener Kurier</a></p>
|
||||||
|
<h5 id="italy">Italy</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.corriere.it">Corriere della Sera</a> -
|
||||||
|
<a href="https://www.corrieredellosport.it">Corriere dello Sport</a> -
|
||||||
|
<a href="https://editorialedomani.it">Domani</a> -
|
||||||
|
<a href="https://eastwest.eu">Eastwest</a> -
|
||||||
|
<a href="https://www.ilfattoquotidiano.it">Il Fatto Quotidiano</a> -
|
||||||
|
<a href="https://www.ilfoglio.it">Il Foglio</a> -
|
||||||
|
<a href="https://ilmanifesto.it">Il Manifesto</a> -
|
||||||
|
<a href="https://24plus.ilsole24ore.com">Il Sole 24 Ore (24+)</a> -
|
||||||
|
<a href="https://www.internazionale.it">Internazionale</a> -
|
||||||
|
<a href="https://www.italiaoggi.it">Italia Oggi</a> -
|
||||||
|
<a href="https://www.gazzetta.it">La Gazzetta dello Sport</a> -
|
||||||
|
<a href="https://www.tuttosport.com">Tuttosport</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Gruppo GEDI.it</em> sites like<br /><a href="https://www.huffingtonpost.it">Huffingtonpost.it</a> -
|
||||||
|
<a href="https://www.ilsecoloxix.it">Il Secolo XIX</a> -
|
||||||
|
<a href="https://www.italian.tech">Italian.tech</a> -
|
||||||
|
<a href="https://www.repubblica.it">La Repubblica</a> -
|
||||||
|
<a href="https://www.lastampa.it">La Stampa</a> -
|
||||||
|
<a href="https://www.lescienze.it">Le Scienze</a> -
|
||||||
|
<a href="https://www.moda.it">Moda & Beauty</a></p>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.ilmessaggero.it">Il Messaggero</a> and regional sites like
|
||||||
|
<a href="https://www.corriereadriatico.it">Corriere Adriatico</a> -
|
||||||
|
<a href="https://www.ilgazzettino.it">Il Gazzettino</a> -
|
||||||
|
<a href="https://www.ilmattino.it">Il Mattino</a> -
|
||||||
|
<a href="https://www.quotidianodipuglia.it">Quotidiano di Puglia</a></p>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.quotidiano.net">Quotidiano Nazionale</a> and regional sites like
|
||||||
|
<a href="https://www.ilgiorno.it">Il Giorno</a> -
|
||||||
|
<a href="https://www.ilrestodelcarlino.it">Il Resto del Carlino</a> -
|
||||||
|
<a href="https://www.iltelegrafolivorno.it">Il Telegrafo Livorno</a> -
|
||||||
|
<a href="https://www.lanazione.it">La Nazione</a></p>
|
||||||
|
<p>
|
||||||
|
<em>
|
||||||
|
<a href="https://www.grupposae.it/i-quotidiani">Gruppo SAE.it</a>
|
||||||
|
</em>* sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.iltirreno.it">Il Tirreno</a>* -
|
||||||
|
<a href="https://www.lanuovasardegna.it">La Nuova Sardegna</a>*</p>
|
||||||
|
<h5 id="netherlandsflanders">Netherlands/Flanders</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://businessam.be">Business AM</a> -
|
||||||
|
<a href="https://www.businessinsider.nl">Business Insider Nederland</a> -
|
||||||
|
<a href="https://www.limburger.nl">De Limburger</a> -
|
||||||
|
<a href="https://www.tijd.be">De Tijd</a> -
|
||||||
|
<a href="https://doorbraak.be">Doorbraak</a> -
|
||||||
|
<a href="https://fd.nl">Financieele Dagblad</a> -
|
||||||
|
<a href="https://www.ftm.nl">Follow the Money</a> -
|
||||||
|
<a href="https://www.groene.nl">Groene Amsterdammer</a> -
|
||||||
|
<a href="https://www.hln.be">Het Laatste Nieuws</a> -
|
||||||
|
<a href="https://www.nrc.nl">NRC Handelsblad</a> -
|
||||||
|
<a href="https://www.telegraaf.nl">Telegraaf</a> -
|
||||||
|
<a href="https://www.vn.nl">Vrij Nederland</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Algemeen Dagblad (+ regional/ADR)</em> sites like<br /><a href="https://www.ad.nl">Algemeen Dagblad</a> -
|
||||||
|
<a href="https://www.bndestem.nl">BN DeStem</a> -
|
||||||
|
<a href="https://www.bd.nl">Brabants Dagblad</a> -
|
||||||
|
<a href="https://www.ed.nl">Eindhovens Dagblad</a> -
|
||||||
|
<a href="https://www.gelderlander.nl">Gelderlander</a> -
|
||||||
|
<a href="https://www.pzc.nl">PZC</a> -
|
||||||
|
<a href="https://www.destentor.nl">Stentor</a> -
|
||||||
|
<a href="https://tubantia.nl">Tubantia</a><br /><em>DPG Media (not ADR)</em> sites like<br /><a href="https://www.demorgen.be">De Morgen</a> -
|
||||||
|
<a href="https://www.volkskrant.nl">De Volkskrant</a> -
|
||||||
|
<a href="https://www.flair.nl">Flair.nl</a> -
|
||||||
|
<a href="https://www.humo.be">Humo</a> -
|
||||||
|
<a href="https://www.libelle.nl">Libelle.nl</a> -
|
||||||
|
<a href="https://www.margriet.nl">Margriet</a> -
|
||||||
|
<a href="https://www.parool.nl">Parool</a> -
|
||||||
|
<a href="https://www.trouw.nl">Trouw</a><br /><em>Mediahuis België</em> sites like<br /><a href="https://www.standaard.be">De Standaard</a> -
|
||||||
|
<a href="https://www.nieuwsblad.be">Het Nieuwsblad</a><br /><em>Mediahuis Noord</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.dvhn.nl">Dagblad van het Noorden</a> -
|
||||||
|
<a href="https://www.lc.nl">Leeuwarder Courant</a><br /><em><a href="https://www.promedia.nl/publicaties">ProMedia Group</a></em> sites (opt-in to custom sites)<br /><em>Roularta Media Group</em> sites like<br /><a href="https://www.artsenkrant.com">Artsenkrant</a> -
|
||||||
|
<a href="https://www.beleggersbelangen.nl">Beleggers Belangen</a> -
|
||||||
|
<a href="https://www.flair.be/nl">Flair.be</a> -
|
||||||
|
<a href="https://www.knack.be">Knack</a> -
|
||||||
|
<a href="https://kw.be">Krant van West-Vlaanderen</a> -
|
||||||
|
<a href="https://www.libelle.be">Libelle.be</a></p>
|
||||||
|
<h5 id="norway">Norway</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.dagsavisen.no">Dagsavisen</a>
|
||||||
|
<br />
|
||||||
|
Grouped in options:<br /><em>NHST Media Group</em> sites like<br /><a href="https://www.europower.no">Europower</a> -
|
||||||
|
<a href="https://www.fiskeribladet.no">Fiskeribladet</a> -
|
||||||
|
<a href="https://www.intrafish.com">Intrafish</a> -
|
||||||
|
<a href="https://www.intrafish.no">Intrafish.no</a> -
|
||||||
|
<a href="https://www.rechargenews.com">Recharge</a> -
|
||||||
|
<a href="https://www.tradewindsnews.com">TradeWinds</a> -
|
||||||
|
<a href="https://www.upstreamonline.com">Upstream</a></p>
|
||||||
|
<h5 id="poland">Poland</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.polityka.pl">Polityka</a> -
|
||||||
|
<a href="https://www.rp.pl">Rzeczpospolita</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Ringier Axel Springer Polska</em> sites like<br /><a href="https://www.auto-swiat.pl">Auto Swiat</a> -
|
||||||
|
<a href="https://businessinsider.com.pl">Business Insider</a> -
|
||||||
|
<a href="https://www.forbes.pl">Forbes</a> -
|
||||||
|
<a href="https://www.komputerswiat.pl">Komputer Swiat</a> -
|
||||||
|
<a href="https://www.newsweek.pl">Newsweek</a> -
|
||||||
|
<a href="https://www.onet.pl">Onet</a></p>
|
||||||
|
<h5 id="portugal">Portugal</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.cmjornal.pt">Correio da Manhã</a> -
|
||||||
|
<a href="https://expresso.pt">Expresso</a> -
|
||||||
|
<a href="https://observador.pt">Observador</a> -
|
||||||
|
<a href="https://www.record.pt">Record</a> -
|
||||||
|
<a href="https://www.sabado.pt">Sábado</a></p>
|
||||||
|
<h5 id="russia">Russia</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.wonderzine.com">Wonderzine</a>
|
||||||
|
</p>
|
||||||
|
<h5 id="spain">Spain</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.elconfidencial.com">El Confidencial</a> -
|
||||||
|
<a href="https://www.eldiario.es">El Diario.es</a> -
|
||||||
|
<a href="https://www.elespanol.com">El Español</a> -
|
||||||
|
<a href="https://elpais.com">El País</a> -
|
||||||
|
<a href="https://www.lavanguardia.com">La Vanguardia</a> -
|
||||||
|
<a href="https://www.mundodeportivo.com">Mundo Deportivo</a> -
|
||||||
|
<a href="https://www.politicaexterior.com">Política Exterior</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>ARA</em> sites like<br /><a href="https://www.ara.cat">Ara.cat</a> -
|
||||||
|
<a href="https://www.arabalears.cat">Ara Balears</a><br /><em>Grupo Prensa Ibérica</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.diariodemallorca.es">Diario de Mallorca</a> -
|
||||||
|
<a href="https://www.eldia.es">El Día</a> -
|
||||||
|
<a href="https://www.elperiodico.com">El Periódico de Catalunya</a> -
|
||||||
|
<a href="https://www.epe.es">El Periódico de España</a> -
|
||||||
|
<a href="https://www.farodevigo.es">Faro de Vigo</a> -
|
||||||
|
<a href="https://www.informacion.es">Información</a> -
|
||||||
|
<a href="https://www.lne.es">La Nueva España</a> -
|
||||||
|
<a href="https://www.laprovincia.es">La Provincia</a> -
|
||||||
|
<a href="https://www.levante-emv.com">Levante-EMV</a> -
|
||||||
|
<a href="https://www.mallorcazeitung.es">Mallorca Zeitung</a> -
|
||||||
|
<a href="https://www.superdeporte.es">Superdeporte</a><br /><em>Grupo Unidad Editorial</em> sites like<br /><a href="https://www.elmundo.es">El Mundo</a> -
|
||||||
|
<a href="https://www.expansion.com">Expansión</a> -
|
||||||
|
<a href="https://www.marca.com">Marca</a><br /><em>Grupo Vocento</em> sites like<br /><a href="https://www.abc.es">ABC</a> -
|
||||||
|
<a href="https://www.canarias7.es">Canarias7</a> -
|
||||||
|
<a href="https://www.elcomercio.es">El Comercio</a> -
|
||||||
|
<a href="https://www.elcorreo.com">El Correo</a> -
|
||||||
|
<a href="https://www.eldiariomontanes.es">El Diario Montañés</a> -
|
||||||
|
<a href="https://www.diariovasco.com">El Diario Vasco</a> -
|
||||||
|
<a href="https://www.elnortedecastilla.es">El Norte de Castilla</a> -
|
||||||
|
<a href="https://www.hoy.es">Hoy</a> -
|
||||||
|
<a href="https://www.ideal.es">Ideal</a> -
|
||||||
|
<a href="https://www.larioja.com">La Rioja</a> -
|
||||||
|
<a href="https://www.laverdad.es">La Verdad</a> -
|
||||||
|
<a href="https://www.lavozdigital.es">La Voz de Cádiz</a> -
|
||||||
|
<a href="https://www.lasprovincias.es">Las Provincias</a> -
|
||||||
|
<a href="https://www.diariosur.es">Sur</a></p>
|
||||||
|
<p>
|
||||||
|
<em>
|
||||||
|
<a href="https://www.sportlifeiberica.es">Sport Life Ibérica</a>
|
||||||
|
</em> sites (opt-in to custom sites)</p>
|
||||||
|
<h5 id="sweden">Sweden</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.etc.se">Dagens ETC</a> -
|
||||||
|
<a href="https://www.di.se">Dagens Industri</a> -
|
||||||
|
<a href="https://www.nyteknik.se">NyTeknik</a></p>
|
||||||
|
<p>Grouped in options:<br /><em><a href="https://www.nwtmedia.se">NWT Media</a></em> sites (opt-in to custom sites)</p>
|
||||||
|
<h5 id="switzerland">Switzerland</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.nzz.ch">Neue Zürcher Zeitung</a> -
|
||||||
|
<a href="https://schweizermonat.ch">Schweizer Monat</a> -
|
||||||
|
<a href="https://themarket.ch">The Market</a></p>
|
||||||
|
<p>Grouped in options:<br /><em><a href="https://chmedia.ch/marken">CH Media</a></em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.aargauerzeitung.ch">Aargauer Zeitung</a> -
|
||||||
|
<a href="https://www.luzernerzeitung.ch">Luzerner Zeitung</a> -
|
||||||
|
<a href="https://www.tagblatt.ch">St. Galler Tagblatt</a><br /><em>Ringier Gruppe</em> sites like<br /><a href="https://www.blick.ch">Blick</a> -
|
||||||
|
<a href="https://www.beobachter.ch">Beobachter</a> -
|
||||||
|
<a href="https://www.handelszeitung.ch">Handelszeitung</a></p>
|
||||||
|
<p>Grouped in options:<br /><em><a href="https://www.eshmedias.ch">Groupe ESH Médias</a></em> sites like<br /><a href="https://www.arcinfo.ch">ArcInfo</a> -
|
||||||
|
<a href="https://www.lacote.ch">La Côte</a> -
|
||||||
|
<a href="https://www.lenouvelliste.ch">Le Nouvelliste</a></p>
|
||||||
|
<h5 id="australianew-zealand">Australia/New Zealand</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.forbes.com.au">Forbes Australia</a> -
|
||||||
|
<a href="https://www.inkl.com">Inkl</a> -
|
||||||
|
<a href="https://www.macrobusiness.com.au">MacroBusiness</a> -
|
||||||
|
<a href="https://www.nzherald.co.nz">New Zealand Herald</a> -
|
||||||
|
<a href="https://www.thesaturdaypaper.com.au">The Saturday Paper</a> -
|
||||||
|
<a href="https://www.spectator.com.au">The Spectator Australia</a> -
|
||||||
|
<a href="https://thewest.com.au">The West Australian (+ regional/opt-in to custom sites)</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Australia News Corp</em> sites like<br /><a href="https://www.cairnspost.com.au">Cairns Post</a> -
|
||||||
|
<a href="https://www.codesports.com.au">Code Sports</a> -
|
||||||
|
<a href="https://www.geelongadvertiser.com.au">Geelong Advertiser</a> -
|
||||||
|
<a href="https://www.goldcoastbulletin.com.au">Gold Coast Bulletin</a> -
|
||||||
|
<a href="https://www.heraldsun.com.au">Herald Sun</a> -
|
||||||
|
<a href="https://www.ntnews.com.au">Northern Territory News</a> -
|
||||||
|
<a href="https://www.adelaidenow.com.au">The Advertiser/AdelaideNow</a> -
|
||||||
|
<a href="https://www.theaustralian.com.au">The Australian</a> -
|
||||||
|
<a href="https://www.thechronicle.com.au">The Chronicle</a> -
|
||||||
|
<a href="https://www.couriermail.com.au">The Courier-Mail</a> -
|
||||||
|
<a href="https://www.dailytelegraph.com.au">The Daily Telegraph</a> -
|
||||||
|
<a href="https://www.themercury.com.au">The Mercury Tasmania</a> -
|
||||||
|
<a href="https://www.weeklytimesnow.com.au">The Weekly Times</a> -
|
||||||
|
<a href="https://www.townsvillebulletin.com.au">Townsville Bulletin</a><br /><em>Australia Nine Entertainment</em> sites like<br /><a href="https://www.brisbanetimes.com.au">Brisbane Times</a> -
|
||||||
|
<a href="https://www.theage.com.au">The Age</a> -
|
||||||
|
<a href="https://www.afr.com">The Australian Financial Review</a> -
|
||||||
|
<a href="https://www.smh.com.au">The Sydney Morning Herald</a> -
|
||||||
|
<a href="https://www.watoday.com.au">WAtoday</a><br /><em>Australian Community Media</em> sites like (opt-in to custom sites for unlisted)<br /><a href="https://www.bendigoadvertiser.com.au">Bendigo Advertiser</a> -
|
||||||
|
<a href="https://www.centralwesterndaily.com.au">Central Western Daily</a> -
|
||||||
|
<a href="https://www.dailyliberal.com.au">Daily Liberal</a> -
|
||||||
|
<a href="https://www.illawarramercury.com.au">Illawarra Mercury</a> -
|
||||||
|
<a href="https://www.newcastleherald.com.au">Newcastle Herald</a> -
|
||||||
|
<a href="https://www.theadvocate.com.au">The Advocate</a> -
|
||||||
|
<a href="https://www.bordermail.com.au">The Border Mail</a> -
|
||||||
|
<a href="https://www.canberratimes.com.au">The Canberra Times</a> -
|
||||||
|
<a href="https://www.thecourier.com.au">The Courier</a> -
|
||||||
|
<a href="https://www.dailyadvertiser.com.au">The Daily Advertiser</a> -
|
||||||
|
<a href="https://www.examiner.com.au">The Examiner</a> -
|
||||||
|
<a href="https://www.northerndailyleader.com.au">The Northern Daily Leader</a> -
|
||||||
|
<a href="https://www.standard.net.au">The Standard</a> -
|
||||||
|
<a href="https://www.westernadvocate.com.au">Western Advocate</a><br /><em>InvestSmart</em> sites like<br /><a href="https://www.investsmart.com.au">InvestSmart</a> -
|
||||||
|
<a href="https://www.intelligentinvestor.com.au">Intelligent Investor</a><br /><em><a href="https://www.mmg.com.au/portfolio">McPherson Media Group</a></em> sites (opt-in to custom sites)<br /><em><a href="https://www.privatemedia.com.au">Private Media</a></em> sites like<br /><a href="https://www.crikey.com.au">Crikey</a> -
|
||||||
|
<a href="https://www.inc-aus.com">Inc. Australia</a> -
|
||||||
|
<a href="https://www.smartcompany.com.au">Smart Company</a> -
|
||||||
|
<a href="https://www.themandarin.com.au">The Mandarin</a></p>
|
||||||
|
<h5 id="china-hong-kong-taiwan">China, Hong Kong & Taiwan</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.cw.com.tw">CommonWealth Magazine Taiwan</a>* -
|
||||||
|
<a href="https://www.digitimes.com">DigiTimes Asia</a> -
|
||||||
|
<a href="https://www.scmp.com">South China Morning Post</a> -
|
||||||
|
<a href="https://www.infzm.com">Southern Weekly</a></p>
|
||||||
|
<h5 id="india">India</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.barandbench.com">Bar and Bench</a> -
|
||||||
|
<a href="https://www.business-standard.com">Business Standard</a> -
|
||||||
|
<a href="https://www.hindutamil.in">Hindu Tamil Thisai</a> -
|
||||||
|
<a href="https://www.hindustantimes.com">Hindustan Times</a> -
|
||||||
|
<a href="https://inc42.com">Inc42</a> -
|
||||||
|
<a href="https://www.indiatoday.in">India Today</a> -
|
||||||
|
<a href="https://www.livelaw.in">Live Law</a> -
|
||||||
|
<a href="https://www.livemint.com">LiveMint</a> -
|
||||||
|
<a href="https://www.mid-day.com">Mid-Day</a> -
|
||||||
|
<a href="https://www.ndtvprofit.com">NDTV Profit</a> -
|
||||||
|
<a href="https://www.newslaundry.com">Newslaundry</a> -
|
||||||
|
<a href="https://www.outlookindia.com">Outlook</a> -
|
||||||
|
<a href="https://www.outlookbusiness.com">Outlook Business</a> -
|
||||||
|
<a href="https://swarajyamag.com">Swarajyamag</a> -
|
||||||
|
<a href="https://economictimes.indiatimes.com">The Economic Times (ET Prime)</a> -
|
||||||
|
<a href="https://www.financialexpress.com">The Financial Express</a> -
|
||||||
|
<a href="https://www.thehindu.com">The Hindu</a> -
|
||||||
|
<a href="https://www.thehindubusinessline.com">The Hindu BusinessLine</a> -
|
||||||
|
<a href="https://indianexpress.com">The Indian Express</a> -
|
||||||
|
<a href="https://www.thenewsminute.com">The News Minute</a> -
|
||||||
|
<a href="https://www.thequint.com">The Quint</a> -
|
||||||
|
<a href="https://timesofindia.indiatimes.com">Times of India</a> -
|
||||||
|
<a href="https://www.vikatan.com">Vikatan</a></p>
|
||||||
|
<h5 id="israel">Israel</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.globes.co.il">Globes</a> -
|
||||||
|
<a href="https://www.jpost.com">The Jerusalem Post</a> -
|
||||||
|
<a href="https://www.ynet.co.il">Ynet</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>Haaretz Group</em> sites like<br /><a href="https://www.haaretz.co.il">Haaretz.co.il</a> -
|
||||||
|
<a href="https://www.haaretz.com">Haaretz.com</a> -
|
||||||
|
<a href="https://www.themarker.com">The Marker</a></p>
|
||||||
|
<h5 id="japan">Japan</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://mainichi.jp">Mainichi Shimbun</a> -
|
||||||
|
<a href="https://asia.nikkei.com">Nikkei Asian Review</a> -
|
||||||
|
<a href="https://www.japantimes.co.jp">The Japan Times</a></p>
|
||||||
|
<h5 id="singapore">Singapore</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.techinasia.com">Tech in Asia</a>
|
||||||
|
<br />
|
||||||
|
Grouped in options:<br /><em>SPH Media</em> sites like<br /><a href="https://www.straitstimes.com">The Straits Times</a></p>
|
||||||
|
<h4 id="latin-america">Latin America</h4>
|
||||||
|
<h5 id="argentina">Argentina</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.ambito.com">Ámbito</a> -
|
||||||
|
<a href="https://www.cronista.com">El Cronista</a> -
|
||||||
|
<a href="https://www.eltribuno.com">El Tribuno</a> -
|
||||||
|
<a href="https://www.lanacion.com.ar">La Nación</a>*</p>
|
||||||
|
<p>Grouped in options:<br /><em>Grupo Clarín</em> sites like<br /><a href="https://www.clarin.com">Clarín</a> -
|
||||||
|
<a href="https://www.lavoz.com.ar">La Voz del Interior</a> -
|
||||||
|
<a href="https://www.losandes.com.ar">Los Andes</a></p>
|
||||||
|
<h5 id="brazil">Brazil</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.cartacapital.com.br">CartaCapital</a> -
|
||||||
|
<a href="https://www.correiodopovo.com.br">Correio do Povo</a> -
|
||||||
|
<a href="https://crusoe.com.br">Crusoé</a> -
|
||||||
|
<a href="https://www.em.com.br">Estado de Minas</a> -
|
||||||
|
<a href="https://exame.com">Exame</a> -
|
||||||
|
<a href="https://gauchazh.clicrbs.com.br">GaúchaZH</a> -
|
||||||
|
<a href="https://www.gazetadopovo.com.br">Gazeta do Povo</a> -
|
||||||
|
<a href="https://grupoabril.com.br">Grupo Abril</a> -
|
||||||
|
<a href="https://estadao.com.br">O Estado de S. Paulo</a> -
|
||||||
|
<a href="https://oglobo.globo.com">O Globo</a> -
|
||||||
|
<a href="https://revistaoeste.com">Revista Oeste</a> -
|
||||||
|
<a href="https://valor.globo.com">Valor Econômico</a></p>
|
||||||
|
<p>Grouped in options:<br /><em>UOL</em> sites like<br /><a href="https://www.folha.uol.com.br">Folha de S. Paulo</a> -
|
||||||
|
<a href="https://www.uol.com.br">UOL</a></p>
|
||||||
|
<h5 id="chile">Chile</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.df.cl">Diario Financiero</a> -
|
||||||
|
<a href="https://digital.elmercurio.com">El Mercurio (+ regional/opt-in to custom sites)</a> -
|
||||||
|
<a href="https://digital.lasegunda.com">La Segunda</a> -
|
||||||
|
<a href="https://www.latercera.com">La Tercera</a></p>
|
||||||
|
<h5 id="colombia">Colombia</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://cambiocolombia.com">Cambio Colombia</a> -
|
||||||
|
<a href="https://www.elespectador.com">El Espectador</a> -
|
||||||
|
<a href="https://www.eltiempo.com">El Tiempo</a></p>
|
||||||
|
<h5 id="mexico">Mexico</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://mexiconewsdaily.com">Mexico News Daily</a>
|
||||||
|
</p>
|
||||||
|
<h5 id="peru">Peru</h5>
|
||||||
|
<p>
|
||||||
|
<em>Grupo El Comercio</em> sites like<br /><a href="https://diariocorreo.pe">Diario Correo</a> -
|
||||||
|
<a href="https://elcomercio.pe">El Comercio</a> -
|
||||||
|
<a href="https://gestion.pe">Gestión</a></p>
|
||||||
|
<h5 id="uruguay">Uruguay</h5>
|
||||||
|
<p>
|
||||||
|
<a href="https://www.elobservador.com.uy">El Observador</a> -
|
||||||
|
<a href="https://www.elpais.com.uy">El País</a> -
|
||||||
|
<a href="https://ladiaria.com.uy">La Diaria</a></p>
|
||||||
|
<p>
|
||||||
|
<em>* free articles only.</em>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<a href="#bypass-paywalls-clean-for-firefox">Go to top</a>
|
||||||
|
</p>
|
||||||
|
<h3 id="sites-with-limited-number-of-free-articles">Sites with limited number of free articles</h3>
|
||||||
|
<p>The free article limit can normally be bypassed by removing cookies for the site.<br />
|
||||||
|
Click on the BPC-icon and then <em>clear cookies</em>-button in the popup (for unsupported sites grant host permission for domain).<br />
|
||||||
|
If removing the cookies works you can also add the site as a custom site.</p>
|
||||||
|
<h3 id="new-sites">New sites</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Open incognito window and search for article in Google search (or webcache).</li>
|
||||||
|
<li>Clear cookies for the site (by this add-on: opt-in to custom sites or grant host permission for the site; also enables blocking of general paywall scripts).</li>
|
||||||
|
<li>Disable Javascript on the site (by browser, uBlock Origin or other add-on).</li>
|
||||||
|
<li>Add the domain as custom site for more bypass options.</li>
|
||||||
|
<li>Open page in reader view (by browser or add-on).</li>
|
||||||
|
<li>Try one of the archive sites:</li>
|
||||||
|
</ol>
|
||||||
|
<ul>
|
||||||
|
<li>archive.is/today will not work with Secured DNS by Cloudflare (or when you change referer/user-agent for the archive site)</li>
|
||||||
|
<li>for Google Search Tool test url & copy html (tab) code to <a href="https://codebeautify.org/htmlviewer">https://codebeautify.org/htmlviewer</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="add-custom-site">Add custom site</h3>
|
||||||
|
<p>Add your own custom site/group (for group use comma-separated list; set domain like group_...).<br />
|
||||||
|
Check 'Options'-link in popup-menu and go to custom sites.
|
||||||
|
* by default BPC has limited host permissions, but you can opt-in to enable custom sites (and also clear cookies/block general paywall-scripts for unlisted sites). You can also just request host permissions for the custom sites you added yourself (or <em>clear cookies</em> (BPC-icon) to ask for host permission for current site).</p>
|
||||||
|
<p>By default sites' cookies/local storage are blocked/removed (for example to bypass article limit when metered paywall).</p>
|
||||||
|
<p>Additional custom options:</p>
|
||||||
|
<ul>
|
||||||
|
<li>allow/remove cookies (no options selected: cookies are blocked)</li>
|
||||||
|
<li>set useragent to Googlebot, Bingbot, Facebookbot or custom</li>
|
||||||
|
<li>set referer (to Facebook, Google, Twitter or custom; ignored when Googlebot is set)</li>
|
||||||
|
<li>set random ip-address</li>
|
||||||
|
<li>disable Javascript for (sub)domain(s), external domains (when host permission) and/or inline scripts</li>
|
||||||
|
<li>block regular expression (to block specific script and/or xhr)</li>
|
||||||
|
<li>block_host_perm_add: add additinal host permission(s) for blocked content</li>
|
||||||
|
<li>unhide text amp-page</li>
|
||||||
|
<li>redirect to amp-page when paywall(selector)</li>
|
||||||
|
<li>load text from json when paywall|article(selector)</li>
|
||||||
|
<li>load text from archive.is or Google webcache when paywall|article(selector)</li>
|
||||||
|
<li>add external link to archive-site when paywall|article(selector)</li>
|
||||||
|
<li>remove/unhide elements in dom (optional for dev; check examples)</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<a href="https://bitbucket.org/bpc-updates/bpc_updates/downloads/sites_custom.json">Download example list of custom sites</a>
|
||||||
|
</p>
|
||||||
|
<h3 id="add-excluded-site">Add excluded site</h3>
|
||||||
|
<p>Add excluded sites/domains (for your subscriptions).<br />
|
||||||
|
You can also exclude a specific domain which is grouped in options.</p>
|
||||||
|
<h3 id="changelog-releases">Changelog-releases</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Visit the <a href="changelog.txt">changelog page</a>.</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://github.com/bpc-clone/bpc_updates/releases/latest">Download the latest release</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="license">License</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Bypass Paywalls Clean is <a href="LICENSE.txt">MIT-licensed</a>.</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="disclaimer">Disclaimer</h3>
|
||||||
|
<ul>
|
||||||
|
<li>This software is provided for educational purposes only and is provided "AS IS", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<a href="#bypass-paywalls-clean-for-firefox">Go to top</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
1719
background.js
Normal file
1719
background.js
Normal file
File diff suppressed because it is too large
Load Diff
45
bpc_count_daily_users.js
Normal file
45
bpc_count_daily_users.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
var manifestData = ext_api.runtime.getManifest();
|
||||||
|
var url_loc = manifestData.key ? 'chrome' : 'firefox';
|
||||||
|
|
||||||
|
// daily users counter
|
||||||
|
function bpc_count_daily_users(dateStr) {
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
daily_users: {},
|
||||||
|
}, function (items_local) {
|
||||||
|
daily_users = items_local.daily_users;
|
||||||
|
if (daily_users.date !== dateStr) {
|
||||||
|
daily_users.date = dateStr;
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
daily_users: daily_users
|
||||||
|
}, function () {
|
||||||
|
true;
|
||||||
|
});
|
||||||
|
let count_json = 'https://bitbucket.org/bpc_redux/bpc-' + url_loc + '-daily-users/downloads/bpc-daily-users-' + dateStr + '.json';
|
||||||
|
try {
|
||||||
|
fetch(count_json, {mode: 'no-cors'});
|
||||||
|
let count_mobile_json = 'https://bitbucket.org/bpc_redux/bpc-' + url_loc + '-mobile-daily-users/downloads/bpc-daily-users-' + dateStr + '.json';
|
||||||
|
let count_desktop_json = 'https://bitbucket.org/bpc_redux/bpc-' + url_loc + '-desktop-daily-users/downloads/bpc-daily-users-' + dateStr + '.json';
|
||||||
|
if (window.navigator && window.navigator.userAgent.match(/(mobile|android)/i))
|
||||||
|
fetch(count_mobile_json, {mode: 'no-cors'});
|
||||||
|
else
|
||||||
|
fetch(count_desktop_json, {mode: 'no-cors'});
|
||||||
|
} catch (err) {
|
||||||
|
false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function currentDateStr() {
|
||||||
|
let date = new Date();
|
||||||
|
let dateStr = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().split("T")[0];
|
||||||
|
return dateStr;
|
||||||
|
}
|
||||||
|
var last_date_str = currentDateStr();
|
||||||
|
var daily_users;
|
||||||
|
ext_api.storage.local.get({counter: true}, function (result) {
|
||||||
|
if (result.counter)
|
||||||
|
bpc_count_daily_users(last_date_str);
|
||||||
|
});
|
||||||
|
|
||||||
BIN
bypass-dark.png
Normal file
BIN
bypass-dark.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 654 B |
BIN
bypass.png
Normal file
BIN
bypass.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 693 B |
2544
changelog.txt
Normal file
2544
changelog.txt
Normal file
File diff suppressed because it is too large
Load Diff
7278
contentScript.js
Normal file
7278
contentScript.js
Normal file
File diff suppressed because it is too large
Load Diff
186
contentScript_once.js
Normal file
186
contentScript_once.js
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
//'use strict';
|
||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
|
||||||
|
window.setTimeout(function () {
|
||||||
|
|
||||||
|
let hostname = window.location.hostname;
|
||||||
|
let custom_domain = getCookieDomain(hostname);
|
||||||
|
let group;
|
||||||
|
if (hostname && ext_api.runtime) {
|
||||||
|
if (document.querySelector('head > link[href*=".medium.com/"]') || matchDomain(['plainenglish.io']))
|
||||||
|
group = 'medium.com';
|
||||||
|
else if (document.querySelector('head > meta[property="og:image"][content*="beehiiv"]'))
|
||||||
|
group = '###_beehiiv';// no fix
|
||||||
|
else if (document.querySelector('head > meta[name="generator"][content^="Ghost"]') && !document.querySelector('script[src^="https://steadyhq.com/"]'))
|
||||||
|
group = '###_ghost';// no fix
|
||||||
|
else if (document.querySelector('head > link[href*="/leaky-paywall"], script[src*="/leaky-paywall"], div[id^="issuem-leaky-paywall-"]'))
|
||||||
|
group = '###_wp_leaky_paywall';
|
||||||
|
else if (document.querySelector('head > link[href^="https://substackcdn.com/"]'))
|
||||||
|
group = '###_substack_custom';// no fix
|
||||||
|
else if (document.querySelector('head > link[href="//ppt.promedia.nl"]') || document.querySelector('head > script[src*="/pmgnews/scripts/promedia.js"]'))
|
||||||
|
group = '###_nl_promedia';
|
||||||
|
else if (hostname.match(/\.com$/) && !matchDomain(['campaignlive.com']) && document.querySelector('span#hmn-logo > a[href="https://www.haymarketmedicalnetwork.com/about"], footer a[href="https://www.haymarketmediaus.com/haymarket-media-inc-privacy-policy/"]'))
|
||||||
|
group = '###_uk_haymarket_medical';
|
||||||
|
else if (matchDomain(['asianinvestor.net', 'campaignindia.in', 'taspo.de']) || (hostname.match(/\.co(m|\.uk)$/) && document.querySelector('footer a[href^="http://www.haymarket.com"]')))
|
||||||
|
group = '###_uk_haymarket';
|
||||||
|
else if (matchDomain(['epochtimes-romania.com']) || hostname.match(/\.epochtimes\.(cz|de|fr|jp)/))
|
||||||
|
group = '###_usa_epochtimes';
|
||||||
|
else if (hostname.match(/\.(com|net)\.au$/) && !matchDomain(['insideretail.com.au'])) {
|
||||||
|
if (document.querySelector('a[href^="https://austcommunitymedia.my.site.com/"]'))
|
||||||
|
group = '###_au_comm_media';
|
||||||
|
else if (hostname.endsWith('.com.au')) {
|
||||||
|
if (document.querySelector('head > link[href="https://images.thewest.com.au"]'))
|
||||||
|
group = 'thewest.com.au';
|
||||||
|
else if (document.querySelector('head > link[rel="dns-prefetch"][href="//static.ew.mmg.navigacloud.com"]'))
|
||||||
|
group = '###_au_mmg';
|
||||||
|
}
|
||||||
|
} else if (hostname.endsWith('.cl')) {
|
||||||
|
if (document.querySelector('head > meta[property="og:image"][content*="/impresa.soy-chile.cl/"]'))
|
||||||
|
group = 'elmercurio.com';
|
||||||
|
} else if (hostname.match(/\.(de|at|ch)$/) || matchDomain(['horizont.net', 'lebensmittelzeitung.net'])) {
|
||||||
|
if (document.querySelector('head > script[src*="/dfv.containers.piwik.pro/"]'))
|
||||||
|
group = '###_de_dfv_medien';
|
||||||
|
else if (document.querySelector('div.navigation__personalization > a[href^="https://www.haas-mediengruppe.de/"]'))
|
||||||
|
group = '###_de_haas_medien';
|
||||||
|
else if (document.querySelector('head > link[href*=".rndtech.de/"]'))
|
||||||
|
group = '###_de_madsack';
|
||||||
|
else if (document.querySelector('a.mgw-logo[href^="https://mgw.de"]'))
|
||||||
|
group = '###_de_mgw';
|
||||||
|
else if (matchDomain(['cannstatter-zeitung.de', 'esslinger-zeitung.de', 'frankenpost.de', 'insuedthueringen.de', 'krzbb.de', 'kurier.de', 'np-coburg.de']))
|
||||||
|
group = '###_de_mhs';
|
||||||
|
else if (matchDomain(['bgland24.de', 'chiemgau24.de', 'innsalzach24.de', 'mangfall24.de', 'rosenheim24.de', 'wasserburg24.de']))
|
||||||
|
group = '###_de_ovb_media';
|
||||||
|
else if (matchDomain(['buerstaedter-zeitung.de', 'hochheimer-zeitung.de', 'lampertheimer-zeitung.de', 'lauterbacher-anzeiger.de', 'main-spitze.de', 'mittelhessen.de', 'oberhessische-zeitung.de', 'wormser-zeitung.de']))
|
||||||
|
group = '###_de_vrm';
|
||||||
|
else if (document.querySelector('head > link[href*="/assets.static-chmedia.ch/"]'))
|
||||||
|
group = '###_ch_media';
|
||||||
|
else if (document.querySelector('head > link[href*=".tamedia.ch/"]'))
|
||||||
|
group = '###_ch_tamedia';// custom
|
||||||
|
} else if (hostname.match(/\.(es|cat)$/) || matchDomain(['diariocordoba.com', 'elperiodicodearagon.com', 'elperiodicoextremadura.com', 'elperiodicomediterraneo.com', 'emporda.info'])) {
|
||||||
|
if (document.querySelector('head > link[href*="/estaticos-cdn."]'))
|
||||||
|
group = '###_es_epiberica';
|
||||||
|
else if (document.querySelector('div > ul > li > a[href="https://www.sportlife.es/"]'))
|
||||||
|
group = '###_es_sport_life';
|
||||||
|
} else if (hostname.endsWith('.fi')) {
|
||||||
|
if (document.querySelector('head > link[href^="https://assets.almatalent.fi"]'))
|
||||||
|
group = '###_fi_alma_talent';// no fix
|
||||||
|
else if (document.querySelector('head[prefix*=".kalevamedia.fi/"]'))
|
||||||
|
group = '###_fi_kaleva';// no fix
|
||||||
|
} else if (hostname.endsWith('.fr')) {
|
||||||
|
if (document.querySelector('head > meta[name="google-play-app"][content^="app-id=com.centrefrance"]'))
|
||||||
|
group = '###_fr_gcf';
|
||||||
|
else if (matchDomain(['cahiers-techniques-batiment.fr', 'lsa-conso.fr']))
|
||||||
|
group = '###_fr_groupe_infopro';
|
||||||
|
} else if (hostname.endsWith('.it')) {
|
||||||
|
if (document.querySelector('head > link[href^="//citynews.stgy.ovh/"]'))
|
||||||
|
group = '###_it_citynews';// no fix
|
||||||
|
else if (matchDomain(['gazzettadimodena.it', 'gazzettadireggio.it', 'lanuovaferrara.it']))
|
||||||
|
group = '###_it_gruppo_sae';
|
||||||
|
} else if (hostname.endsWith('.nl')) {
|
||||||
|
if (document.querySelector('head > link[href*=".ndcmediagroep.nl/"]'))
|
||||||
|
group = '###_nl_mediahuis_noord';
|
||||||
|
else if (document.querySelector('head > link[rel="dns-prefetch"][href^="https://vmn-"][href$="imgix.net"]'))
|
||||||
|
group = '###_nl_vmnmedia';// no fix
|
||||||
|
} else if (hostname.endsWith('.se')) {
|
||||||
|
if (document.querySelector('footer > div > div > a[href="https://www.nwtmedia.se/"]'))
|
||||||
|
group = '###_se_nwt_media';
|
||||||
|
else if (document.querySelector('head > link[href^="https://cdn.gotamedia.se/"]'))
|
||||||
|
group = '###_se_gota_media';// no fix
|
||||||
|
} else if (hostname.match(/\.(co\.uk|scot)$/)) {
|
||||||
|
if (document.querySelector('footer > div a[href^="https://www.nationalworldplc.com"]'))
|
||||||
|
group = '###_uk_nat_world';
|
||||||
|
else if (matchDomain(['investmentweek.co.uk']))
|
||||||
|
group = '###_uk_incisive_media';
|
||||||
|
else if (document.querySelector('footer li > a[href^="https://www.newsquest.co.uk/"]'))
|
||||||
|
group = '###_uk_newsquest';
|
||||||
|
} else if (hostname.match(/\.(ca|com|net|news|org)$/)) {
|
||||||
|
if (matchDomain(['latribune.ca', 'lavoixdelest.ca', 'ledroit.com', 'lenouvelliste.ca', 'lequotidien.com']))
|
||||||
|
group = '###_ca_gcm';
|
||||||
|
else if (document.querySelector('script[src*=".postmedia.digital/"], head > meta[content*=".postmedia.digital/"]'))
|
||||||
|
group = '###_ca_postmedia';
|
||||||
|
else if (document.querySelector('script[src*=".axate.io/"], script[src*=".agate.io/"]'))
|
||||||
|
group = '###_uk_axate.io';
|
||||||
|
else if (matchDomain(['businessgreen.com', 'internationalinvestment.net', 'professionaladviser.com', 'professionalpensions.com']))
|
||||||
|
group = '###_uk_incisive_media';
|
||||||
|
else if (document.querySelector('footer li > a[href^="https://www.newsquest.co.uk/"]'))
|
||||||
|
group = '###_uk_newsquest';
|
||||||
|
else if (document.querySelector('head > script[src="https://cdn.blueconic.net/bridgetowermedia.js"], header.site-header > div.btm-header'))
|
||||||
|
group = '###_usa_bridge_tower';
|
||||||
|
else if (document.querySelector('footer#footer li > a[href^="https://cherryroad-media.com"]'))
|
||||||
|
group = '###_usa_cherryroad';// no fix
|
||||||
|
else if (document.querySelector('head > link[href*=".gannettdigital.com/"], head > link[href*=".gannett-cdn.com/"]'))
|
||||||
|
group = '###_usa_gannett';
|
||||||
|
else if (document.querySelector('head > script[src*="/treg.hearstnp.com/"]'))
|
||||||
|
group = '###_usa_hearst_comm';
|
||||||
|
else if (document.querySelector('head > script[src*=".townnews.com/leetemplates.com/'))
|
||||||
|
group = '###_usa_lee_ent';
|
||||||
|
else if (document.querySelector('head > meta[name="tncms-access-version'))
|
||||||
|
group = '###_usa_townnews';
|
||||||
|
else if (document.querySelector('head > meta[content^="https://www.mcclatchy-wires.com/"], a[href^="https://classifieds.mcclatchy.com/"], script[src*=".mcclatchyinteractive.com/"]'))
|
||||||
|
group = '###_usa_mcc';
|
||||||
|
else if (document.querySelector('head > link[rel="stylesheet"][id^="dfm-accuweather-"], footer li > a[href^="https://www.medianewsgroup.com"]'))
|
||||||
|
group = '###_usa_mng';
|
||||||
|
else if (hostname.match(/\.com$/)) {
|
||||||
|
if (matchDomain(['journalauto.com', 'journaldupneu.com', 'j2rauto.com']))
|
||||||
|
group = '###_fr_synerj';
|
||||||
|
else if (matchDomain(['argusdelassurance.com', 'lagazettedescommunes.com']))
|
||||||
|
group = '###_fr_groupe_infopro';
|
||||||
|
else if (!matchDomain('institutionalinvestor.com') && (matchDomain('thedeal.com') || document.querySelector('footer.Page-footer a.Link[href="https://www.delinian.com/privacy-policy"]')))
|
||||||
|
group = '###_uk_delinian';// no fix
|
||||||
|
else if (document.querySelector('head > meta[property][content^="https://cdn.forumcomm.com/"]'))
|
||||||
|
group = '###_usa_forum_comm';
|
||||||
|
else if (document.querySelector('li > a[href^="https://www.bnpmedia.com/"]'))
|
||||||
|
group = '###_usa_bnp_media';
|
||||||
|
else if (matchDomain(['cfo.com', 'pharmavoice.com', 'proformative.com', 'socialmediatoday.com']) || (hostname.endsWith('dive.com') && document.querySelector('script[src^="/static/js/dist/contentGate.bundle.js"], div.baseline-footer > a[href="http://www.industrydive.com"]')))
|
||||||
|
group = '###_usa_industrydive';
|
||||||
|
else if (matchDomain(['centralmaine.com', 'pressherald.com', 'sunjournal.com']))
|
||||||
|
group = '###_usa_maine_trust';
|
||||||
|
else if (document.querySelector('head > meta[name="peim_article_access_type"]'))
|
||||||
|
group = '###_usa_pei';
|
||||||
|
else if (matchDomain(['dayton.com', 'daytondailynews.com', 'journal-news.com', 'springfieldnewssun.com']))
|
||||||
|
group = 'ajc.com';// Cox First Media
|
||||||
|
else if (matchDomain(['accountingtoday.com', 'benefitnews.com', 'bondbuyer.com', 'dig-in.com', 'financial-planning.com', 'nationalmortgagenews.com']))
|
||||||
|
group = 'americanbanker.com';// Arizent
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (matchDomain(['insideretail.asia', 'insideretail.co.nz' ,'insideretail.com.au', 'insideretail.us']))
|
||||||
|
group = '###_au_inside_retail';
|
||||||
|
}
|
||||||
|
|
||||||
|
ext_api.runtime.sendMessage({
|
||||||
|
request: 'custom_domain',
|
||||||
|
data: {
|
||||||
|
domain: custom_domain,
|
||||||
|
group: group
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
function matchDomain(domains, hostname) {
|
||||||
|
var matched_domain = false;
|
||||||
|
if (!hostname)
|
||||||
|
hostname = window.location.hostname;
|
||||||
|
if (typeof domains === 'string')
|
||||||
|
domains = [domains];
|
||||||
|
domains.some(domain => (hostname === domain || hostname.endsWith('.' + domain)) && (matched_domain = domain));
|
||||||
|
return matched_domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCookieDomain(hostname) {
|
||||||
|
let domain = hostname;
|
||||||
|
let n = 0;
|
||||||
|
let parts = hostname.split('.');
|
||||||
|
let str = '_gd' + (new Date()).getTime();
|
||||||
|
try {
|
||||||
|
while (n < (parts.length - 1) && document.cookie.indexOf(str + '=' + str) == -1) {
|
||||||
|
domain = parts.slice(-1 - (++n)).join('.');
|
||||||
|
document.cookie = str + "=" + str + ";domain=" + domain + ";";
|
||||||
|
}
|
||||||
|
document.cookie = str + "=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=" + domain + ";";
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
return domain;
|
||||||
|
}
|
||||||
106
contentScript_once_var.js
Normal file
106
contentScript_once_var.js
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
//'use strict';
|
||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
|
||||||
|
var hostname = window.location.hostname;
|
||||||
|
var de_madsack_domains = ['haz.de', 'kn-online.de', 'ln-online.de', 'lvz.de', 'maz-online.de', 'neuepresse.de', 'ostsee-zeitung.de', 'rnd.de'];
|
||||||
|
|
||||||
|
if (hostname.match(/\.de$/)) {
|
||||||
|
|
||||||
|
if (matchDomain(de_madsack_domains) || document.querySelector('head > link[href*=".rndtech.de/"]')) {
|
||||||
|
function madsack_main() {
|
||||||
|
for (let n = 0; n < 10; n++) {
|
||||||
|
window.setTimeout(function () {
|
||||||
|
if (window.Fusion) {
|
||||||
|
window.Fusion.globalContent.isPaid = false;
|
||||||
|
}
|
||||||
|
}, n * 50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
insert_script(madsack_main);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matchDomain('dagsavisen.no')) {
|
||||||
|
function dagsavisen_main() {
|
||||||
|
for (let n = 0; n < 10; n++) {
|
||||||
|
window.setTimeout(function () {
|
||||||
|
if (window.Fusion) {
|
||||||
|
window.Fusion.globalContent.content_restrictions.content_code = 0;
|
||||||
|
}
|
||||||
|
}, n * 50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
insert_script(dagsavisen_main);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (matchDomain(['journaldemontreal.com', 'journaldequebec.com'])) {
|
||||||
|
for (let n = 0; n < 10; n++) {
|
||||||
|
window.setTimeout(function () {
|
||||||
|
let article = document.querySelector('div.article-main-txt.composer-content');
|
||||||
|
if (article)
|
||||||
|
article.classList.remove('composer-content');
|
||||||
|
}, n * 50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (matchDomain('nzherald.co.nz')) {
|
||||||
|
function nzherald_main() {
|
||||||
|
for (let n = 0; n < 10; n++) {
|
||||||
|
window.setTimeout(function () {
|
||||||
|
if (window.Fusion) {
|
||||||
|
window.Fusion.globalContent.isPremium = false;
|
||||||
|
}
|
||||||
|
}, n * 50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
insert_script(nzherald_main);
|
||||||
|
}
|
||||||
|
|
||||||
|
function matchDomain(domains, hostname) {
|
||||||
|
var matched_domain = false;
|
||||||
|
if (!hostname)
|
||||||
|
hostname = window.location.hostname;
|
||||||
|
if (typeof domains === 'string')
|
||||||
|
domains = [domains];
|
||||||
|
domains.some(domain => (hostname === domain || hostname.endsWith('.' + domain)) && (matched_domain = domain));
|
||||||
|
return matched_domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeDOMElement(...elements) {
|
||||||
|
for (let element of elements) {
|
||||||
|
if (element)
|
||||||
|
element.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function waitDOMElement(selector, tagName = '', callback, multiple = false) {
|
||||||
|
new window.MutationObserver(function (mutations) {
|
||||||
|
for (let mutation of mutations) {
|
||||||
|
for (let node of mutation.addedNodes) {
|
||||||
|
if (!tagName || (node.tagName === tagName)) {
|
||||||
|
if (node.matches(selector)) {
|
||||||
|
callback(node);
|
||||||
|
if (!multiple)
|
||||||
|
this.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).observe(document, {
|
||||||
|
subtree: true,
|
||||||
|
childList: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function insert_script(func, insertAfterDom) {
|
||||||
|
let bpc_script = document.querySelector('script#bpc_script');
|
||||||
|
if (!bpc_script) {
|
||||||
|
let script = document.createElement('script');
|
||||||
|
script.setAttribute('id', 'bpc_script');
|
||||||
|
script.appendChild(document.createTextNode('(' + func + ')();'));
|
||||||
|
let insertAfter = insertAfterDom ? insertAfterDom : (document.body || document.head || document.documentElement);
|
||||||
|
if (insertAfter)
|
||||||
|
insertAfter.appendChild(script);
|
||||||
|
}
|
||||||
|
}
|
||||||
47
custom/manifest.json
Normal file
47
custom/manifest.json
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"background": {
|
||||||
|
"scripts": ["sites.js", "bpc_count_daily_users.js", "background.js"]
|
||||||
|
},
|
||||||
|
"content_security_policy": "script-src 'self'; object-src 'self'",
|
||||||
|
"browser_specific_settings": {
|
||||||
|
"gecko": {
|
||||||
|
"id": "magnolia_limited_permissions@12.34",
|
||||||
|
"update_url": "https://bitbucket.org/bpc-updates/bpc_updates/downloads//updates_custom.json",
|
||||||
|
"strict_min_version": "86.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"browser_action": {
|
||||||
|
"default_popup": "options/popup.html",
|
||||||
|
"default_icon": {
|
||||||
|
"128": "bypass.png"
|
||||||
|
},
|
||||||
|
"theme_icons": [{
|
||||||
|
"light": "bypass-dark.png",
|
||||||
|
"dark": "bypass.png",
|
||||||
|
"size": 128
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "Bypass Paywalls of news sites",
|
||||||
|
"homepage_url": "https://twitter.com/Magnolia1234B",
|
||||||
|
"icons": {
|
||||||
|
"128": "bypass.png"
|
||||||
|
},
|
||||||
|
"manifest_version": 2,
|
||||||
|
"name": "Bypass Paywalls Clean (c)",
|
||||||
|
"short_name": "Bypass Paywall",
|
||||||
|
"options_ui": {
|
||||||
|
"browser_style": true,
|
||||||
|
"open_in_tab": true,
|
||||||
|
"page": "options/options.html"
|
||||||
|
},
|
||||||
|
"permissions": [
|
||||||
|
"cookies",
|
||||||
|
"storage",
|
||||||
|
"activeTab",
|
||||||
|
"webRequest",
|
||||||
|
"webRequestBlocking",
|
||||||
|
"*://*/*"
|
||||||
|
],
|
||||||
|
"version": "3.6.4.5"
|
||||||
|
}
|
||||||
935
custom/sites_custom.json
Normal file
935
custom/sites_custom.json
Normal file
@@ -0,0 +1,935 @@
|
|||||||
|
{
|
||||||
|
"###_remove_sites": {
|
||||||
|
"cs_code": "dn.se, faithfullymagazine.com, gazetaprawna.pl, lyrik.fr, mailplus.co.uk, onet.pl, portfolio.hu, rp-online.de",
|
||||||
|
"domain": "###"
|
||||||
|
},
|
||||||
|
"Abajournal.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.piano\\.io",
|
||||||
|
"domain": "abajournal.com"
|
||||||
|
},
|
||||||
|
"Abcmais.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "abcmais.com",
|
||||||
|
"ld_json_url": "section#section-iframe-assinante|div.degressing-opacity"
|
||||||
|
},
|
||||||
|
"Acadienouvelle.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.acadienouvelle\\.com\\/script\\.js",
|
||||||
|
"domain": "acadienouvelle.com"
|
||||||
|
},
|
||||||
|
"Airmail.news": {
|
||||||
|
"add_ext_link": "div.paywall-card|div.article-text",
|
||||||
|
"add_ext_link_type": "archive.is",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "airmail.news",
|
||||||
|
"ld_archive_is": "div.paywall-card|div.article-text|div[data-article-target='body']"
|
||||||
|
},
|
||||||
|
"Aoc.media": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.poool\\.fr",
|
||||||
|
"domain": "aoc.media"
|
||||||
|
},
|
||||||
|
"Arkansasonline.com": {
|
||||||
|
"add_ext_link": "div.bee-page-container|div.article__body",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"domain": "arkansasonline.com"
|
||||||
|
},
|
||||||
|
"Artsprofessional.co.uk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.artsprofessional\\.co\\.uk\\/.+\\/js\\/content_paywall\\.js",
|
||||||
|
"domain": "artsprofessional.co.uk"
|
||||||
|
},
|
||||||
|
"Asiamoney.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "asiamoney.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Athensreviewofbooks.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "athensreviewofbooks.com",
|
||||||
|
"ld_json": "div.freeUser|div.itemBody"
|
||||||
|
},
|
||||||
|
"Bisnisindonesia.id": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "bisnisindonesia.id",
|
||||||
|
"ld_json_next": "div.bottom-10|article"
|
||||||
|
},
|
||||||
|
"Bizwest.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.fp-paywall\", \"rm_elem\":1, \"elems\":[{\"cond\":\"div.fp-content\", \"rm_attrib\":\"class\"}]}]",
|
||||||
|
"domain": "bizwest.com"
|
||||||
|
},
|
||||||
|
"Bm-online.de": {
|
||||||
|
"add_ext_link": "div.plenigo-teaser|div.entry-content",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "bm-online.de"
|
||||||
|
},
|
||||||
|
"Booksandpublishing.com.au": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "booksandpublishing.com.au",
|
||||||
|
"ld_json_url": "article form#loginform|div.paywallblurtext"
|
||||||
|
},
|
||||||
|
"Bostonmagazine.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "bostonmagazine.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Brainly.com": {
|
||||||
|
"domain": "brainly.com"
|
||||||
|
},
|
||||||
|
"Brandonsun.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "account\\.brandonsun\\.com\\/api\\/v\\d\\/auth\\/identify",
|
||||||
|
"domain": "brandonsun.com"
|
||||||
|
},
|
||||||
|
"Brusselstimes.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.piano\\.io\\/xbuilder\\/experience\\/execute",
|
||||||
|
"cs_code": "[{\"cond\":\"div[style*='height: 0;']\", \"rm_attrib\":\"style\"}]",
|
||||||
|
"domain": "brusselstimes.com"
|
||||||
|
},
|
||||||
|
"Bt.no": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "bt.no",
|
||||||
|
"useragent": "facebookbot"
|
||||||
|
},
|
||||||
|
"Btc-echo.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "btc-echo.de",
|
||||||
|
"ld_json_url": "div.btc-echo-plus-paywall|div.entry-content|1"
|
||||||
|
},
|
||||||
|
"Businessinsider.de": {
|
||||||
|
"add_ext_link": "div.piano-article__paywall|div.piano-article__content",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.piano\\.io",
|
||||||
|
"domain": "businessinsider.de"
|
||||||
|
},
|
||||||
|
"Businesslive.co.za": {
|
||||||
|
"add_ext_link": "div#comment-shield|div.article-info-container",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "businesslive.co.za"
|
||||||
|
},
|
||||||
|
"Businessnews.com.au": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "businessnews.com.au",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Cafe.com (articles only)": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "cafe.com",
|
||||||
|
"ld_json_url": "div.login-module|div.article-bottom-content-text-content"
|
||||||
|
},
|
||||||
|
"Capital.bg": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "capital.bg",
|
||||||
|
"ld_json": "div.paywall|div.story-content|1",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Catholicherald.co.uk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.catholicherald\\.co\\.uk\\/c\\/assets\\/pigeon\\.js",
|
||||||
|
"domain": "catholicherald.co.uk"
|
||||||
|
},
|
||||||
|
"Causette.fr": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "causette.fr",
|
||||||
|
"ld_json_url": "div.ihc-locker-wrap|div.entry-content"
|
||||||
|
},
|
||||||
|
"Chicago.suntimes.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "chicago.suntimes.com"
|
||||||
|
},
|
||||||
|
"Christianitytoday.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "christianitytoday.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Churchtimes.co.uk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_js_inline": "\\.churchtimes\\.co\\.uk\\/articles\\/",
|
||||||
|
"domain": "churchtimes.co.uk",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Clareecho.ie": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.clareecho\\.ie\\/.+\\/flip-pay\\.js",
|
||||||
|
"cs_code": "[{\"cond\":\"div.td-post-content\", \"rm_class\": \"td-post-content\"}]",
|
||||||
|
"domain": "clareecho.ie"
|
||||||
|
},
|
||||||
|
"Connexionfrance.com": {
|
||||||
|
"domain": "connexionfrance.com"
|
||||||
|
},
|
||||||
|
"Craftscouncil.org.uk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\/steadyhq\\.com",
|
||||||
|
"domain": "craftscouncil.org.uk"
|
||||||
|
},
|
||||||
|
"Dailyherald.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "dailyherald.com"
|
||||||
|
},
|
||||||
|
"Dealstreetasia.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "dealstreetasia.com",
|
||||||
|
"ld_json_next": "div.subscribe-now,div.overlay|article"
|
||||||
|
},
|
||||||
|
"Deutsche-wirtschafts-nachrichten.de": {
|
||||||
|
"add_ext_link": "div#article-teaser-blocks|div.teaser_extra",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "deutsche-wirtschafts-nachrichten.de"
|
||||||
|
},
|
||||||
|
"Diabeteshealth.co.in": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "diabeteshealth.co.in",
|
||||||
|
"ld_json": "div#paywall-banner|div[class^='text-story-m_gap']"
|
||||||
|
},
|
||||||
|
"Diariodenavarra.es": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "diariodenavarra.es",
|
||||||
|
"ld_json": "div#paywall_message|div.free-html"
|
||||||
|
},
|
||||||
|
"Dn.no": {
|
||||||
|
"add_ext_link": "div#sub-paywall-container|article",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "dn.no"
|
||||||
|
},
|
||||||
|
"Edweek.org (not Market Brief)": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "js\\.pelcro\\.com",
|
||||||
|
"domain": "edweek.org"
|
||||||
|
},
|
||||||
|
"Elfinancierocr.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "(\\.tinypass\\.com|cdn\\.ampproject\\.org\\/v\\d\\/amp-subscriptions-.+\\.js)",
|
||||||
|
"cs_code": "[{\"cond\":\"div.article-body-wrapper__styled[style]\",\"rm_attrib\":\"style\"},{\"cond\":\"div.post\",\"rm_elem\":1}]",
|
||||||
|
"domain": "elfinancierocr.com"
|
||||||
|
},
|
||||||
|
"Eluniversal.com.mx": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "eluniversal.com.mx"
|
||||||
|
},
|
||||||
|
"Endpts.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "endpts.com",
|
||||||
|
"ld_json_url": "div.epn_limit|div.epn_content"
|
||||||
|
},
|
||||||
|
"Engineersireland.ie": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.free-wrapper\", \"rm_elem\":1, \"elems\":[{\"cond\":\"div.article-body[style]\", \"rm_attrib\":\"style\"}]}]",
|
||||||
|
"domain": "engineersireland.ie"
|
||||||
|
},
|
||||||
|
"Eviemagazine.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.eviemagazine\\.com\\/api\\/trpc\\/post\\.paywall",
|
||||||
|
"domain": "eviemagazine.com"
|
||||||
|
},
|
||||||
|
"Farmersjournal.ie": {
|
||||||
|
"amp_redirect": "div#memberplusModal.in",
|
||||||
|
"domain": "farmersjournal.ie"
|
||||||
|
},
|
||||||
|
"Finance.si": {
|
||||||
|
"add_ext_link": "div[id^='hardlock_']|div#article_main",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "finance.si"
|
||||||
|
},
|
||||||
|
"Finansavisen.no": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "finansavisen.no",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Finanz-szene.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "finanz-szene.de",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Flz.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "flz.de",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Fokus.se": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.fokus\\.se\\/app\\/.+\\/sesamy-fpg\\.js",
|
||||||
|
"domain": "fokus.se"
|
||||||
|
},
|
||||||
|
"Frieze.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "js\\.pelcro\\.com",
|
||||||
|
"domain": "frieze.com"
|
||||||
|
},
|
||||||
|
"Gazette.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "loader-cdn\\.azureedge\\.net",
|
||||||
|
"domain": "gazette.com"
|
||||||
|
},
|
||||||
|
"Gplanet.co.il (not lectures)": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "gplanet.co.il",
|
||||||
|
"ld_json": "div.subscription-form|div.content-inner"
|
||||||
|
},
|
||||||
|
"Gramophone.co.uk (reviews)": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.gramophone\\.co\\.uk\\/script\\.js",
|
||||||
|
"domain": "gramophone.co.uk",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Group_ch_agrarmedien": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"[class*='advert']\", \"rm_elem\":1}]",
|
||||||
|
"domain": "group_ch_agrarmedien",
|
||||||
|
"group": "bauernzeitung.ch,diegruene.ch",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Group_de_ozg": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "group_de_ozg",
|
||||||
|
"group": "borkumer-zeitung.de,ga-online.de,on-online.de,oz-online.de",
|
||||||
|
"ld_json": "div.paywall|div.pointer-events-none"
|
||||||
|
},
|
||||||
|
"Group_es_serra (regwall)": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_js_inline": "^",
|
||||||
|
"domain": "group_es_serra",
|
||||||
|
"group": "menorca.info,ultimahora.es"
|
||||||
|
},
|
||||||
|
"Group_media_source_inc": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.com\\/.+\\/js\\/metering\\.js",
|
||||||
|
"domain": "group_media_source_inc",
|
||||||
|
"group": "hbook.com,libraryjournal.com,slj.com"
|
||||||
|
},
|
||||||
|
"Group_nation_media": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.modal\",\"rm_elem\":1,\"elems\":[{\"cond\":\".nmgp\",\"rm_class\":\"nmgp\"}]}]",
|
||||||
|
"domain": "group_nation_media",
|
||||||
|
"group": "monitor.co.ug,nation.africa,thecitizen.co.tz"
|
||||||
|
},
|
||||||
|
"Group_no_lydogbilde": {
|
||||||
|
"cs_code": "[{\"cond\":\"div.paywallbox\", \"rm_elem\":1, \"elems\":[{\"cond\":\"div.thecontent\", \"rm_class\":\"thecontent\"}, {\"cond\":\"div#MoreLink_fade-out-div\", \"rm_elem\":1}, {\"cond\":\"div#MoreLink_content-container[style]\", \"rm_attrib\":\"style\"}]}]",
|
||||||
|
"domain": "group_no_lydogbilde",
|
||||||
|
"group": "lydogbillede.dk,lydogbilde.no"
|
||||||
|
},
|
||||||
|
"Group_uk_dcthomson": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"cs_code": "[{\"cond\":\"div[rel='advert']\", \"rm_elem\":1}]",
|
||||||
|
"domain": "group_uk_dcthomson",
|
||||||
|
"group": "energyvoice.com,pressandjournal.co.uk,thecourier.co.uk"
|
||||||
|
},
|
||||||
|
"Group_uk_solar_media": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "group_uk_solar_media",
|
||||||
|
"group": "energy-storage.news,pv-tech.org",
|
||||||
|
"ld_json_url": "div.wkwp-paywall|div.wpwp-non-paywall"
|
||||||
|
},
|
||||||
|
"Group_van_magazine": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "group_van_magazine",
|
||||||
|
"group": "van-magazine.com,van-magazin.de",
|
||||||
|
"ld_json_url": "div.newspack-metered-paywall-block|div.entry-content"
|
||||||
|
},
|
||||||
|
"Gutepillen-schlechtepillen.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "gutepillen-schlechtepillen.de",
|
||||||
|
"ld_json_url": "aside.abonotice|div.single_content|1"
|
||||||
|
},
|
||||||
|
"Hartenergy.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "js\\.pelcro\\.com",
|
||||||
|
"domain": "hartenergy.com"
|
||||||
|
},
|
||||||
|
"Hbrtaiwan.com": {
|
||||||
|
"domain": "hbrtaiwan.com"
|
||||||
|
},
|
||||||
|
"Heidi.news": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.piano\\.io",
|
||||||
|
"domain": "heidi.news",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Heraldo.es": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_js_inline": "\\.heraldo\\.es\\/noticias",
|
||||||
|
"domain": "heraldo.es"
|
||||||
|
},
|
||||||
|
"Himalmag.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "himalmag.com",
|
||||||
|
"ld_json": "div#metered-paywall-banner|div[class^='paywall-story-']"
|
||||||
|
},
|
||||||
|
"Hochparterre.ch": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.pageWrapper\", \"rm_class\":\"pageWrapper\"}]",
|
||||||
|
"domain": "hochparterre.ch",
|
||||||
|
"ld_google_webcache": "div.paywall|div.article__content"
|
||||||
|
},
|
||||||
|
"Hsj.co.uk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "hsj.co.uk",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Huisartsvandaag.nl": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "huisartsvandaag.nl",
|
||||||
|
"ld_json_url": "div.article__paywall|div.article__body"
|
||||||
|
},
|
||||||
|
"Ilglobo.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "ilglobo.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Insidemortgagefinance.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "insidemortgagefinance.com",
|
||||||
|
"ld_google_webcache": "div.article-preview|div.main-body"
|
||||||
|
},
|
||||||
|
"Institutionalinvestor.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div[style*='background-image: linear-gradient']\", \"rm_elem\":1}]",
|
||||||
|
"domain": "institutionalinvestor.com",
|
||||||
|
"ld_google_webcache": "div.call_to_action|div.Page-articleBody"
|
||||||
|
},
|
||||||
|
"Internationalepolitik.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "internationalepolitik.de"
|
||||||
|
},
|
||||||
|
"Investmentnews.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "investmentnews.com",
|
||||||
|
"ld_google_webcache": "div.leaky_paywall_message_wrap|div#article-main-featured-content"
|
||||||
|
},
|
||||||
|
"Ipe.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "ipe.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Irishnews.com": {
|
||||||
|
"block_regex": "\\.irishnews\\.com\\/.+\\/js\\/(bundle|mpppaywall)\\.js",
|
||||||
|
"domain": "irishnews.com"
|
||||||
|
},
|
||||||
|
"Jornaldocomercio.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.jornaldocomercio\\.com\\/.+\\/json\\/paywall\\.json",
|
||||||
|
"domain": "jornaldocomercio.com"
|
||||||
|
},
|
||||||
|
"Jota.info": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "jota.info",
|
||||||
|
"ld_json_url": "div.jota-paywall-visible|div.jota-article__content>span>p"
|
||||||
|
},
|
||||||
|
"Jworldtimes.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "jworldtimes.com",
|
||||||
|
"ld_json_url": "head>meta[property='article:publisher']|div.entry-content"
|
||||||
|
},
|
||||||
|
"Kapital.no": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "kapital.no",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Keymilitary.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "keymilitary.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Kristeligt-dagblad.dk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "kristeligt-dagblad.dk",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Lagaceta.com.ar": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.lagaceta\\.com\\.ar\\/ajax\\/getInfo",
|
||||||
|
"domain": "lagaceta.com.ar",
|
||||||
|
"useragent": "facebookbot"
|
||||||
|
},
|
||||||
|
"Lasvegasadvisor.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.lasvegasadvisor\\.com\\/(opt\\/.+|js\\/access\\.min)\\.js",
|
||||||
|
"domain": "lasvegasadvisor.com"
|
||||||
|
},
|
||||||
|
"Lavozdegalicia.es": {
|
||||||
|
"add_ext_link": "div#paywall_box|article p",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"body.blocked\", \"rm_class\":\"blocked\"}, {\"cond\":\"hr.pw-separator\", \"rm_class\":\"pw-separator\"}]",
|
||||||
|
"domain": "lavozdegalicia.es"
|
||||||
|
},
|
||||||
|
"Legalbites.in": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div#subscription_paid_message\", \"rm_elem\":1, \"elems\":[{\"cond\":\"div.hide.paywall-content\", \"rm_attrib\": \"class\"}, {\"cond\": \"div.restricted_message>div.story\", \"rm_elem\":1}]}]",
|
||||||
|
"domain": "legalbites.in"
|
||||||
|
},
|
||||||
|
"Limerickpost.ie": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.limerickpost\\.ie\\/.+\\/flip-pay\\.js",
|
||||||
|
"cs_code": "[{\"cond\":\"div.td-post-content\", \"rm_class\": \"td-post-content\"}]",
|
||||||
|
"domain": "limerickpost.ie"
|
||||||
|
},
|
||||||
|
"Limesonline.com": {
|
||||||
|
"add_ext_link": "div#account-pw-container|div.story__content",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "limesonline.com"
|
||||||
|
},
|
||||||
|
"Lindipendente.online": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "lindipendente.online",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Luxurydaily.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "luxurydaily.com",
|
||||||
|
"ld_json_url": "div.call-to-action|div.body|||meta[name='id']"
|
||||||
|
},
|
||||||
|
"Makorrishon.co.il": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "makorrishon.co.il",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Manilatimes.net": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "manilatimes.net",
|
||||||
|
"ld_json": "div.website-packages|div.article-body-content"
|
||||||
|
},
|
||||||
|
"Marketscreener.com (only free articles)": {
|
||||||
|
"domain": "marketscreener.com"
|
||||||
|
},
|
||||||
|
"Mediapart.fr": {
|
||||||
|
"add_ext_link": "div#paywall_no_variance|main",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "mediapart.fr"
|
||||||
|
},
|
||||||
|
"Mediapost.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"body[class]\", \"rm_attrib\":\"class\"}, {\"cond\":\"div.fade\", \"rm_elem\":1}]",
|
||||||
|
"domain": "mediapost.com",
|
||||||
|
"ld_google_webcache": "div.modal|div#article_body"
|
||||||
|
},
|
||||||
|
"Medieninsider.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "medieninsider.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Medpagetoday.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "medpagetoday.com",
|
||||||
|
"remove_cookies": 1
|
||||||
|
},
|
||||||
|
"Milesplit.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "milesplit.com",
|
||||||
|
"useragent": "facebookbot"
|
||||||
|
},
|
||||||
|
"Mining-journal.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "mining-journal.com",
|
||||||
|
"ld_json": "div.article-teaser|div.article-content>p"
|
||||||
|
},
|
||||||
|
"Montelnews.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div[class*='articleText_cover_'\", \"rm_class\":\"articleText_cover__98U9v\"}]",
|
||||||
|
"domain": "montelnews.com",
|
||||||
|
"ld_json_next": "div[class^='articleTeaser_teaser_']|div[class^='articleText_mainText_']"
|
||||||
|
},
|
||||||
|
"Mopo.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "mopo.de",
|
||||||
|
"ld_json_url": "div#paywall|div.paywall-fade"
|
||||||
|
},
|
||||||
|
"Museumsassociation.org": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"body.paywall\", \"rm_class\":\"paywall\", \"elems\":[{\"cond\":\"body[style]\", \"rm_attrib\":\"style\"}, {\"cond\":\"div#paywall-wrapper,div.advertising\", \"rm_elem\":1}]}]",
|
||||||
|
"domain": "museumsassociation.org"
|
||||||
|
},
|
||||||
|
"Nacion.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"cs_code": "[{\"cond\":\"div.post\", \"rm_elem\":1, \"elems\": [{\"cond\":\"div.article-body-wrapper__styled[style]\", \"rm_attrib\":\"style\"}]}]",
|
||||||
|
"domain": "nacion.com"
|
||||||
|
},
|
||||||
|
"Nationalobserver.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "nationalobserver.com"
|
||||||
|
},
|
||||||
|
"Naturalgasworld.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "naturalgasworld.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Newbostonpost.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\/newbostonpost\\.com\\/.+\\/paywall\\/js\\/main\\.js",
|
||||||
|
"domain": "newbostonpost.com"
|
||||||
|
},
|
||||||
|
"Newoxfordreview.org": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.not-viewable\", \"rm_class\":\"not-viewable\"}]",
|
||||||
|
"domain": "newoxfordreview.org"
|
||||||
|
},
|
||||||
|
"Newspicks.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "newspicks.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Nnn.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "nnn.de",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Nordjyske.dk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "nordjyske.dk",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Nordsee-zeitung.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "nordsee-zeitung.de",
|
||||||
|
"ld_google_webcache": "div.UserLoggedInContainer|article"
|
||||||
|
},
|
||||||
|
"Novethic.fr": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "novethic.fr",
|
||||||
|
"ld_json_url": "div#paywall|div.entry-content"
|
||||||
|
},
|
||||||
|
"Nu.nl": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"article#LOGIN\",\"rm_elem\":1},{\"cond\":\"div.authorized-content\",\"rm_class\":\"authorized-content\"}]",
|
||||||
|
"domain": "nu.nl"
|
||||||
|
},
|
||||||
|
"Nv.ua": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"amp_redirect": "div[id^='media_paywall']",
|
||||||
|
"domain": "nv.ua"
|
||||||
|
},
|
||||||
|
"Odt.co.nz": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.odt\\.co\\.nz\\/bwtw\\/api\\/TheWall",
|
||||||
|
"cs_code": "[{\"cond\":\"div[property='content:encoded']\", \"rm_attrib\":\"property\"}]",
|
||||||
|
"domain": "odt.co.nz"
|
||||||
|
},
|
||||||
|
"Opovo.com.br": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.opovo\\.com\\.br\\/.+\\/js\\/auth\\/auth_new_menu.min\\.js",
|
||||||
|
"domain": "opovo.com.br"
|
||||||
|
},
|
||||||
|
"Overwaar.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "overwaar.de",
|
||||||
|
"ld_json_url": "div#paywall-wrapper|div.custom-content-wrapper div.fl-col-content"
|
||||||
|
},
|
||||||
|
"Pebmed.com.br": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\/pebmed\\.com\\.br\\/wp-content\\/.+\\/paywall\\/dist\\/js\\/app\\.js",
|
||||||
|
"domain": "pebmed.com.br"
|
||||||
|
},
|
||||||
|
"Pharmaceutical-journal.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "pharmaceutical-journal.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Phillymag.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "phillymag.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Physicsworld.com": {
|
||||||
|
"domain": "physicsworld.com"
|
||||||
|
},
|
||||||
|
"Piratewires.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "piratewires.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Policinginsight.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "policinginsight.com",
|
||||||
|
"ld_json_url": "div#pi-content-gating|article|1|1"
|
||||||
|
},
|
||||||
|
"Publishersweekly.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.omeda\\.com",
|
||||||
|
"cs_code": "[{\"cond\":\"div#content div.loggedOutOnly\", \"rm_elem\":1}, {\"cond\":\"div#content div.loggedInOnly\", \"rm_attrib\": \"class|style\"}]",
|
||||||
|
"domain": "publishersweekly.com"
|
||||||
|
},
|
||||||
|
"Pv-digest.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "pv-digest.de",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Quickmath.com": {
|
||||||
|
"domain": "quickmath.com"
|
||||||
|
},
|
||||||
|
"Racketmn.com (refresh)": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "racketmn.com",
|
||||||
|
"ld_google_webcache": "div[class^='ContentGate_']|div[class^='PostContent_']"
|
||||||
|
},
|
||||||
|
"Rawstory.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "rawstory.com"
|
||||||
|
},
|
||||||
|
"Researchprofessionalnews.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "researchprofessionalnews.com",
|
||||||
|
"ld_json_url": "section.single-locked-message|section.single-locked-content"
|
||||||
|
},
|
||||||
|
"Reviewjournal.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "js\\.matheranalytics\\.com",
|
||||||
|
"domain": "reviewjournal.com"
|
||||||
|
},
|
||||||
|
"Rockdelux.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.bg-paywall\", \"rm_elem\":1, \"elems\": [{\"cond\":\"body\", \"rm_attrib\":\"class|style\"}, {\"cond\":\"div#body\", \"rm_attrib\":\"style\"}]}]",
|
||||||
|
"domain": "rockdelux.com"
|
||||||
|
},
|
||||||
|
"Schwaebische-post.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.schwaebische-post\\.de\\/sub\\/js\\/pc-offer-west\\.js",
|
||||||
|
"domain": "schwaebische-post.de"
|
||||||
|
},
|
||||||
|
"Screendaily.com": {
|
||||||
|
"domain": "screendaily.com"
|
||||||
|
},
|
||||||
|
"Shrm.org": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.shrm\\.org\\/.+\\/js\\/paywall.+\\.js",
|
||||||
|
"domain": "shrm.org",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Siliconrepublic.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "js\\.pelcro\\.com",
|
||||||
|
"domain": "siliconrepublic.com"
|
||||||
|
},
|
||||||
|
"Solarserver.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.paywall-box\", \"rm_elem\":1, \"elems\":[{\"cond\":\"div.paywall\", \"rm_attrib\":\"style\"}, {\"cond\":\"div.paywall-blurred\", \"rm_attrib\":\"class\"}]}]",
|
||||||
|
"domain": "solarserver.de"
|
||||||
|
},
|
||||||
|
"Spectator.org": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\/spectator\\.org\\/.+\\/evolok",
|
||||||
|
"domain": "spectator.org"
|
||||||
|
},
|
||||||
|
"Spectrejournal.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\/spectrejournal\\.com\\/wp-content\\/plugins\\/elementor\\/.+\\/dialog\\.min\\.js",
|
||||||
|
"domain": "spectrejournal.com"
|
||||||
|
},
|
||||||
|
"Speld.nl": {
|
||||||
|
"domain": "speld.nl"
|
||||||
|
},
|
||||||
|
"Splainer.in": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\".subscription-prompt\",\"rm_elem\":1,\"elems\":[{\"cond\":\".hide-section\",\"rm_class\":\"hide-section\"}]}]",
|
||||||
|
"domain": "splainer.in"
|
||||||
|
},
|
||||||
|
"Spokesman.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "loader-cdn\\.azureedge\\.net",
|
||||||
|
"domain": "spokesman.com"
|
||||||
|
},
|
||||||
|
"Sportsbusinessjournal.com": {
|
||||||
|
"domain": "sportsbusinessjournal.com"
|
||||||
|
},
|
||||||
|
"Stateaffairs.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.c-memberships-message\", \"rm_elem\":1, \"elems\":[{\"cond\":\"body.access-restricted\",\"rm_class\":\"access-restricted\"}]}]",
|
||||||
|
"domain": "stateaffairs.com"
|
||||||
|
},
|
||||||
|
"Strategies.fr": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.qiota\\.com",
|
||||||
|
"domain": "strategies.fr"
|
||||||
|
},
|
||||||
|
"Stratford-herald.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"amp_redirect": "div#article_panel_paywall",
|
||||||
|
"amp_unhide": 1,
|
||||||
|
"block_regex": "cdn\\.ampproject\\.org\\/v\\d\\/amp-access-.+\\.js",
|
||||||
|
"cs_code": "[{\"cond\":\"div.PremNotice\", \"rm_elem\":1}]",
|
||||||
|
"domain": "stratford-herald.com"
|
||||||
|
},
|
||||||
|
"Stripes.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "js\\.pelcro\\.com",
|
||||||
|
"domain": "stripes.com"
|
||||||
|
},
|
||||||
|
"Supchina.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "supchina.com"
|
||||||
|
},
|
||||||
|
"Swp.de": {
|
||||||
|
"add_ext_link": "div.swpPayWall|section.paywall",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "swp.de"
|
||||||
|
},
|
||||||
|
"T3n.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "t3n.de",
|
||||||
|
"ld_json": "div.c-pro-wall__wrapper|div.pro-blur>p"
|
||||||
|
},
|
||||||
|
"Tamedia.ch": {
|
||||||
|
"add_ext_link": "div#piano-premium>div|article p",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "###_ch_tamedia"
|
||||||
|
},
|
||||||
|
"Taxscan.in": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "taxscan.in",
|
||||||
|
"ld_json": "div.pmpro_content_message|div.the-content>p"
|
||||||
|
},
|
||||||
|
"Teachingprofessor.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "teachingprofessor.com",
|
||||||
|
"ld_json_url": "div#post-paywall|div.elementor-widget-theme-post-content>div"
|
||||||
|
},
|
||||||
|
"Tetu.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.qiota\\.com",
|
||||||
|
"domain": "tetu.com",
|
||||||
|
"ld_json_url": "div.qiota-for-free-article|div.article-content"
|
||||||
|
},
|
||||||
|
"The-fence.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.hadrianpaywall\\.com",
|
||||||
|
"domain": "the-fence.com"
|
||||||
|
},
|
||||||
|
"The-past.com": {
|
||||||
|
"domain": "the-past.com"
|
||||||
|
},
|
||||||
|
"The42.ie": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.piano\\.io",
|
||||||
|
"domain": "the42.ie"
|
||||||
|
},
|
||||||
|
"Thecaterer.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\".locked-content\",\"rm_attrib\":\"class\"}]",
|
||||||
|
"domain": "thecaterer.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Thedailymash.co.uk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.flip-pay\\.com",
|
||||||
|
"domain": "thedailymash.co.uk"
|
||||||
|
},
|
||||||
|
"Theday.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "js\\.pelcro\\.com",
|
||||||
|
"domain": "theday.com"
|
||||||
|
},
|
||||||
|
"Thedispatch.com": {
|
||||||
|
"add_ext_link": "article:not(.newsletter) section.paywall-section|div.content",
|
||||||
|
"add_ext_link_type": "archive.is",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "thedispatch.com",
|
||||||
|
"ld_archive_is": "article:not(.newsletter) section.paywall-section|main>article",
|
||||||
|
"ld_json_url": "article.newsletter section.paywall-section|div.content|1"
|
||||||
|
},
|
||||||
|
"Thedriftmag.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.thedriftmag\\.com\\/wp-content\\/plugins\\/drift-paywall-plugin",
|
||||||
|
"domain": "thedriftmag.com"
|
||||||
|
},
|
||||||
|
"Thefashionlaw.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.thefashionlaw\\.com\\/evolok\\/.+\\/ev-widgets\\.min\\.js",
|
||||||
|
"domain": "thefashionlaw.com"
|
||||||
|
},
|
||||||
|
"Thefederal.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"amp_redirect": "div#premium_access_message_text",
|
||||||
|
"cs_code": "[{\"cond\":\"div.access-message\", \"rm_elem\":1, \"elems\":[{\"cond\":\"div.hide.paywall-content\", \"rm_attrib\":\"class\"}]}]",
|
||||||
|
"domain": "thefederal.com"
|
||||||
|
},
|
||||||
|
"Theloadstar.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.post-info\", \"elems\":[{\"cond\":\"article>p\", \"rm_elem\":1}]}]",
|
||||||
|
"domain": "theloadstar.com",
|
||||||
|
"ld_json_url": "div#register_wrapper,div[id$=\"_req_container\"]|article|1|1"
|
||||||
|
},
|
||||||
|
"Themonthly.com.au": {
|
||||||
|
"domain": "themonthly.com.au"
|
||||||
|
},
|
||||||
|
"Thenationalpulse.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\/thenationalpulse\\.com\\/wp-content\\/.+\\/assets\\/js\\/national-pulse\\.js",
|
||||||
|
"domain": "thenationalpulse.com"
|
||||||
|
},
|
||||||
|
"Theqt.online": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "theqt.online",
|
||||||
|
"ld_json_url": "section.elementor-section|div.post_center_side_text"
|
||||||
|
},
|
||||||
|
"Tijorifinance.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "tijorifinance.com",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Toledoblade.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "toledoblade.com"
|
||||||
|
},
|
||||||
|
"Toolkits.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.toolkits\\.com\\/app\\/js\\/api\\.min\\.js",
|
||||||
|
"domain": "toolkits.com"
|
||||||
|
},
|
||||||
|
"Tvnewscheck.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "tvnewscheck.com",
|
||||||
|
"ld_json_url": "div.singlepage div.mp_login_form|div.post-details"
|
||||||
|
},
|
||||||
|
"Utilityweek.co.uk": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "utilityweek.co.uk",
|
||||||
|
"useragent": "googlebot"
|
||||||
|
},
|
||||||
|
"Washingtontimes.com": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.tinypass\\.com",
|
||||||
|
"domain": "washingtontimes.com"
|
||||||
|
},
|
||||||
|
"Wissenschaft.de": {
|
||||||
|
"add_ext_link": "div.plenigo-teaser|div.entry-content",
|
||||||
|
"add_ext_link_type": "google_search_tool",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "wissenschaft.de"
|
||||||
|
},
|
||||||
|
"Wuv.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"domain": "wuv.de",
|
||||||
|
"ld_google_webcache": "div.paid-article|div.font-serif"
|
||||||
|
},
|
||||||
|
"Zeitzeichen.net": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\/zeitzeichen\\.net\\/sites\\/default\\/files\\/js\\/js_.+\\.js",
|
||||||
|
"domain": "zeitzeichen.net"
|
||||||
|
},
|
||||||
|
"Zvw.de": {
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"cs_code": "[{\"cond\":\"div.paywall\", \"rm_class\":\"paywall\", \"elems\":[{\"cond\":\"div.nfy-products-teaser\", \"rm_elem\":1}]}, {\"cond\":\"div.nfy-banner\", \"rm_elem\":1}]",
|
||||||
|
"domain": "zvw.de"
|
||||||
|
}
|
||||||
|
}
|
||||||
0
lib/empty.js
Normal file
0
lib/empty.js
Normal file
3
lib/purify.min.js
vendored
Normal file
3
lib/purify.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
874
manifest.json
Normal file
874
manifest.json
Normal file
@@ -0,0 +1,874 @@
|
|||||||
|
{
|
||||||
|
"background": {
|
||||||
|
"scripts": ["sites.js", "bpc_count_daily_users.js", "background.js"]
|
||||||
|
},
|
||||||
|
"content_security_policy": "script-src 'self'; object-src 'self'",
|
||||||
|
"browser_specific_settings": {
|
||||||
|
"gecko": {
|
||||||
|
"id": "magnolia@12.34",
|
||||||
|
"update_url": "https://bitbucket.org/bpc-updates/bpc_updates/downloads/updates.json",
|
||||||
|
"strict_min_version": "86.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"browser_action": {
|
||||||
|
"default_popup": "options/popup.html",
|
||||||
|
"default_icon": {
|
||||||
|
"128": "bypass.png"
|
||||||
|
},
|
||||||
|
"theme_icons": [{
|
||||||
|
"light": "bypass-dark.png",
|
||||||
|
"dark": "bypass.png",
|
||||||
|
"size": 128
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "Bypass Paywalls of news sites",
|
||||||
|
"homepage_url": "https://twitter.com/Magnolia1234B",
|
||||||
|
"icons": {
|
||||||
|
"128": "bypass.png"
|
||||||
|
},
|
||||||
|
"manifest_version": 2,
|
||||||
|
"name": "Bypass Paywalls Clean",
|
||||||
|
"short_name": "Bypass Paywall",
|
||||||
|
"options_ui": {
|
||||||
|
"browser_style": true,
|
||||||
|
"open_in_tab": true,
|
||||||
|
"page": "options/options.html"
|
||||||
|
},
|
||||||
|
"optional_permissions": [
|
||||||
|
"<all_urls>"
|
||||||
|
],
|
||||||
|
"permissions": [
|
||||||
|
"cookies",
|
||||||
|
"storage",
|
||||||
|
"activeTab",
|
||||||
|
"webRequest",
|
||||||
|
"webRequestBlocking",
|
||||||
|
"*://*.360dx.com/*",
|
||||||
|
"*://*.60millions-mag.com/*",
|
||||||
|
"*://*.aargauerzeitung.ch/*",
|
||||||
|
"*://*.abc.es/*",
|
||||||
|
"*://*.abendblatt.de/*",
|
||||||
|
"*://*.abqjournal.com/*",
|
||||||
|
"*://*.abril.com.br/*",
|
||||||
|
"*://*.ad.nl/*",
|
||||||
|
"*://*.adage.com/*",
|
||||||
|
"*://*.adelaidenow.com.au/*",
|
||||||
|
"*://*.adweek.com/*",
|
||||||
|
"*://*.aerokurier.de/*",
|
||||||
|
"*://*.aerztezeitung.de/*",
|
||||||
|
"*://*.afr.com/*",
|
||||||
|
"*://*.ajc.com/*",
|
||||||
|
"*://*.al.com/*",
|
||||||
|
"*://*.allgemeine-zeitung.de/*",
|
||||||
|
"*://*.alternatives-economiques.fr/*",
|
||||||
|
"*://*.ambito.com/*",
|
||||||
|
"*://*.americanaffairsjournal.org/*",
|
||||||
|
"*://*.americanbanker.com/*",
|
||||||
|
"*://*.americanpurpose.com/*",
|
||||||
|
"*://*.americastestkitchen.com/*",
|
||||||
|
"*://*.apollo-magazine.com/*",
|
||||||
|
"*://*.ara.cat/*",
|
||||||
|
"*://*.arabalears.cat/*",
|
||||||
|
"*://*.architecturaldigest.com/*",
|
||||||
|
"*://*.arcinfo.ch/*",
|
||||||
|
"*://*.artforum.com/*",
|
||||||
|
"*://*.artnet.com/*",
|
||||||
|
"*://*.artsenkrant.com/*",
|
||||||
|
"*://*.atavist.com/*",
|
||||||
|
"*://*.atlantico.fr/*",
|
||||||
|
"*://*.augsburger-allgemeine.de/*",
|
||||||
|
"*://*.auto-motor-und-sport.de/*",
|
||||||
|
"*://*.auto-swiat.pl/*",
|
||||||
|
"*://*.autocar.co.uk/*",
|
||||||
|
"*://*.automobilwoche.de/*",
|
||||||
|
"*://*.autonews.com/*",
|
||||||
|
"*://*.autoplus.fr/*",
|
||||||
|
"*://*.autosport.com/*",
|
||||||
|
"*://*.axios.com/*",
|
||||||
|
"*://*.azcentral.com/*",
|
||||||
|
"*://*.backpacker.com/*",
|
||||||
|
"*://*.balkaninsight.com/*",
|
||||||
|
"*://*.baltimoresun.com/*",
|
||||||
|
"*://*.barandbench.com/*",
|
||||||
|
"*://*.barrons.com/*",
|
||||||
|
"*://*.bd.nl/*",
|
||||||
|
"*://*.beleggersbelangen.nl/*",
|
||||||
|
"*://*.belfasttelegraph.co.uk/*",
|
||||||
|
"*://*.bendigoadvertiser.com.au/*",
|
||||||
|
"*://*.beobachter.ch/*",
|
||||||
|
"*://*.berliner-zeitung.de/*",
|
||||||
|
"*://*.berlingske.dk/*",
|
||||||
|
"*://*.betamtb.com/*",
|
||||||
|
"*://*.betternutrition.com/*",
|
||||||
|
"*://*.betterprogramming.pub/*",
|
||||||
|
"*://*.bicycling.com/*",
|
||||||
|
"*://*.bild.de/*",
|
||||||
|
"*://*.billboard.com/*",
|
||||||
|
"*://*.bizjournals.com/*",
|
||||||
|
"*://*.blick.ch/*",
|
||||||
|
"*://*.bloomberg.com/*",
|
||||||
|
"*://*.bloombergadria.com/*",
|
||||||
|
"*://*.bnd.com/*",
|
||||||
|
"*://*.bndestem.nl/*",
|
||||||
|
"*://*.boersen-zeitung.de/*",
|
||||||
|
"*://*.bonappetit.com/*",
|
||||||
|
"*://*.bordermail.com.au/*",
|
||||||
|
"*://*.bostonglobe.com/*",
|
||||||
|
"*://*.bostonherald.com/*",
|
||||||
|
"*://*.braunschweiger-zeitung.de/*",
|
||||||
|
"*://*.brisbanetimes.com.au/*",
|
||||||
|
"*://*.britannica.com/*",
|
||||||
|
"*://*.buffalonews.com/*",
|
||||||
|
"*://*.business-standard.com/*",
|
||||||
|
"*://*.businessam.be/*",
|
||||||
|
"*://*.businessinsider.com.pl/*",
|
||||||
|
"*://*.businessinsider.com/*",
|
||||||
|
"*://*.businessinsider.nl/*",
|
||||||
|
"*://*.businessoffashion.com/*",
|
||||||
|
"*://*.businesspost.ie/*",
|
||||||
|
"*://*.cairnspost.com.au/*",
|
||||||
|
"*://*.calgaryherald.com/*",
|
||||||
|
"*://*.cambiocolombia.com/*",
|
||||||
|
"*://*.canarias7.es/*",
|
||||||
|
"*://*.canberratimes.com.au/*",
|
||||||
|
"*://*.capital.fr/*",
|
||||||
|
"*://*.capitalgazette.com/*",
|
||||||
|
"*://*.cartacapital.com.br/*",
|
||||||
|
"*://*.causeur.fr/*",
|
||||||
|
"*://*.cen.acs.org/*",
|
||||||
|
"*://*.centralwesterndaily.com.au/*",
|
||||||
|
"*://*.centrepresseaveyron.fr/*",
|
||||||
|
"*://*.challenges.fr/*",
|
||||||
|
"*://*.charentelibre.fr/*",
|
||||||
|
"*://*.charliehebdo.fr/*",
|
||||||
|
"*://*.charlotteobserver.com/*",
|
||||||
|
"*://*.chicagobusiness.com/*",
|
||||||
|
"*://*.chicagotribune.com/*",
|
||||||
|
"*://*.chronicle.com/*",
|
||||||
|
"*://*.cicero.de/*",
|
||||||
|
"*://*.cieletespace.fr/*",
|
||||||
|
"*://*.cincinnati.com/*",
|
||||||
|
"*://*.citywire.com/*",
|
||||||
|
"*://*.clarin.com/*",
|
||||||
|
"*://*.cleaneatingmag.com/*",
|
||||||
|
"*://*.cleveland.com/*",
|
||||||
|
"*://*.clicrbs.com.br/*",
|
||||||
|
"*://*.climbing.com/*",
|
||||||
|
"*://*.cmjornal.pt/*",
|
||||||
|
"*://*.cnbc.com/*",
|
||||||
|
"*://*.cnn.com/*",
|
||||||
|
"*://*.cntraveler.com/*",
|
||||||
|
"*://*.codesports.com.au/*",
|
||||||
|
"*://*.columbian.com/*",
|
||||||
|
"*://*.commentary.org/*",
|
||||||
|
"*://*.commercialappeal.com/*",
|
||||||
|
"*://*.computerweekly.com/*",
|
||||||
|
"*://*.connaissancedesarts.com/*",
|
||||||
|
"*://*.correiodopovo.com.br/*",
|
||||||
|
"*://*.corriere.it/*",
|
||||||
|
"*://*.corriereadriatico.it/*",
|
||||||
|
"*://*.corrieredellosport.it/*",
|
||||||
|
"*://*.cosmopolitan.com/*",
|
||||||
|
"*://*.cosmopolitan.fr/*",
|
||||||
|
"*://*.countryliving.com/*",
|
||||||
|
"*://*.courant.com/*",
|
||||||
|
"*://*.courier-journal.com/*",
|
||||||
|
"*://*.couriermail.com.au/*",
|
||||||
|
"*://*.courrierinternational.com/*",
|
||||||
|
"*://*.crainscleveland.com/*",
|
||||||
|
"*://*.crainsdetroit.com/*",
|
||||||
|
"*://*.crainsgrandrapids.com/*",
|
||||||
|
"*://*.crainsnewyork.com/*",
|
||||||
|
"*://*.crikey.com.au/*",
|
||||||
|
"*://*.cronista.com/*",
|
||||||
|
"*://*.crusoe.com.br/*",
|
||||||
|
"*://*.csmonitor.com/*",
|
||||||
|
"*://*.ctpost.com/*",
|
||||||
|
"*://*.curbed.com/*",
|
||||||
|
"*://*.cw.com.tw/*",
|
||||||
|
"*://*.dagsavisen.no/*",
|
||||||
|
"*://*.dailyadvertiser.com.au/*",
|
||||||
|
"*://*.dailyliberal.com.au/*",
|
||||||
|
"*://*.dailymail.co.uk/*",
|
||||||
|
"*://*.dailypress.com/*",
|
||||||
|
"*://*.dailytelegraph.com.au/*",
|
||||||
|
"*://*.dailywire.com/*",
|
||||||
|
"*://*.dallasnews.com/*",
|
||||||
|
"*://*.defector.com/*",
|
||||||
|
"*://*.delish.com/*",
|
||||||
|
"*://*.democratandchronicle.com/*",
|
||||||
|
"*://*.demorgen.be/*",
|
||||||
|
"*://*.denverpost.com/*",
|
||||||
|
"*://*.deraktionaer.de/*",
|
||||||
|
"*://*.desmoinesregister.com/*",
|
||||||
|
"*://*.destentor.nl/*",
|
||||||
|
"*://*.detroitnews.com/*",
|
||||||
|
"*://*.df.cl/*",
|
||||||
|
"*://*.dhnet.be/*",
|
||||||
|
"*://*.di.se/*",
|
||||||
|
"*://*.diariocorreo.pe/*",
|
||||||
|
"*://*.diariodemallorca.es/*",
|
||||||
|
"*://*.diariosur.es/*",
|
||||||
|
"*://*.diariovasco.com/*",
|
||||||
|
"*://*.diepresse.com/*",
|
||||||
|
"*://*.digiday.com/*",
|
||||||
|
"*://*.digitimes.com/*",
|
||||||
|
"*://*.discovermagazine.com/*",
|
||||||
|
"*://*.dispatch.com/*",
|
||||||
|
"*://*.doorbraak.be/*",
|
||||||
|
"*://*.dvhn.nl/*",
|
||||||
|
"*://*.dwell.com/*",
|
||||||
|
"*://*.eastbaytimes.com/*",
|
||||||
|
"*://*.eastwest.eu/*",
|
||||||
|
"*://*.echo-online.de/*",
|
||||||
|
"*://*.economictimes.com/*",
|
||||||
|
"*://*.economist.com/*",
|
||||||
|
"*://*.ed.nl/*",
|
||||||
|
"*://*.editorialedomani.it/*",
|
||||||
|
"*://*.elcomercio.es/*",
|
||||||
|
"*://*.elcomercio.pe/*",
|
||||||
|
"*://*.elconfidencial.com/*",
|
||||||
|
"*://*.elcorreo.com/*",
|
||||||
|
"*://*.eldia.es/*",
|
||||||
|
"*://*.eldiario.es/*",
|
||||||
|
"*://*.eldiariomontanes.es/*",
|
||||||
|
"*://*.elespanol.com/*",
|
||||||
|
"*://*.elespectador.com/*",
|
||||||
|
"*://*.elle.com/*",
|
||||||
|
"*://*.elle.fr/*",
|
||||||
|
"*://*.elledecor.com/*",
|
||||||
|
"*://*.elmercurio.com/*",
|
||||||
|
"*://*.elmundo.es/*",
|
||||||
|
"*://*.elnortedecastilla.es/*",
|
||||||
|
"*://*.elnuevoherald.com/*",
|
||||||
|
"*://*.elobservador.com.uy/*",
|
||||||
|
"*://*.elpais.com.uy/*",
|
||||||
|
"*://*.elpais.com/*",
|
||||||
|
"*://*.elperiodico.com/*",
|
||||||
|
"*://*.eltiempo.com/*",
|
||||||
|
"*://*.eltribuno.com/*",
|
||||||
|
"*://*.em.com.br/*",
|
||||||
|
"*://*.enotes.com/*",
|
||||||
|
"*://*.epe.es/*",
|
||||||
|
"*://*.epicurious.com/*",
|
||||||
|
"*://*.epoch.org.il/*",
|
||||||
|
"*://*.espn.com/*",
|
||||||
|
"*://*.esprit.presse.fr/*",
|
||||||
|
"*://*.esquire.com/*",
|
||||||
|
"*://*.estadao.com.br/*",
|
||||||
|
"*://*.etc.se/*",
|
||||||
|
"*://*.euobserver.com/*",
|
||||||
|
"*://*.european-rubber-journal.com/*",
|
||||||
|
"*://*.europower.no/*",
|
||||||
|
"*://*.exame.com/*",
|
||||||
|
"*://*.examiner.com.au/*",
|
||||||
|
"*://*.expansion.com/*",
|
||||||
|
"*://*.expressnews.com/*",
|
||||||
|
"*://*.expresso.pt/*",
|
||||||
|
"*://*.farodevigo.es/*",
|
||||||
|
"*://*.fastcompany.com/*",
|
||||||
|
"*://*.faz.net/*",
|
||||||
|
"*://*.fd.nl/*",
|
||||||
|
"*://*.femmesdaujourdhui.be/*",
|
||||||
|
"*://*.fieldandstream.com/*",
|
||||||
|
"*://*.financialexpress.com/*",
|
||||||
|
"*://*.financialpost.com/*",
|
||||||
|
"*://*.firstthings.com/*",
|
||||||
|
"*://*.fiskeribladet.no/*",
|
||||||
|
"*://*.flair.be/*",
|
||||||
|
"*://*.flair.nl/*",
|
||||||
|
"*://*.flugrevue.de/*",
|
||||||
|
"*://*.fnlondon.com/*",
|
||||||
|
"*://*.forbes.com.au/*",
|
||||||
|
"*://*.forbes.com/*",
|
||||||
|
"*://*.forbes.pl/*",
|
||||||
|
"*://*.foreignaffairs.com/*",
|
||||||
|
"*://*.foreignpolicy.com/*",
|
||||||
|
"*://*.fortune.com/*",
|
||||||
|
"*://*.foxnews.com/*",
|
||||||
|
"*://*.freep.com/*",
|
||||||
|
"*://*.freiepresse.de/*",
|
||||||
|
"*://*.freitag.de/*",
|
||||||
|
"*://*.fresnobee.com/*",
|
||||||
|
"*://*.ft.com/*",
|
||||||
|
"*://*.ftm.eu/*",
|
||||||
|
"*://*.ftm.nl/*",
|
||||||
|
"*://*.gazetadopovo.com.br/*",
|
||||||
|
"*://*.gazzetta.it/*",
|
||||||
|
"*://*.gbnews.com/*",
|
||||||
|
"*://*.geelongadvertiser.com.au/*",
|
||||||
|
"*://*.gelderlander.nl/*",
|
||||||
|
"*://*.genomeweb.com/*",
|
||||||
|
"*://*.gestion.pe/*",
|
||||||
|
"*://*.glassdoor.com/*",
|
||||||
|
"*://*.globes.co.il/*",
|
||||||
|
"*://*.globo.com/*",
|
||||||
|
"*://*.glossy.co/*",
|
||||||
|
"*://*.goldcoastbulletin.com.au/*",
|
||||||
|
"*://*.goodhousekeeping.com/*",
|
||||||
|
"*://*.gq.com/*",
|
||||||
|
"*://*.granta.com/*",
|
||||||
|
"*://*.groene.nl/*",
|
||||||
|
"*://*.grubstreet.com/*",
|
||||||
|
"*://*.haaretz.co.il/*",
|
||||||
|
"*://*.haaretz.com/*",
|
||||||
|
"*://*.handelszeitung.ch/*",
|
||||||
|
"*://*.harpers.org/*",
|
||||||
|
"*://*.harpersbazaar.com/*",
|
||||||
|
"*://*.haz.de/*",
|
||||||
|
"*://*.hbr.org/*",
|
||||||
|
"*://*.heraldsun.com.au/*",
|
||||||
|
"*://*.hilltimes.com/*",
|
||||||
|
"*://*.hindustantimes.com/*",
|
||||||
|
"*://*.hindutamil.in/*",
|
||||||
|
"*://*.historyextra.com/*",
|
||||||
|
"*://*.hln.be/*",
|
||||||
|
"*://*.housebeautiful.com/*",
|
||||||
|
"*://*.houstonchronicle.com/*",
|
||||||
|
"*://*.hoy.es/*",
|
||||||
|
"*://*.huffingtonpost.it/*",
|
||||||
|
"*://*.humanite.fr/*",
|
||||||
|
"*://*.humo.be/*",
|
||||||
|
"*://*.ideal.es/*",
|
||||||
|
"*://*.ilfattoquotidiano.it/*",
|
||||||
|
"*://*.ilfoglio.it/*",
|
||||||
|
"*://*.ilgazzettino.it/*",
|
||||||
|
"*://*.ilgiorno.it/*",
|
||||||
|
"*://*.illawarramercury.com.au/*",
|
||||||
|
"*://*.ilmanifesto.it/*",
|
||||||
|
"*://*.ilmattino.it/*",
|
||||||
|
"*://*.ilmessaggero.it/*",
|
||||||
|
"*://*.ilrestodelcarlino.it/*",
|
||||||
|
"*://*.ilsecoloxix.it/*",
|
||||||
|
"*://*.ilsole24ore.com/*",
|
||||||
|
"*://*.iltelegrafolivorno.it/*",
|
||||||
|
"*://*.iltirreno.it/*",
|
||||||
|
"*://*.inc-aus.com/*",
|
||||||
|
"*://*.inc.com/*",
|
||||||
|
"*://*.inc42.com/*",
|
||||||
|
"*://*.independent.co.uk/*",
|
||||||
|
"*://*.independent.ie/*",
|
||||||
|
"*://*.indianexpress.com/*",
|
||||||
|
"*://*.indiatimes.com/*",
|
||||||
|
"*://*.indiatoday.in/*",
|
||||||
|
"*://*.indystar.com/*",
|
||||||
|
"*://*.inews.co.uk/*",
|
||||||
|
"*://*.informacion.es/*",
|
||||||
|
"*://*.infzm.com/*",
|
||||||
|
"*://*.inkl.com/*",
|
||||||
|
"*://*.inquirer.com/*",
|
||||||
|
"*://*.insidehighered.com/*",
|
||||||
|
"*://*.intelligentinvestor.com.au/*",
|
||||||
|
"*://*.interestingengineering.com/*",
|
||||||
|
"*://*.internazionale.it/*",
|
||||||
|
"*://*.intrafish.com/*",
|
||||||
|
"*://*.intrafish.no/*",
|
||||||
|
"*://*.investorschronicle.co.uk/*",
|
||||||
|
"*://*.investsmart.com.au/*",
|
||||||
|
"*://*.ipolitics.ca/*",
|
||||||
|
"*://*.irishexaminer.com/*",
|
||||||
|
"*://*.irishtimes.com/*",
|
||||||
|
"*://*.italian.tech/*",
|
||||||
|
"*://*.italiaoggi.it/*",
|
||||||
|
"*://*.jacksonville.com/*",
|
||||||
|
"*://*.jacobin.de/*",
|
||||||
|
"*://*.janes.com/*",
|
||||||
|
"*://*.japantimes.co.jp/*",
|
||||||
|
"*://*.jazziz.com/*",
|
||||||
|
"*://*.jazzwise.com/*",
|
||||||
|
"*://*.jgnt.co/*",
|
||||||
|
"*://*.journaldemillau.fr/*",
|
||||||
|
"*://*.journaldemontreal.com/*",
|
||||||
|
"*://*.journaldequebec.com/*",
|
||||||
|
"*://*.journaldunet.com/*",
|
||||||
|
"*://*.journalnow.com/*",
|
||||||
|
"*://*.journalstar.com/*",
|
||||||
|
"*://*.jpost.com/*",
|
||||||
|
"*://*.jsonline.com/*",
|
||||||
|
"*://*.kansas.com/*",
|
||||||
|
"*://*.kansascity.com/*",
|
||||||
|
"*://*.kentucky.com/*",
|
||||||
|
"*://*.kn-online.de/*",
|
||||||
|
"*://*.knack.be/*",
|
||||||
|
"*://*.knoxnews.com/*",
|
||||||
|
"*://*.komputerswiat.pl/*",
|
||||||
|
"*://*.krautreporter.de/*",
|
||||||
|
"*://*.ksta.de/*",
|
||||||
|
"*://*.kurier.at/*",
|
||||||
|
"*://*.kw.be/*",
|
||||||
|
"*://*.la-croix.com/*",
|
||||||
|
"*://*.labusinessjournal.com/*",
|
||||||
|
"*://*.lacote.ch/*",
|
||||||
|
"*://*.ladepeche.fr/*",
|
||||||
|
"*://*.ladiaria.com.uy/*",
|
||||||
|
"*://*.lalibre.be/*",
|
||||||
|
"*://*.lamontagne.fr/*",
|
||||||
|
"*://*.lanacion.com.ar/*",
|
||||||
|
"*://*.lanazione.it/*",
|
||||||
|
"*://*.lanouvellerepublique.fr/*",
|
||||||
|
"*://*.lanuovasardegna.it/*",
|
||||||
|
"*://*.laprovincia.es/*",
|
||||||
|
"*://*.larepubliquedespyrenees.fr/*",
|
||||||
|
"*://*.larioja.com/*",
|
||||||
|
"*://*.lasegunda.com/*",
|
||||||
|
"*://*.lasprovincias.es/*",
|
||||||
|
"*://*.lastampa.it/*",
|
||||||
|
"*://*.latercera.com/*",
|
||||||
|
"*://*.latimes.com/*",
|
||||||
|
"*://*.latribune.fr/*",
|
||||||
|
"*://*.lavanguardia.com/*",
|
||||||
|
"*://*.lavenir.net/*",
|
||||||
|
"*://*.laverdad.es/*",
|
||||||
|
"*://*.lavoz.com.ar/*",
|
||||||
|
"*://*.lavozdigital.es/*",
|
||||||
|
"*://*.law.com/*",
|
||||||
|
"*://*.lc.nl/*",
|
||||||
|
"*://*.lecho.be/*",
|
||||||
|
"*://*.lecourrierdesstrateges.fr/*",
|
||||||
|
"*://*.ledevoir.com/*",
|
||||||
|
"*://*.legrandcontinent.eu/*",
|
||||||
|
"*://*.lehighvalleylive.com/*",
|
||||||
|
"*://*.lejdd.fr/*",
|
||||||
|
"*://*.lemagit.fr/*",
|
||||||
|
"*://*.lemonde.fr/*",
|
||||||
|
"*://*.lemoniteur.fr/*",
|
||||||
|
"*://*.lenouveleconomiste.fr/*",
|
||||||
|
"*://*.lenouvelliste.ch/*",
|
||||||
|
"*://*.leparisien.fr/*",
|
||||||
|
"*://*.lepoint.fr/*",
|
||||||
|
"*://*.lescienze.it/*",
|
||||||
|
"*://*.lesechos.fr/*",
|
||||||
|
"*://*.lesinrocks.com/*",
|
||||||
|
"*://*.lesoleil.com/*",
|
||||||
|
"*://*.letelegramme.fr/*",
|
||||||
|
"*://*.levante-emv.com/*",
|
||||||
|
"*://*.levif.be/*",
|
||||||
|
"*://*.lexpress.fr/*",
|
||||||
|
"*://*.libelle.be/*",
|
||||||
|
"*://*.libelle.nl/*",
|
||||||
|
"*://*.limburger.nl/*",
|
||||||
|
"*://*.lindependant.fr/*",
|
||||||
|
"*://*.linforme.com/*",
|
||||||
|
"*://*.literaryreview.co.uk/*",
|
||||||
|
"*://*.livelaw.in/*",
|
||||||
|
"*://*.livemint.com/*",
|
||||||
|
"*://*.ln-online.de/*",
|
||||||
|
"*://*.lne.es/*",
|
||||||
|
"*://*.loebclassics.com/*",
|
||||||
|
"*://*.loeildelaphotographie.com/*",
|
||||||
|
"*://*.lopinion.fr/*",
|
||||||
|
"*://*.losandes.com.ar/*",
|
||||||
|
"*://*.lrb.co.uk/*",
|
||||||
|
"*://*.luzernerzeitung.ch/*",
|
||||||
|
"*://*.lvz.de/*",
|
||||||
|
"*://*.macrobusiness.com.au/*",
|
||||||
|
"*://*.madison.com/*",
|
||||||
|
"*://*.mainichi.jp/*",
|
||||||
|
"*://*.mallorcazeitung.es/*",
|
||||||
|
"*://*.mannheimer-morgen.de/*",
|
||||||
|
"*://*.marca.com/*",
|
||||||
|
"*://*.margriet.nl/*",
|
||||||
|
"*://*.marianne.net/*",
|
||||||
|
"*://*.marketwatch.com/*",
|
||||||
|
"*://*.masslive.com/*",
|
||||||
|
"*://*.maz-online.de/*",
|
||||||
|
"*://*.mcall.com/*",
|
||||||
|
"*://*.mcclatchydc.com/*",
|
||||||
|
"*://*.medium.com/*",
|
||||||
|
"*://*.medscape.com/*",
|
||||||
|
"*://*.menshealth.com/*",
|
||||||
|
"*://*.mercurynews.com/*",
|
||||||
|
"*://*.mexiconewsdaily.com/*",
|
||||||
|
"*://*.miamiherald.com/*",
|
||||||
|
"*://*.mid-day.com/*",
|
||||||
|
"*://*.midilibre.fr/*",
|
||||||
|
"*://*.mlive.com/*",
|
||||||
|
"*://*.moda.it/*",
|
||||||
|
"*://*.modernhealthcare.com/*",
|
||||||
|
"*://*.modernretail.co/*",
|
||||||
|
"*://*.monacomatin.mc/*",
|
||||||
|
"*://*.monocle.com/*",
|
||||||
|
"*://*.morgenpost.de/*",
|
||||||
|
"*://*.motorradonline.de/*",
|
||||||
|
"*://*.mundodeportivo.com/*",
|
||||||
|
"*://*.mv-voice.com/*",
|
||||||
|
"*://*.mz.de/*",
|
||||||
|
"*://*.nationalgeographic.com/*",
|
||||||
|
"*://*.nationalpost.com/*",
|
||||||
|
"*://*.nationalreview.com/*",
|
||||||
|
"*://*.nautil.us/*",
|
||||||
|
"*://*.ndtvprofit.com/*",
|
||||||
|
"*://*.neuepresse.de/*",
|
||||||
|
"*://*.newcastleherald.com.au/*",
|
||||||
|
"*://*.newleftreview.org/*",
|
||||||
|
"*://*.newrepublic.com/*",
|
||||||
|
"*://*.news-press.com/*",
|
||||||
|
"*://*.newscientist.com/*",
|
||||||
|
"*://*.newsday.com/*",
|
||||||
|
"*://*.newslaundry.com/*",
|
||||||
|
"*://*.newsobserver.com/*",
|
||||||
|
"*://*.newstatesman.com/*",
|
||||||
|
"*://*.newsweek.com/*",
|
||||||
|
"*://*.newsweek.pl/*",
|
||||||
|
"*://*.newyorker.com/*",
|
||||||
|
"*://*.nhregister.com/*",
|
||||||
|
"*://*.niagarafallsreview.ca/*",
|
||||||
|
"*://*.nicematin.com/*",
|
||||||
|
"*://*.nieuwsblad.be/*",
|
||||||
|
"*://*.nikkei.com/*",
|
||||||
|
"*://*.nj.com/*",
|
||||||
|
"*://*.nola.com/*",
|
||||||
|
"*://*.northerndailyleader.com.au/*",
|
||||||
|
"*://*.northjersey.com/*",
|
||||||
|
"*://*.nouvelobs.com/*",
|
||||||
|
"*://*.noz.de/*",
|
||||||
|
"*://*.nrc.nl/*",
|
||||||
|
"*://*.nrpyrenees.fr/*",
|
||||||
|
"*://*.nrz.de/*",
|
||||||
|
"*://*.ntnews.com.au/*",
|
||||||
|
"*://*.nw.de/*",
|
||||||
|
"*://*.nwitimes.com/*",
|
||||||
|
"*://*.nwzonline.de/*",
|
||||||
|
"*://*.nybooks.com/*",
|
||||||
|
"*://*.nydailynews.com/*",
|
||||||
|
"*://*.nymag.com/*",
|
||||||
|
"*://*.nypost.com/*",
|
||||||
|
"*://*.nysun.com/*",
|
||||||
|
"*://*.nyteknik.se/*",
|
||||||
|
"*://*.nytimes.com/*",
|
||||||
|
"*://*.nzherald.co.nz/*",
|
||||||
|
"*://*.nzz.ch/*",
|
||||||
|
"*://*.observador.pt/*",
|
||||||
|
"*://*.ocbj.com/*",
|
||||||
|
"*://*.ocregister.com/*",
|
||||||
|
"*://*.oklahoman.com/*",
|
||||||
|
"*://*.omaha.com/*",
|
||||||
|
"*://*.onet.pl/*",
|
||||||
|
"*://*.oprahdaily.com/*",
|
||||||
|
"*://*.oregonlive.com/*",
|
||||||
|
"*://*.orlandosentinel.com/*",
|
||||||
|
"*://*.ostsee-zeitung.de/*",
|
||||||
|
"*://*.otz.de/*",
|
||||||
|
"*://*.outdoorlife.com/*",
|
||||||
|
"*://*.outlookbusiness.com/*",
|
||||||
|
"*://*.outlookindia.com/*",
|
||||||
|
"*://*.outsideonline.com/*",
|
||||||
|
"*://*.ovb-online.de/*",
|
||||||
|
"*://*.oxygenmag.com/*",
|
||||||
|
"*://*.paloaltoonline.com/*",
|
||||||
|
"*://*.parismatch.com/*",
|
||||||
|
"*://*.parool.nl/*",
|
||||||
|
"*://*.penews.com/*",
|
||||||
|
"*://*.pennlive.com/*",
|
||||||
|
"*://*.petitbleu.fr/*",
|
||||||
|
"*://*.philanthropy.com/*",
|
||||||
|
"*://*.philomag.com/*",
|
||||||
|
"*://*.philomag.de/*",
|
||||||
|
"*://*.philosophynow.org/*",
|
||||||
|
"*://*.pilotonline.com/*",
|
||||||
|
"*://*.pionline.com/*",
|
||||||
|
"*://*.piqd.de/*",
|
||||||
|
"*://*.plasticsnews.com/*",
|
||||||
|
"*://*.politicaexterior.com/*",
|
||||||
|
"*://*.polityka.pl/*",
|
||||||
|
"*://*.popsci.com/*",
|
||||||
|
"*://*.popularmechanics.com/*",
|
||||||
|
"*://*.post-gazette.com/*",
|
||||||
|
"*://*.pourlascience.fr/*",
|
||||||
|
"*://*.pourleco.com/*",
|
||||||
|
"*://*.precisionmedicineonline.com/*",
|
||||||
|
"*://*.pressenterprise.com/*",
|
||||||
|
"*://*.prevention.com/*",
|
||||||
|
"*://*.profi.de/*",
|
||||||
|
"*://*.profil.at/*",
|
||||||
|
"*://*.project-syndicate.org/*",
|
||||||
|
"*://*.prospectmagazine.co.uk/*",
|
||||||
|
"*://*.public.fr/*",
|
||||||
|
"*://*.pzc.nl/*",
|
||||||
|
"*://*.quora.com/*",
|
||||||
|
"*://*.quotidiano.net/*",
|
||||||
|
"*://*.quotidianodipuglia.it/*",
|
||||||
|
"*://*.qz.com/*",
|
||||||
|
"*://*.rechargenews.com/*",
|
||||||
|
"*://*.record.pt/*",
|
||||||
|
"*://*.repubblica.it/*",
|
||||||
|
"*://*.reuters.com/*",
|
||||||
|
"*://*.revistaoeste.com/*",
|
||||||
|
"*://*.revueconflits.com/*",
|
||||||
|
"*://*.rhein-zeitung.de/*",
|
||||||
|
"*://*.richmond.com/*",
|
||||||
|
"*://*.rnd.de/*",
|
||||||
|
"*://*.roadandtrack.com/*",
|
||||||
|
"*://*.rollingstone.com/*",
|
||||||
|
"*://*.rp.pl/*",
|
||||||
|
"*://*.rubbernews.com/*",
|
||||||
|
"*://*.rugbypass.com/*",
|
||||||
|
"*://*.rugbyrama.fr/*",
|
||||||
|
"*://*.ruhrnachrichten.de/*",
|
||||||
|
"*://*.rundschau-online.de/*",
|
||||||
|
"*://*.runnersworld.com/*",
|
||||||
|
"*://*.sabado.pt/*",
|
||||||
|
"*://*.sacbee.com/*",
|
||||||
|
"*://*.saltwire.com/*",
|
||||||
|
"*://*.sandiegouniontribune.com/*",
|
||||||
|
"*://*.schwaebische.de/*",
|
||||||
|
"*://*.schwarzwaelder-bote.de/*",
|
||||||
|
"*://*.schweizermonat.ch/*",
|
||||||
|
"*://*.science-et-vie.com/*",
|
||||||
|
"*://*.science.org/*",
|
||||||
|
"*://*.sciencesetavenir.fr/*",
|
||||||
|
"*://*.scientificamerican.com/*",
|
||||||
|
"*://*.scmp.com/*",
|
||||||
|
"*://*.scotsman.com/*",
|
||||||
|
"*://*.sdbj.com/*",
|
||||||
|
"*://*.seattletimes.com/*",
|
||||||
|
"*://*.seekingalpha.com/*",
|
||||||
|
"*://*.sfchronicle.com/*",
|
||||||
|
"*://*.sfvbj.com/*",
|
||||||
|
"*://*.shz.de/*",
|
||||||
|
"*://*.si.com/*",
|
||||||
|
"*://*.silive.com/*",
|
||||||
|
"*://*.skimag.com/*",
|
||||||
|
"*://*.slate.com/*",
|
||||||
|
"*://*.slideshare.net/*",
|
||||||
|
"*://*.sloanreview.mit.edu/*",
|
||||||
|
"*://*.sltrib.com/*",
|
||||||
|
"*://*.smartcompany.com.au/*",
|
||||||
|
"*://*.smh.com.au/*",
|
||||||
|
"*://*.sn.at/*",
|
||||||
|
"*://*.sofrep.com/*",
|
||||||
|
"*://*.sourcingjournal.com/*",
|
||||||
|
"*://*.spectator.co.uk/*",
|
||||||
|
"*://*.spectator.com.au/*",
|
||||||
|
"*://*.spektrum.de/*",
|
||||||
|
"*://*.spglobal.com/*",
|
||||||
|
"*://*.spiegel.de/*",
|
||||||
|
"*://*.sportico.com/*",
|
||||||
|
"*://*.springermedizin.de/*",
|
||||||
|
"*://*.standaard.be/*",
|
||||||
|
"*://*.standard.co.uk/*",
|
||||||
|
"*://*.standard.net.au/*",
|
||||||
|
"*://*.star-telegram.com/*",
|
||||||
|
"*://*.staradvertiser.com/*",
|
||||||
|
"*://*.startribune.com/*",
|
||||||
|
"*://*.statesman.com/*",
|
||||||
|
"*://*.statista.com/*",
|
||||||
|
"*://*.stcatharinesstandard.ca/*",
|
||||||
|
"*://*.stereogum.com/*",
|
||||||
|
"*://*.stltoday.com/*",
|
||||||
|
"*://*.stocknews.com/*",
|
||||||
|
"*://*.straitstimes.com/*",
|
||||||
|
"*://*.stratfor.com/*",
|
||||||
|
"*://*.studocu.com/*",
|
||||||
|
"*://*.study.com/*",
|
||||||
|
"*://*.stuttgarter-nachrichten.de/*",
|
||||||
|
"*://*.stuttgarter-zeitung.de/*",
|
||||||
|
"*://*.stylist.co.uk/*",
|
||||||
|
"*://*.sudouest.fr/*",
|
||||||
|
"*://*.sueddeutsche.de/*",
|
||||||
|
"*://*.suedkurier.de/*",
|
||||||
|
"*://*.sun-sentinel.com/*",
|
||||||
|
"*://*.suomensotilas.fi/*",
|
||||||
|
"*://*.sustainableplastics.com/*",
|
||||||
|
"*://*.svz.de/*",
|
||||||
|
"*://*.swarajyamag.com/*",
|
||||||
|
"*://*.syracuse.com/*",
|
||||||
|
"*://*.tagblatt.ch/*",
|
||||||
|
"*://*.tagesspiegel.de/*",
|
||||||
|
"*://*.tampabay.com/*",
|
||||||
|
"*://*.techinasia.com/*",
|
||||||
|
"*://*.technologyreview.com/*",
|
||||||
|
"*://*.techtarget.com/*",
|
||||||
|
"*://*.telegraaf.nl/*",
|
||||||
|
"*://*.telegraph.co.uk/*",
|
||||||
|
"*://*.telerama.fr/*",
|
||||||
|
"*://*.tennessean.com/*",
|
||||||
|
"*://*.tes.com/*",
|
||||||
|
"*://*.texasmonthly.com/*",
|
||||||
|
"*://*.the-american-interest.com/*",
|
||||||
|
"*://*.the-scientist.com/*",
|
||||||
|
"*://*.the-tls.co.uk/*",
|
||||||
|
"*://*.theadvocate.com.au/*",
|
||||||
|
"*://*.theadvocate.com/*",
|
||||||
|
"*://*.theage.com.au/*",
|
||||||
|
"*://*.theamericanconservative.com/*",
|
||||||
|
"*://*.theartnewspaper.com/*",
|
||||||
|
"*://*.theathletic.com/*",
|
||||||
|
"*://*.theatlantic.com/*",
|
||||||
|
"*://*.theaustralian.com.au/*",
|
||||||
|
"*://*.thebaffler.com/*",
|
||||||
|
"*://*.thebookseller.com/*",
|
||||||
|
"*://*.thebulletin.org/*",
|
||||||
|
"*://*.thechronicle.com.au/*",
|
||||||
|
"*://*.thecourier.com.au/*",
|
||||||
|
"*://*.thecritic.co.uk/*",
|
||||||
|
"*://*.thecut.com/*",
|
||||||
|
"*://*.thedailybeast.com/*",
|
||||||
|
"*://*.thediplomat.com/*",
|
||||||
|
"*://*.theepochtimes.com/*",
|
||||||
|
"*://*.theglobeandmail.com/*",
|
||||||
|
"*://*.thehill.com/*",
|
||||||
|
"*://*.thehindu.com/*",
|
||||||
|
"*://*.thehindubusinessline.com/*",
|
||||||
|
"*://*.theimpression.com/*",
|
||||||
|
"*://*.theintercept.com/*",
|
||||||
|
"*://*.thejuggernaut.com/*",
|
||||||
|
"*://*.thelampmagazine.com/*",
|
||||||
|
"*://*.thelawyersdaily.ca/*",
|
||||||
|
"*://*.themandarin.com.au/*",
|
||||||
|
"*://*.themarker.com/*",
|
||||||
|
"*://*.themarket.ch/*",
|
||||||
|
"*://*.themercury.com.au/*",
|
||||||
|
"*://*.thenation.com/*",
|
||||||
|
"*://*.thenewatlantis.com/*",
|
||||||
|
"*://*.theneweuropean.co.uk/*",
|
||||||
|
"*://*.thenewsminute.com/*",
|
||||||
|
"*://*.thepeterboroughexaminer.com/*",
|
||||||
|
"*://*.thepointmag.com/*",
|
||||||
|
"*://*.theprovince.com/*",
|
||||||
|
"*://*.thequint.com/*",
|
||||||
|
"*://*.therecord.com/*",
|
||||||
|
"*://*.thesaturdaypaper.com.au/*",
|
||||||
|
"*://*.thespec.com/*",
|
||||||
|
"*://*.thespectator.com/*",
|
||||||
|
"*://*.thestage.co.uk/*",
|
||||||
|
"*://*.thestar.com/*",
|
||||||
|
"*://*.thestate.com/*",
|
||||||
|
"*://*.thetimes.co.uk/*",
|
||||||
|
"*://*.theverge.com/*",
|
||||||
|
"*://*.theweek.com/*",
|
||||||
|
"*://*.thewest.com.au/*",
|
||||||
|
"*://*.thewrap.com/*",
|
||||||
|
"*://*.thueringer-allgemeine.de/*",
|
||||||
|
"*://*.tijd.be/*",
|
||||||
|
"*://*.timeshighereducation.com/*",
|
||||||
|
"*://*.timesofindia.com/*",
|
||||||
|
"*://*.timesunion.com/*",
|
||||||
|
"*://*.tirebusiness.com/*",
|
||||||
|
"*://*.tlz.de/*",
|
||||||
|
"*://*.topagrar.com/*",
|
||||||
|
"*://*.torontosun.com/*",
|
||||||
|
"*://*.towardsdatascience.com/*",
|
||||||
|
"*://*.townandcountrymag.com/*",
|
||||||
|
"*://*.townsvillebulletin.com.au/*",
|
||||||
|
"*://*.tradewindsnews.com/*",
|
||||||
|
"*://*.trailrunnermag.com/*",
|
||||||
|
"*://*.tri-cityherald.com/*",
|
||||||
|
"*://*.triathlete.com/*",
|
||||||
|
"*://*.trouw.nl/*",
|
||||||
|
"*://*.tt.com/*",
|
||||||
|
"*://*.tubantia.nl/*",
|
||||||
|
"*://*.tucson.com/*",
|
||||||
|
"*://*.tulsaworld.com/*",
|
||||||
|
"*://*.tuttosport.com/*",
|
||||||
|
"*://*.twincities.com/*",
|
||||||
|
"*://*.unherd.com/*",
|
||||||
|
"*://*.uol.com.br/*",
|
||||||
|
"*://*.upstreamonline.com/*",
|
||||||
|
"*://*.usatoday.com/*",
|
||||||
|
"*://*.usinenouvelle.com/*",
|
||||||
|
"*://*.utech-polyurethane.com/*",
|
||||||
|
"*://*.valeursactuelles.com/*",
|
||||||
|
"*://*.vancouversun.com/*",
|
||||||
|
"*://*.vanityfair.com/*",
|
||||||
|
"*://*.variety.com/*",
|
||||||
|
"*://*.varmatin.com/*",
|
||||||
|
"*://*.vegetariantimes.com/*",
|
||||||
|
"*://*.vikatan.com/*",
|
||||||
|
"*://*.vn.at/*",
|
||||||
|
"*://*.vn.nl/*",
|
||||||
|
"*://*.vogue.co.uk/*",
|
||||||
|
"*://*.vogue.com/*",
|
||||||
|
"*://*.voguebusiness.com/*",
|
||||||
|
"*://*.vol.at/*",
|
||||||
|
"*://*.volkskrant.nl/*",
|
||||||
|
"*://*.volksstimme.de/*",
|
||||||
|
"*://*.vulture.com/*",
|
||||||
|
"*://*.washingtonexaminer.com/*",
|
||||||
|
"*://*.washingtonpost.com/*",
|
||||||
|
"*://*.watoday.com.au/*",
|
||||||
|
"*://*.waz.de/*",
|
||||||
|
"*://*.weeklytimesnow.com.au/*",
|
||||||
|
"*://*.wellandtribune.ca/*",
|
||||||
|
"*://*.welt.de/*",
|
||||||
|
"*://*.weltkunst.de/*",
|
||||||
|
"*://*.weser-kurier.de/*",
|
||||||
|
"*://*.westernadvocate.com.au/*",
|
||||||
|
"*://*.wiesbadener-kurier.de/*",
|
||||||
|
"*://*.winnipegfreepress.com/*",
|
||||||
|
"*://*.wired.com/*",
|
||||||
|
"*://*.wiwo.de/*",
|
||||||
|
"*://*.wochenblatt.com/*",
|
||||||
|
"*://*.womenshealth.de/*",
|
||||||
|
"*://*.womenshealthmag.com/*",
|
||||||
|
"*://*.womensrunning.com/*",
|
||||||
|
"*://*.wonderzine.com/*",
|
||||||
|
"*://*.wp.de/*",
|
||||||
|
"*://*.wr.de/*",
|
||||||
|
"*://*.wsj.com/*",
|
||||||
|
"*://*.wwd.com/*",
|
||||||
|
"*://*.ynet.co.il/*",
|
||||||
|
"*://*.yogajournal.com/*",
|
||||||
|
"*://*.yorkshirepost.co.uk/*",
|
||||||
|
"*://*.zeit.de/*",
|
||||||
|
"*://*.zerohedge.com/*",
|
||||||
|
"*://*.amplitude.com/*",
|
||||||
|
"*://*.ampproject.org/*",
|
||||||
|
"*://*.axate.io/*",
|
||||||
|
"*://*.blueconic.net/*",
|
||||||
|
"*://*.cxense.com/*",
|
||||||
|
"*://*.ensighten.com/*",
|
||||||
|
"*://*.evolok.net/*",
|
||||||
|
"*://*.fewcents.co/*",
|
||||||
|
"*://*.ippen.space/*",
|
||||||
|
"*://*.loader-cdn.azureedge.net/*",
|
||||||
|
"*://*.matheranalytics.com/*",
|
||||||
|
"*://*.newsmemory.com/*",
|
||||||
|
"*://*.omeda.com/*",
|
||||||
|
"*://*.onecount.net/*",
|
||||||
|
"*://*.pelcro.com/*",
|
||||||
|
"*://*.piano.io/*",
|
||||||
|
"*://*.pico.tools/*",
|
||||||
|
"*://*.poool.fr/*",
|
||||||
|
"*://*.qiota.com/*",
|
||||||
|
"*://*.sophi.io/*",
|
||||||
|
"*://*.steadyhq.com/*",
|
||||||
|
"*://*.tinypass.com/*",
|
||||||
|
"*://*.weborama.fr/*",
|
||||||
|
"*://*.zephr.com/*",
|
||||||
|
"*://*.amazonaws.com/*",
|
||||||
|
"*://*.bitbucket.org/*",
|
||||||
|
"*://*.blink.net/*",
|
||||||
|
"*://*.bwbx.io/*",
|
||||||
|
"*://*.californiatimes.com/*",
|
||||||
|
"*://*.cedscdn.it/*",
|
||||||
|
"*://*.cedsdigital.it/*",
|
||||||
|
"*://*.cloudfront.net/*",
|
||||||
|
"*://*.corriereobjects.it/*",
|
||||||
|
"*://*.emol.cl/*",
|
||||||
|
"*://*.epochbase.com/*",
|
||||||
|
"*://*.epochbase.eu/*",
|
||||||
|
"*://*.flip-pay.com/*",
|
||||||
|
"*://*.go.com/*",
|
||||||
|
"*://*.hadrianpaywall.com/*",
|
||||||
|
"*://*.kinja-static.com/*",
|
||||||
|
"*://*.masthead.me/*",
|
||||||
|
"*://*.medscapestatic.com/*",
|
||||||
|
"*://*.ndcmediagroep.nl/*",
|
||||||
|
"*://*.nhst.tech/*",
|
||||||
|
"*://*.nyt.com/*",
|
||||||
|
"*://*.pasedigital.cl/*",
|
||||||
|
"*://*.wbmdstatic.com/*",
|
||||||
|
"*://*.wgchrrammzv.com/*",
|
||||||
|
"*://*.wyleex.com/*",
|
||||||
|
"*://archive.fo/*",
|
||||||
|
"*://archive.is/*",
|
||||||
|
"*://archive.li/*",
|
||||||
|
"*://archive.md/*",
|
||||||
|
"*://archive.ph/*",
|
||||||
|
"*://archive.vn/*",
|
||||||
|
"*://webcache.googleusercontent.com/*"
|
||||||
|
],
|
||||||
|
"version": "3.6.4.5"
|
||||||
|
}
|
||||||
48
options/clearCookies.js
Normal file
48
options/clearCookies.js
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
|
||||||
|
try {
|
||||||
|
window.localStorage.clear();
|
||||||
|
sessionStorage.clear();
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
var cookie_domain = getCookieDomain(document.domain);
|
||||||
|
|
||||||
|
// send domain to background.js (to clear cookies)
|
||||||
|
ext_api.runtime.sendMessage({
|
||||||
|
request: 'clear_cookies_domain',
|
||||||
|
data: {
|
||||||
|
domain: cookie_domain
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function getCookieDomain(hostname) {
|
||||||
|
let domain = hostname;
|
||||||
|
let n = 0;
|
||||||
|
let parts = hostname.split('.');
|
||||||
|
let str = '_gd' + (new Date()).getTime();
|
||||||
|
try {
|
||||||
|
while (n < (parts.length - 1) && document.cookie.indexOf(str + '=' + str) == -1) {
|
||||||
|
domain = parts.slice(-1 - (++n)).join('.');
|
||||||
|
document.cookie = str + "=" + str + ";domain=" + domain + ";";
|
||||||
|
}
|
||||||
|
document.cookie = str + "=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=" + domain + ";";
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
return domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
var msg = "Cookies (and local storage) removed from " + cookie_domain;
|
||||||
|
showMessage(msg, 2000);
|
||||||
|
|
||||||
|
function showMessage(msg, duration) {
|
||||||
|
var el = document.createElement("div");
|
||||||
|
el.setAttribute("style", "position:fixed;top:40%;left:40%;z-index:99;padding:4px;font-family: Arial, sans-serif;font-size:18px;color:white;background-color:blue;");
|
||||||
|
el.innerText = msg;
|
||||||
|
setTimeout(function () {
|
||||||
|
el.parentNode.removeChild(el);
|
||||||
|
}, duration);
|
||||||
|
(document.body || document.head || document.documentElement).appendChild(el);
|
||||||
|
}
|
||||||
7
options/optin/opt-in.css
Normal file
7
options/optin/opt-in.css
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
html, body {
|
||||||
|
padding-left: 0.5em;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
margin: 0.2em 0.2em 0.5em 0;
|
||||||
|
}
|
||||||
64
options/optin/opt-in.html
Normal file
64
options/optin/opt-in.html
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Bypass Paywalls Clean (setCookie, custom sites & check update opt-in)</title>
|
||||||
|
<link rel="stylesheet" href="../options_all.css"/>
|
||||||
|
<link rel="stylesheet" href="opt-in.css"/>
|
||||||
|
<script src="opt-in.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<p><strong>Bypass Paywalls Clean<br> - setCookie, custom sites & check update opt-in</strong></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="opt-in-prompt">
|
||||||
|
<p><strong>setCookie opt-in</strong></p>
|
||||||
|
<p>For some sites a necessary cookie has to be set (this cookie doesn't contain any personal information about the user or device):<br><br>
|
||||||
|
None</p>
|
||||||
|
<p>setCookie opt-in enabled: <span id="opt-in-enabled"></span></p>
|
||||||
|
<div id="optin-container">
|
||||||
|
<button id="optin-enable">Enable</button>
|
||||||
|
<button id="optin-disable">Disable</button>
|
||||||
|
</div>
|
||||||
|
<div id="custom-prompt">
|
||||||
|
<p><strong>custom sites opt-in</strong></p>
|
||||||
|
<p>If you want to enable custom sites and also have the option to remove cookies/block general paywall-scripts of 'unlisted' sites:</br>
|
||||||
|
<p>custom sites enabled: <span id="custom-enabled"></span></p>
|
||||||
|
<div id="custom-container">
|
||||||
|
<button id="custom-enable">Enable</button>
|
||||||
|
<button id="custom-disable">Disable</button>
|
||||||
|
</div>
|
||||||
|
<p>You can also just request permissions for the <a href="../options_custom.html">custom sites</a> you added yourself.</p>
|
||||||
|
</div>
|
||||||
|
<div id="update-prompt">
|
||||||
|
<p><strong>check update opt-in</strong></p>
|
||||||
|
<p>Check for update of version (on startup and when opening options):</br>
|
||||||
|
<p>check update enabled: <span id="update-enabled"></span></p>
|
||||||
|
<div id="update-container">
|
||||||
|
<button id="update-enable">Enable</button>
|
||||||
|
<button id="update-disable">Disable</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="counter-prompt">
|
||||||
|
<p><strong>daily users counter opt-in</strong></p>
|
||||||
|
<p>Very basic daily users counter (by counting the download of an empty json-file (no personal information is shared)):</br>
|
||||||
|
<p>daily users counter enabled: <span id="counter-enabled"></span></p>
|
||||||
|
<div id="custom-container">
|
||||||
|
<button id="counter-enable">Enable</button>
|
||||||
|
<button id="counter-disable">Disable</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
<div style='float:left;padding-bottom:50px'>
|
||||||
|
<small><button><a href="../options.html" style="text-decoration:none;color:inherit">Options</a></button></small>
|
||||||
|
<small><button><a href="../options_custom.html" style="text-decoration:none;color:inherit">Custom sites</a></button></small>
|
||||||
|
<small><button id="button-close">Close</button></small>
|
||||||
|
</div>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
125
options/optin/opt-in.js
Normal file
125
options/optin/opt-in.js
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
var url_loc = (typeof browser === 'object') ? 'firefox' : 'chrome';
|
||||||
|
var manifestData = ext_api.runtime.getManifest();
|
||||||
|
var navigator_ua = navigator.userAgent;
|
||||||
|
var navigator_ua_mobile = navigator_ua.toLowerCase().includes('mobile');
|
||||||
|
var yandex_browser = navigator_ua_mobile && (url_loc === 'chrome') && navigator_ua.toLowerCase().includes('yabrowser');
|
||||||
|
var custom_switch = ((manifestData.optional_permissions && manifestData.optional_permissions.length) || (manifestData.optional_host_permissions && manifestData.optional_host_permissions.length)) && !(navigator_ua_mobile && (url_loc === 'chrome') && !yandex_browser);
|
||||||
|
|
||||||
|
window.addEventListener("load", function () {
|
||||||
|
document.getElementById("button-close").addEventListener("click", function () {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"optInShown": true,
|
||||||
|
"customShown": true
|
||||||
|
});
|
||||||
|
window.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
var opt_in_enabled = document.getElementById('opt-in-enabled');
|
||||||
|
ext_api.storage.local.get("optIn", function (result) {
|
||||||
|
opt_in_enabled.innerText = result.optIn ? 'YES' : 'NO';
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("optin-enable").addEventListener("click", function () {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"optIn": true,
|
||||||
|
"optInShown": true
|
||||||
|
});
|
||||||
|
opt_in_enabled.innerText = 'YES';
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("optin-disable").addEventListener("click", function () {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"optIn": false,
|
||||||
|
"optInShown": true
|
||||||
|
});
|
||||||
|
opt_in_enabled.innerText = 'NO';
|
||||||
|
});
|
||||||
|
|
||||||
|
var custom_enabled = document.getElementById('custom-enabled');
|
||||||
|
ext_api.permissions.contains({
|
||||||
|
origins: ["*://*/*"]
|
||||||
|
}, function (result) {
|
||||||
|
if (result) {
|
||||||
|
custom_enabled.innerText = 'YES';
|
||||||
|
} else {
|
||||||
|
custom_enabled.innerText = 'NO';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (custom_switch) {
|
||||||
|
|
||||||
|
document.querySelector('#custom-enable').addEventListener('click', function (event) {
|
||||||
|
ext_api.permissions.request({
|
||||||
|
origins: ["*://*/*"]
|
||||||
|
}, function (granted) {
|
||||||
|
if (granted) {
|
||||||
|
custom_enabled.innerText = 'YES';
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"customOptIn": true
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
custom_enabled.innerText = 'NO';
|
||||||
|
}
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"customShown": true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
document.querySelector('#custom-disable').addEventListener('click', function (event) {
|
||||||
|
ext_api.permissions.remove({
|
||||||
|
origins: ["*://*/*", "<all_urls>"]
|
||||||
|
}, function (removed) {
|
||||||
|
if (removed) {
|
||||||
|
custom_enabled.innerText = 'NO';
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"customOptIn": false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"customShown": true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}// custom_switch
|
||||||
|
|
||||||
|
var update_enabled = document.getElementById('update-enabled');
|
||||||
|
ext_api.storage.local.get({optInUpdate: true}, function (result) {
|
||||||
|
update_enabled.innerText = result.optInUpdate ? 'YES' : 'NO';
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("update-enable").addEventListener("click", function () {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"optInUpdate": true
|
||||||
|
});
|
||||||
|
update_enabled.innerText = 'YES';
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("update-disable").addEventListener("click", function () {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"optInUpdate": false
|
||||||
|
});
|
||||||
|
update_enabled.innerText = 'NO';
|
||||||
|
});
|
||||||
|
|
||||||
|
var counter_enabled = document.getElementById('counter-enabled');
|
||||||
|
ext_api.storage.local.get({counter: true}, function (result) {
|
||||||
|
counter_enabled.innerText = result.counter ? 'YES' : 'NO';
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("counter-enable").addEventListener("click", function () {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"counter": true
|
||||||
|
});
|
||||||
|
counter_enabled.innerText = 'YES';
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("counter-disable").addEventListener("click", function () {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
"counter": false
|
||||||
|
});
|
||||||
|
counter_enabled.innerText = 'NO';
|
||||||
|
});
|
||||||
|
});
|
||||||
50
options/options.html
Normal file
50
options/options.html
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Bypass Paywalls Clean Options</title>
|
||||||
|
<link rel="stylesheet" href="options_all.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1 id="top">Options | <small><span id="version"></span><br><span id="version_new"></span></small></h1>
|
||||||
|
<br><a href="/changelog.txt" target="_blank">Changelog</a>
|
||||||
|
<div style="width:90%;">
|
||||||
|
<br>Some selected sites will have their cookies cleared; uncheck the sites (or add to excluded sites) for which you have an account.<br>
|
||||||
|
If you also want to block general paywall-scripts for unlisted sites you have to opt-in to custom sites (host permission for access to all sites is needed).
|
||||||
|
<!-- To view some sites (check list) a necessary cookie has to be set (enable this in opt-in). -->
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div style='float:left'>
|
||||||
|
<small><button id="save_top">Save</button></small>
|
||||||
|
<small><button><a href="options_custom.html" style="text-decoration:none;color:inherit">Custom sites</a></button></small>
|
||||||
|
<small><button><a href="optin/opt-in.html" style="text-decoration:none;color:inherit">Opt-in</a></button></small>
|
||||||
|
<small><button id="check_sites_updated">Check updated sites</button></small>
|
||||||
|
<small><button id="clear_sites_updated">Clear updated sites</button></small>
|
||||||
|
<small><button><a href="options_excluded.html" style="text-decoration:none;color:inherit">Excluded sites</a></button></small>
|
||||||
|
<small><button><a href="#save" style="text-decoration:none;color:inherit">Go to bottom</a></button></small>
|
||||||
|
<input id="search" type="text" size="30" placeholder="Search (domain)name ...">
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
<strong style="color:red;"><div id="perm-custom"></div></strong>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
<br>
|
||||||
|
<div id="status_top"></div>
|
||||||
|
<div id='bypass_sites'></div>
|
||||||
|
<br>
|
||||||
|
<div id="status"></div>
|
||||||
|
<div id="error"></div>
|
||||||
|
<span style='float:left;padding-bottom:50px'>
|
||||||
|
<button id="save">Save</button>
|
||||||
|
<button id="select-all">Select all</button>
|
||||||
|
<button id="select-none">Select none</button>
|
||||||
|
<button><a href="options_custom.html" style="text-decoration:none;color:inherit">Custom sites</a></button>
|
||||||
|
<button><a href="options_excluded.html" style="text-decoration:none;color:inherit">Excluded sites</a></button>
|
||||||
|
<button><a href="#top" style="text-decoration:none;color:inherit">Go to top</a></button>
|
||||||
|
<button id="button-close">Close</button>
|
||||||
|
</span>
|
||||||
|
<script src="../sites.js"></script>
|
||||||
|
<script src="options.js"></script>
|
||||||
|
<script src="version.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
222
options/options.js
Normal file
222
options/options.js
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
|
||||||
|
// Saves options to ext_api.storage
|
||||||
|
function save_options(event) {
|
||||||
|
var inputEls = document.querySelectorAll('#bypass_sites input');
|
||||||
|
var sites = {};
|
||||||
|
|
||||||
|
var sites = Array.from(inputEls).reduce(function (memo, inputEl) {
|
||||||
|
if (inputEl.checked) {
|
||||||
|
memo[inputEl.dataset.key] = inputEl.dataset.value;
|
||||||
|
}
|
||||||
|
return memo;
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
sites: sites
|
||||||
|
}, function () {
|
||||||
|
// Update status to let user know options were saved.
|
||||||
|
if (event) {
|
||||||
|
var status_label = document.querySelectorAll('[id^="status"]');
|
||||||
|
for (let status of status_label) {
|
||||||
|
status.textContent = 'Options saved.';
|
||||||
|
setTimeout(function () {
|
||||||
|
status.textContent = '';
|
||||||
|
}, 800);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restores checkbox input states using the preferences stored in ext_api.storage.
|
||||||
|
function renderOptions() {
|
||||||
|
var labelEl;
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites: {},
|
||||||
|
sites_updated: {},
|
||||||
|
sites_custom: {},
|
||||||
|
sites_excluded: []
|
||||||
|
}, function (items) {
|
||||||
|
var sites = items.sites;
|
||||||
|
var sites_updated = filterObject(items.sites_updated, function (val, key) {
|
||||||
|
return !val.nofix
|
||||||
|
});
|
||||||
|
var sites_updated_domains_new = Object.values(sites_updated).filter(x => (x.domain && !defaultSites_domains.includes(x.domain) || x.group)).map(x => x.group ? x.group.filter(y => !defaultSites_domains.includes(y)) : x.domain).flat();
|
||||||
|
var sites_updated_perm_domains_new = Object.values(sites_updated).filter(x => x.block_host_perm_add).map(x => x.block_host_perm_add.split(',').filter(x => x).map(x => x.trim())).flat();
|
||||||
|
var sites_custom = items.sites_custom;
|
||||||
|
var sites_custom_domains_new = Object.values(sites_custom).filter(x => x.domain && !defaultSites_domains.includes(x.domain)).map(x => x.group ? x.group.split(',').map(x => x.trim()) : x.domain).flat();
|
||||||
|
var sites_custom_perm_domains_new = Object.values(sites_custom).filter(x => x.block_host_perm_add).map(x => x.block_host_perm_add.split(',').filter(x => x).map(x => x.trim())).flat();
|
||||||
|
|
||||||
|
var perm_origins = sites_custom_domains_new.concat(sites_updated_domains_new, sites_custom_perm_domains_new, sites_updated_perm_domains_new).filter(x => !x.includes('###')).map(x => '*://*.' + x + '/*');
|
||||||
|
var perm_custom = document.getElementById('perm-custom');
|
||||||
|
ext_api.permissions.contains({
|
||||||
|
origins: perm_origins
|
||||||
|
}, function (result) {
|
||||||
|
if (result) {
|
||||||
|
perm_custom.innerText = '';
|
||||||
|
} else {
|
||||||
|
perm_custom.textContent = ">> check host (domain) permissions for custom/updated sites";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var sites_excluded = items.sites_excluded;
|
||||||
|
var sitesEl = document.getElementById('bypass_sites');
|
||||||
|
var site_types = {
|
||||||
|
"updated": {
|
||||||
|
sites: sites_updated,
|
||||||
|
title: '* Updated (new) sites (opt-in to custom sites)',
|
||||||
|
default_sites: false
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
sites: defaultSites,
|
||||||
|
default_sites: true
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
sites: sites_custom,
|
||||||
|
default_sites: false
|
||||||
|
}
|
||||||
|
};
|
||||||
|
for (let site_type in site_types) {
|
||||||
|
labelEl = document.createElement('label');
|
||||||
|
labelEl.setAttribute('style', ' font-weight: bold;');
|
||||||
|
if (site_types[site_type].title)
|
||||||
|
labelEl.appendChild(document.createTextNode(site_types[site_type].title));
|
||||||
|
sitesEl.appendChild(labelEl);
|
||||||
|
let sites_arr = site_types[site_type].sites;
|
||||||
|
for (let key in sites_arr) {
|
||||||
|
let domain = sites_arr[key]['domain'];
|
||||||
|
if (!domain || (key === '###_remove_sites') || (!site_types[site_type].default_sites && (defaultSites.hasOwnProperty(key) || defaultSites_domains.includes(domain))))
|
||||||
|
continue;
|
||||||
|
labelEl = document.createElement('label');
|
||||||
|
let inputEl = document.createElement('input');
|
||||||
|
inputEl.type = 'checkbox';
|
||||||
|
inputEl.dataset.key = key;
|
||||||
|
inputEl.dataset.value = domain;
|
||||||
|
inputEl.checked = Object.keys(sites).some(title => compareKey(title, key)) && !sites_excluded.includes(domain);
|
||||||
|
if (domain !== '###') {
|
||||||
|
labelEl.appendChild(inputEl);
|
||||||
|
} else {
|
||||||
|
labelEl.appendChild(document.createElement('hr'));
|
||||||
|
labelEl.setAttribute('style', ' font-weight: bold;');
|
||||||
|
}
|
||||||
|
labelEl.appendChild(document.createTextNode(' ' + key));
|
||||||
|
sitesEl.appendChild(labelEl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// excluded
|
||||||
|
labelEl.appendChild(document.createElement('hr'));
|
||||||
|
labelEl = document.createElement('label');
|
||||||
|
labelEl.setAttribute('style', ' font-weight: bold;');
|
||||||
|
labelEl.appendChild(document.createTextNode('* Excluded Sites (domain(s) ignored when checked in list)'));
|
||||||
|
sitesEl.appendChild(labelEl);
|
||||||
|
labelEl = document.createElement('label');
|
||||||
|
labelEl.appendChild(document.createTextNode(sites_excluded.join()));
|
||||||
|
sitesEl.appendChild(labelEl);
|
||||||
|
save_options();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleSearch() {
|
||||||
|
let search = document.getElementById('search').value.toLowerCase().replace('www.', '');
|
||||||
|
let listItems = document.querySelectorAll('#bypass_sites > label');
|
||||||
|
grouped_sites = filterObject(grouped_sites, function (val, key) {
|
||||||
|
return val.length
|
||||||
|
});
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_updated: {},
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
let sites_updated_groups = filterObject(items.sites_updated, function (val, key) {
|
||||||
|
return val.group
|
||||||
|
}, function (val, key) {
|
||||||
|
return [val.domain, val.group]
|
||||||
|
});
|
||||||
|
for (let site in sites_updated_groups) {
|
||||||
|
let site_default = Object.keys(defaultSites).find(key => compareKey(key, site)) || site;
|
||||||
|
grouped_sites[site_default] = sites_updated_groups[site];
|
||||||
|
}
|
||||||
|
let sites_custom_groups = filterObject(items.sites_custom, function (val, key) {
|
||||||
|
return val.group
|
||||||
|
}, function (val, key) {
|
||||||
|
return [val.domain, val.group.split(',')]
|
||||||
|
});
|
||||||
|
for (let site in sites_custom_groups)
|
||||||
|
grouped_sites[site] = sites_custom_groups[site];
|
||||||
|
for (let item of listItems) {
|
||||||
|
let itemText = item.textContent.toLowerCase();
|
||||||
|
let itemInput = item.querySelector('input[data-value]');
|
||||||
|
let itemDomain = itemInput ? itemInput.getAttribute('data-value') : '';
|
||||||
|
let itemGroup = itemDomain ? grouped_sites[itemDomain] : '';
|
||||||
|
if (itemText.includes(search) || !itemDomain || (itemDomain && (itemDomain.match(/^(###$|#options_[^d])/) || itemDomain.includes(search) || (itemGroup && itemGroup.includes(search)))))
|
||||||
|
item.style.display = 'block';
|
||||||
|
else
|
||||||
|
item.style.display = 'none';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let selectButtons = document.querySelectorAll('#select-all, #select-none');
|
||||||
|
for (let elem of selectButtons) {
|
||||||
|
if (search == '')
|
||||||
|
elem.style.display = 'block';
|
||||||
|
else
|
||||||
|
elem.style.display = 'none';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectAll() {
|
||||||
|
var inputEls = Array.from(document.querySelectorAll('input[data-key]'));
|
||||||
|
inputEls = inputEls.filter(function (input) {
|
||||||
|
return (!input.dataset.value.match(/^#options_(disable|optin)_/));
|
||||||
|
});
|
||||||
|
inputEls.forEach(function (inputEl) {
|
||||||
|
inputEl.checked = true;
|
||||||
|
});
|
||||||
|
// Update status to let user know all sites are selected.
|
||||||
|
var status = document.getElementById('status');
|
||||||
|
status.textContent = 'All sites selected.';
|
||||||
|
setTimeout(function () {
|
||||||
|
status.textContent = '';
|
||||||
|
}, 800);
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectNone() {
|
||||||
|
var inputEls = Array.from(document.querySelectorAll('input'));
|
||||||
|
inputEls.forEach(function(inputEl) {
|
||||||
|
inputEl.checked = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeButton() {
|
||||||
|
window.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_sites_updated() {
|
||||||
|
ext_api.runtime.sendMessage({request: 'check_sites_updated'});
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
function clear_sites_updated() {
|
||||||
|
ext_api.runtime.sendMessage({request: 'clear_sites_updated'});
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
function compareKey(firstStr, secondStr) {
|
||||||
|
return firstStr.toLowerCase().replace(/\s\(.*\)/, '') === secondStr.toLowerCase().replace(/\s\(.*\)/, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterObject(obj, filterFn, mapFn = function (val, key) {
|
||||||
|
return [key, val];
|
||||||
|
}) {
|
||||||
|
return Object.fromEntries(Object.entries(obj).
|
||||||
|
filter(([key, val]) => filterFn(val, key)).map(([key, val]) => mapFn(val, key)));
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', renderOptions);
|
||||||
|
document.getElementById('save').addEventListener('click', save_options);
|
||||||
|
document.getElementById('save_top').addEventListener('click', save_options);
|
||||||
|
document.getElementById('select-all').addEventListener('click', selectAll);
|
||||||
|
document.getElementById('select-none').addEventListener('click', selectNone);
|
||||||
|
document.getElementById('button-close').addEventListener('click', closeButton);
|
||||||
|
document.getElementById('check_sites_updated').addEventListener('click', check_sites_updated);
|
||||||
|
document.getElementById('clear_sites_updated').addEventListener('click', clear_sites_updated);
|
||||||
|
document.getElementById('search').addEventListener('input', handleSearch);
|
||||||
21
options/options_all.css
Normal file
21
options/options_all.css
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#bypass_sites label, #add_site label, #excluded_sites label {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
html {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
|
body, button, a, input, select, textarea {
|
||||||
|
background-color: #313131;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
}
|
||||||
69
options/options_custom.html
Normal file
69
options/options_custom.html
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Bypass Paywalls Clean Options Custom</title>
|
||||||
|
<link rel="stylesheet" href="options_all.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h2>Custom Sites</h2>
|
||||||
|
<div style="width:90%;">
|
||||||
|
To add a new site, enter an unique title/domain (without www.).<br>
|
||||||
|
Select options below (<a href="/README.html#add-custom-site" target="_blank">see help</a>); for examples import from online.<br>
|
||||||
|
Custom sites (new) are enabled automatically in <small><button><a href="options.html" style="text-decoration:none;color:inherit">Options</a></button></small> (cookies will be blocked by default unless you enable allow_cookies).<br>
|
||||||
|
If you want to use custom sites (for unlisted sites) enable it in <small><button><a href="optin/opt-in.html" style="text-decoration:none;color:inherit">Opt-in</a></button></small>
|
||||||
|
<strong>Custom sites enabled: <span id="custom-enabled"></span></strong><br>
|
||||||
|
You can also just request host permissions for the custom sites & post-release added sites (below).<br>
|
||||||
|
If host permission is missing the icon badge will contain a 'C' (or '+C' if you can import the custom site from online; when no fix X).
|
||||||
|
<br><br>
|
||||||
|
</div>
|
||||||
|
<div id='add_site'></div>
|
||||||
|
<br>
|
||||||
|
<div id="status_add"></div>
|
||||||
|
<span style='float:left;padding-bottom:5px'>
|
||||||
|
<button id="add">Add</button>
|
||||||
|
</span>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
<div>
|
||||||
|
<h3>List of custom sites</h3>
|
||||||
|
* already in default list (double domain)
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
<div id='custom_sites'></div>
|
||||||
|
<br>
|
||||||
|
<div id="status_delete"></div>
|
||||||
|
<span style='float:left;padding-bottom:5px'>
|
||||||
|
<button id="delete">Delete</button>
|
||||||
|
<button id="edit">Edit (re-Add)</button>
|
||||||
|
<button id="delete_default">Delete<br>default (*) sites</button>
|
||||||
|
<button id="perm_request">Request<br>permissions</button>
|
||||||
|
<button id="perm_remove">Remove<br>permissions</button>
|
||||||
|
<input id="search" type="text" size="30" placeholder="Search (domain)name ..."><br><br>
|
||||||
|
permissions granted (for all in custom list + updated): <strong><span id="perm-custom"></span></strong>
|
||||||
|
</span>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
<div style="width:90%;">
|
||||||
|
<h3>Json file</h3>
|
||||||
|
You can edit/sort the text area and save (only when json-text is valid).
|
||||||
|
Clear & save to reset. You can also export/import json-text for new installations.
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div id='bypass_sites'></div>
|
||||||
|
<br>
|
||||||
|
<div id="status"></div>
|
||||||
|
<div id="error"></div>
|
||||||
|
<span style='float:left;padding-bottom:50px'>
|
||||||
|
<button id="save">Save</button>
|
||||||
|
<button id="sort">Sort</button>
|
||||||
|
<button id="export">Export</button>
|
||||||
|
<button id="import">Import file</button>
|
||||||
|
<button id="import_online">Import from online</button>
|
||||||
|
<input type="file" id="importInput" accept=".txt" style="display:none"/>
|
||||||
|
<button><a href="options.html" style="text-decoration:none;color:inherit">Options</a></button>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<script src="../sites.js"></script>
|
||||||
|
<script src="options_custom.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
554
options/options_custom.js
Normal file
554
options/options_custom.js
Normal file
@@ -0,0 +1,554 @@
|
|||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
var url_loc = (typeof browser === 'object') ? 'firefox' : 'chrome';
|
||||||
|
var manifestData = ext_api.runtime.getManifest();
|
||||||
|
var navigator_ua = navigator.userAgent;
|
||||||
|
var navigator_ua_mobile = navigator_ua.toLowerCase().includes('mobile');
|
||||||
|
var yandex_browser = navigator_ua_mobile && (url_loc === 'chrome') && navigator_ua.toLowerCase().includes('yabrowser');
|
||||||
|
var custom_switch = ((manifestData.optional_permissions && manifestData.optional_permissions.length) || (manifestData.optional_host_permissions && manifestData.optional_host_permissions.length)) && !(navigator_ua_mobile && (url_loc === 'chrome') && !yandex_browser);
|
||||||
|
|
||||||
|
var useragent_options = ['', 'googlebot', 'bingbot', 'facebookbot'];
|
||||||
|
var referer_options = ['', 'facebook', 'google', 'twitter'];
|
||||||
|
var random_ip_options = ['', 'all', 'eu'];
|
||||||
|
var add_ext_link_type_options = ['', 'archive.is', '1ft.io', 'google_webcache', 'google_search_tool'];
|
||||||
|
|
||||||
|
function capitalize(str) {
|
||||||
|
return (typeof str === 'string') ? str.charAt(0).toUpperCase() + str.slice(1) : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function sortJson(json) {
|
||||||
|
return Object.keys(json)
|
||||||
|
.sort().reduce(function (Obj, key) {
|
||||||
|
Obj[key] = json[key];
|
||||||
|
return Obj;
|
||||||
|
}, {});
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterObject(obj, filterFn, mapFn = function (val, key) {
|
||||||
|
return [key, val];
|
||||||
|
}) {
|
||||||
|
return Object.fromEntries(Object.entries(obj).
|
||||||
|
filter(([key, val]) => filterFn(val, key)).map(([key, val]) => mapFn(val, key)));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Saves options to ext_api.storage
|
||||||
|
function save_options() {
|
||||||
|
var textareaEl = document.querySelector('#bypass_sites textarea');
|
||||||
|
var sites_custom = {};
|
||||||
|
if (textareaEl.value) {
|
||||||
|
var sites_custom = JSON.parse(textareaEl.value);
|
||||||
|
sites_custom = filterObject(sites_custom, function (val, key) {
|
||||||
|
return !(val.add_ext_link && !val.add_ext_link_type)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
sites_custom: sites_custom
|
||||||
|
}, function () {
|
||||||
|
// Update status to let user know custom sites were saved.
|
||||||
|
var status = document.getElementById('status');
|
||||||
|
status.textContent = 'Custom sites saved.';
|
||||||
|
setTimeout(function () {
|
||||||
|
status.textContent = '';
|
||||||
|
location.href = 'options.html';
|
||||||
|
//window.close();
|
||||||
|
}, 800);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort json by key in textarea
|
||||||
|
function sort_options() {
|
||||||
|
var textareaEl = document.querySelector('#bypass_sites textarea');
|
||||||
|
var sites_custom = {};
|
||||||
|
if (textareaEl.value) {
|
||||||
|
var sites_custom = JSON.parse(textareaEl.value);
|
||||||
|
var sites_custom_sorted = sortJson(sites_custom);
|
||||||
|
textareaEl.value = JSON.stringify(sites_custom_sorted);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Export custom sites to file
|
||||||
|
function export_options() {
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
var result = JSON.stringify(items.sites_custom);
|
||||||
|
var a = document.createElement("a");
|
||||||
|
var file = new Blob([result], {type: "text/plain"});
|
||||||
|
a.href = window.URL.createObjectURL(file);
|
||||||
|
let date = new Date();
|
||||||
|
let dateStr = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().split("T")[0];
|
||||||
|
a.download = 'bypass_paywalls_clean_custom_' + dateStr + '.txt';
|
||||||
|
a.click();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function import_json(result) {
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
var sites_custom = items.sites_custom;
|
||||||
|
var sites_custom_new = JSON.parse(result);
|
||||||
|
var customSitesExt_remove = [];
|
||||||
|
if (sites_custom_new['###_remove_sites'] && sites_custom_new['###_remove_sites'].cs_code)
|
||||||
|
customSitesExt_remove = sites_custom_new['###_remove_sites'].cs_code.split(/,\s?/);
|
||||||
|
for (let site in sites_custom_new) {
|
||||||
|
let customSite_diff = Object.keys(sites_custom).find(key => sites_custom[key].domain === sites_custom_new[site].domain && key !== site);
|
||||||
|
if (customSite_diff)
|
||||||
|
delete sites_custom[customSite_diff];
|
||||||
|
if (sites_custom_new[site].group) {
|
||||||
|
let group = sites_custom_new[site].group;
|
||||||
|
let customSites_group = Object.keys(sites_custom).filter(key => group.split(',').includes(sites_custom[key].domain));
|
||||||
|
for (let key of customSites_group)
|
||||||
|
delete sites_custom[key];
|
||||||
|
}
|
||||||
|
sites_custom[site] = sites_custom_new[site];
|
||||||
|
}
|
||||||
|
sites_custom = filterObject(sites_custom, function (val, key) {
|
||||||
|
return !(customSitesExt_remove.includes(val.domain) || (val.add_ext_link && !val.add_ext_link_type))
|
||||||
|
});
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
sites_custom: sortJson(sites_custom)
|
||||||
|
}, function () {
|
||||||
|
// Update status to let user know custom sites were imported.
|
||||||
|
var status = document.getElementById('status');
|
||||||
|
status.textContent = 'Custom sites imported.';
|
||||||
|
setTimeout(function () {
|
||||||
|
//status.textContent = '';
|
||||||
|
importInput.value = '';
|
||||||
|
renderOptions();
|
||||||
|
}, 800);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Import custom sites from online
|
||||||
|
function import_online_options(e) {
|
||||||
|
let url = 'https://bitbucket.org/bpc-updates/bpc_updates/downloads/sites_custom.json';
|
||||||
|
try {
|
||||||
|
fetch(url)
|
||||||
|
.then(response => {
|
||||||
|
if (response.ok) {
|
||||||
|
response.text().then(result => {
|
||||||
|
import_json(result);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Import custom sites from file
|
||||||
|
function import_options(e) {
|
||||||
|
var files = e.target.files;
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onload = _imp;
|
||||||
|
reader.readAsText(files[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function _imp() {
|
||||||
|
var result = this.result;
|
||||||
|
import_json(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add custom site to ext_api.storage
|
||||||
|
function add_options() {
|
||||||
|
var inputEls = document.querySelectorAll('#add_site input, #add_site select, #add_site textarea');
|
||||||
|
var sites_custom = {};
|
||||||
|
|
||||||
|
for (let elem of inputEls) {
|
||||||
|
if (elem.dataset.key === 'title') {
|
||||||
|
var title = capitalize(elem.value);
|
||||||
|
if (!title)
|
||||||
|
break;
|
||||||
|
sites_custom[title] = {};
|
||||||
|
} else {
|
||||||
|
if (elem.dataset.value) {
|
||||||
|
if (elem.checked)
|
||||||
|
sites_custom[title][elem.dataset.key] = parseInt(elem.dataset.value);
|
||||||
|
} else if (elem.value) {
|
||||||
|
if (['block_host_perm_add', 'group'].includes(elem.dataset.key))
|
||||||
|
elem.value = elem.value.replace(/,{2,}/g, ',').replace(/(\s|www\.|,$)/g, '');
|
||||||
|
sites_custom[title][elem.dataset.key] = elem.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (title && sites_custom[title]['domain']) {
|
||||||
|
sites_custom[title]['domain'] = sites_custom[title]['domain'].replace(/(http(s)?:\/\/|\/$)/g, '').replace(/^(www|amp(html)?|m|wap)(\d)?\./, '').toLowerCase();
|
||||||
|
|
||||||
|
// add new site to local storage
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
var sites_custom_old = items.sites_custom;
|
||||||
|
|
||||||
|
for (var key in sites_custom) {
|
||||||
|
sites_custom_old[key] = sites_custom[key];
|
||||||
|
}
|
||||||
|
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
sites_custom: sites_custom_old
|
||||||
|
}, function () {
|
||||||
|
// Update status to let user know new custom site was added.
|
||||||
|
var status_add = document.getElementById('status_add');
|
||||||
|
status_add.textContent = 'Site added.';
|
||||||
|
setTimeout(function () {
|
||||||
|
//status.textContent = '';
|
||||||
|
renderOptions();
|
||||||
|
}, 800);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete custom site from ext_api.storage
|
||||||
|
function delete_options() {
|
||||||
|
var selectEl = document.querySelector('#custom_sites select');
|
||||||
|
var sites_custom = {};
|
||||||
|
var remove_key = selectEl.value;
|
||||||
|
if (!remove_key)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// delete site from local storage
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
var sites_custom_old = items.sites_custom;
|
||||||
|
delete sites_custom_old[remove_key];
|
||||||
|
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
sites_custom: sites_custom_old
|
||||||
|
}, function () {
|
||||||
|
// Update status to let user know custom site was deleted.
|
||||||
|
var status_delete = document.getElementById('status_delete');
|
||||||
|
status_delete.textContent = 'Site deleted.';
|
||||||
|
setTimeout(function () {
|
||||||
|
//status.textContent = '';
|
||||||
|
renderOptions();
|
||||||
|
}, 800);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete custom (& default) sites from ext_api.storage
|
||||||
|
function delete_default_options() {
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
sites_custom = filterObject(items.sites_custom, function (val, key) {
|
||||||
|
return !defaultSites_domains.includes(val.domain);
|
||||||
|
});
|
||||||
|
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
sites_custom: sites_custom
|
||||||
|
}, function () {
|
||||||
|
// Update status to let user know custom & default sites were deleted.
|
||||||
|
var status_delete = document.getElementById('status_delete');
|
||||||
|
status_delete.textContent = 'Default sites deleted.';
|
||||||
|
setTimeout(function () {
|
||||||
|
//status.textContent = '';
|
||||||
|
renderOptions();
|
||||||
|
}, 800);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Edit custom site (copy to add)
|
||||||
|
function edit_options() {
|
||||||
|
var selectEl = document.querySelector('#custom_sites select');
|
||||||
|
var sites_custom = {};
|
||||||
|
var title = selectEl.value;
|
||||||
|
if (!title)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// copy site to add-fields
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
sites_custom = items.sites_custom;
|
||||||
|
var edit_site = sites_custom[title];
|
||||||
|
document.querySelector('input[data-key="title"]').value = title;
|
||||||
|
document.querySelector('input[data-key="domain"]').value = edit_site.domain;
|
||||||
|
document.querySelector('textarea[data-key="group"]').value = edit_site.group || '';
|
||||||
|
document.querySelector('input[data-key="allow_cookies"]').checked = (edit_site.allow_cookies > 0);
|
||||||
|
document.querySelector('input[data-key="remove_cookies"]').checked = (edit_site.remove_cookies > 0);
|
||||||
|
document.querySelector('select[data-key="useragent"]').selectedIndex = (edit_site.googlebot > 0) ? 1 : useragent_options.indexOf(edit_site.useragent);
|
||||||
|
document.querySelector('textarea[data-key="useragent_custom"]').value = edit_site.useragent_custom || '';
|
||||||
|
document.querySelector('select[data-key="referer"]').selectedIndex = referer_options.indexOf(edit_site.referer);
|
||||||
|
document.querySelector('textarea[data-key="referer_custom"]').value = edit_site.referer_custom || '';
|
||||||
|
document.querySelector('select[data-key="random_ip"]').selectedIndex = random_ip_options.indexOf(edit_site.random_ip);
|
||||||
|
document.querySelector('input[data-key="block_js"]').checked = (edit_site.block_js > 0 || edit_site.block_javascript > 0);
|
||||||
|
document.querySelector('input[data-key="block_js_ext"]').checked = (edit_site.block_js_ext > 0 || edit_site.block_javascript_ext > 0);
|
||||||
|
document.querySelector('input[data-key="block_js_inline"]').value = edit_site.block_js_inline || '';
|
||||||
|
document.querySelector('input[data-key="block_regex"]').value = edit_site.block_regex || '';
|
||||||
|
document.querySelector('input[data-key="block_regex_ignore_default"]').checked = (edit_site.block_regex_ignore_default > 0 || edit_site.block_regex_ignore_default > 0);
|
||||||
|
document.querySelector('input[data-key="block_host_perm_add"]').value = edit_site.block_host_perm_add || '';
|
||||||
|
document.querySelector('input[data-key="amp_unhide"]').checked = (edit_site.amp_unhide > 0);
|
||||||
|
document.querySelector('input[data-key="amp_redirect"]').value = edit_site.amp_redirect || '';
|
||||||
|
document.querySelector('input[data-key="ld_json"]').value = edit_site.ld_json || '';
|
||||||
|
document.querySelector('input[data-key="ld_json_next"]').value = edit_site.ld_json_next || '';
|
||||||
|
document.querySelector('input[data-key="ld_json_url"]').value = edit_site.ld_json_url || '';
|
||||||
|
document.querySelector('input[data-key="ld_archive_is"]').value = edit_site.ld_archive_is || '';
|
||||||
|
document.querySelector('input[data-key="ld_google_webcache"]').value = edit_site.ld_google_webcache || '';
|
||||||
|
document.querySelector('input[data-key="add_ext_link"]').value = edit_site.add_ext_link || '';
|
||||||
|
document.querySelector('select[data-key="add_ext_link_type"]').selectedIndex = add_ext_link_type_options.indexOf(edit_site.add_ext_link_type);
|
||||||
|
document.querySelector('textarea[data-key="cs_code"]').value = edit_site.cs_code || '';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// request permissions for custom sites (in list only)
|
||||||
|
function request_permissions() {
|
||||||
|
var perm_custom = document.getElementById('perm-custom');
|
||||||
|
ext_api.permissions.request({
|
||||||
|
origins: perm_origins
|
||||||
|
}, function (granted) {
|
||||||
|
if (granted) {
|
||||||
|
perm_custom.innerText = 'YES';
|
||||||
|
} else {
|
||||||
|
perm_custom.innerText = 'NO';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove permissions for custom sites
|
||||||
|
function remove_permissions() {
|
||||||
|
var perm_custom = document.getElementById('perm-custom');
|
||||||
|
ext_api.permissions.remove({
|
||||||
|
origins: perm_origins
|
||||||
|
}, function (removed) {
|
||||||
|
if (removed) {
|
||||||
|
perm_custom.innerText = 'NO';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var perm_origins;
|
||||||
|
// Restores checkbox input states using the preferences stored in ext_api.storage.
|
||||||
|
function renderOptions() {
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {},
|
||||||
|
sites_updated: {}
|
||||||
|
}, function (items) {
|
||||||
|
var sites_custom = sortJson(items.sites_custom);
|
||||||
|
var sites_custom_domains_new = Object.values(sites_custom).filter(x => x.domain && !defaultSites_domains.includes(x.domain)).map(x => x.group ? x.group.split(',').filter(x => x).map(x => x.trim()) : x.domain).flat();
|
||||||
|
var sites_custom_perm_domains_new = Object.values(sites_custom).filter(x => x.block_host_perm_add).map(x => x.block_host_perm_add.split(',').filter(x => x).map(x => x.trim())).flat();
|
||||||
|
var sites_updated = filterObject(items.sites_updated, function (val, key) {
|
||||||
|
return !val.nofix
|
||||||
|
});
|
||||||
|
var sites_updated_domains_new = Object.values(sites_updated).filter(x => (x.domain && !defaultSites_domains.includes(x.domain) || x.group)).map(x => x.group ? x.group.filter(y => !defaultSites_domains.includes(y)) : x.domain).flat();
|
||||||
|
var sites_updated_perm_domains_new = Object.values(sites_updated).filter(x => x.block_host_perm_add).map(x => x.block_host_perm_add.split(',').filter(x => x).map(x => x.trim())).flat();
|
||||||
|
var sitesEl = document.getElementById('bypass_sites');
|
||||||
|
sitesEl.innerHTML = '';
|
||||||
|
var labelEl = document.createElement('label');
|
||||||
|
var textareaEl = document.createElement('textarea');
|
||||||
|
textareaEl.value = JSON.stringify(sites_custom);
|
||||||
|
textareaEl.rows = 12;
|
||||||
|
textareaEl.cols = 40;
|
||||||
|
labelEl.appendChild(textareaEl);
|
||||||
|
sitesEl.appendChild(labelEl);
|
||||||
|
|
||||||
|
// add site
|
||||||
|
var add_sitesEl = document.getElementById('add_site');
|
||||||
|
add_sitesEl.innerHTML = '';
|
||||||
|
var inputEl;
|
||||||
|
var add_checkboxes = {
|
||||||
|
'title': 0,
|
||||||
|
'domain': 0,
|
||||||
|
'group': 0,
|
||||||
|
'allow_cookies': 1,
|
||||||
|
'remove_cookies': 1,
|
||||||
|
'useragent': 0,
|
||||||
|
'useragent_custom': 0,
|
||||||
|
'referer': 0,
|
||||||
|
'referer_custom': 0,
|
||||||
|
'random_ip': 0,
|
||||||
|
'block_js (domain)': 1,
|
||||||
|
'block_js_ext': 1,
|
||||||
|
'block_js_inline': 0,
|
||||||
|
'block_regex (add to default)': 0,
|
||||||
|
'block_regex_ignore_default': 1,
|
||||||
|
'block_host_perm_add': 0,
|
||||||
|
'amp_unhide': 1,
|
||||||
|
'amp_redirect': 0,
|
||||||
|
'ld_json': 0,
|
||||||
|
'ld_json_next': 0,
|
||||||
|
'ld_json_url': 0,
|
||||||
|
'ld_archive_is': 0,
|
||||||
|
'ld_google_webcache': 0,
|
||||||
|
'add_ext_link': 0,
|
||||||
|
'add_ext_link_type': 0,
|
||||||
|
'cs_code': 0,
|
||||||
|
};
|
||||||
|
var add_options = {
|
||||||
|
useragent: useragent_options,
|
||||||
|
referer: referer_options,
|
||||||
|
random_ip: random_ip_options,
|
||||||
|
add_ext_link_type: add_ext_link_type_options
|
||||||
|
};
|
||||||
|
for (var key in add_checkboxes) {
|
||||||
|
if (add_checkboxes[key]) {
|
||||||
|
inputEl = document.createElement('input');
|
||||||
|
inputEl.type = 'checkbox';
|
||||||
|
inputEl.dataset.value = 1;
|
||||||
|
} else {
|
||||||
|
if (add_options[key]) {
|
||||||
|
inputEl = document.createElement('select');
|
||||||
|
for (let elem of add_options[key]) {
|
||||||
|
let option = document.createElement("option");
|
||||||
|
option.value = elem;
|
||||||
|
option.text = elem;
|
||||||
|
inputEl.appendChild(option);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!['cs_code', 'group', 'referer_custom', 'useragent_custom'].includes(key)) {
|
||||||
|
inputEl = document.createElement('input');
|
||||||
|
inputEl.size = 25;
|
||||||
|
} else {
|
||||||
|
inputEl = document.createElement('textarea');
|
||||||
|
inputEl.rows = 5;
|
||||||
|
inputEl.cols = 25;
|
||||||
|
}
|
||||||
|
let placeholders = {
|
||||||
|
title: 'Example',
|
||||||
|
domain: 'example.com',
|
||||||
|
group: 'example1.com,example2.com',
|
||||||
|
block_js_inline: '\\.example\\.com\\/article\\/',
|
||||||
|
block_regex: '\\.example\\.com\\/js\\/',
|
||||||
|
block_host_perm_add: 'example1.com,example2.com',
|
||||||
|
amp_redirect: 'div.paywall',
|
||||||
|
ld_json: 'div.paywall|div.article',
|
||||||
|
ld_json_next: 'div.paywall|div.article',
|
||||||
|
ld_json_url: 'div.paywall|div.article',
|
||||||
|
ld_archive_is: 'div.paywall|div.art|div.art_src|div.art_link',
|
||||||
|
ld_google_webcache: 'div.paywall|div.article',
|
||||||
|
add_ext_link: 'div.paywall|div.article',
|
||||||
|
cs_code: 'for dev: check imported examples',
|
||||||
|
};
|
||||||
|
if (placeholders[key])
|
||||||
|
inputEl.placeholder = placeholders[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
labelEl = document.createElement('label');
|
||||||
|
labelEl.style = 'margin: 2px 0px;';
|
||||||
|
inputEl.dataset.key = key.split(' (')[0];
|
||||||
|
labelEl.appendChild(inputEl);
|
||||||
|
labelEl.appendChild(document.createTextNode(' ' + key));
|
||||||
|
add_sitesEl.appendChild(labelEl);
|
||||||
|
}
|
||||||
|
|
||||||
|
// list of custom sites
|
||||||
|
var custom_sitesEl = document.getElementById('custom_sites');
|
||||||
|
custom_sitesEl.innerHTML = '';
|
||||||
|
labelEl = document.createElement('label');
|
||||||
|
var selectEl = document.createElement('select');
|
||||||
|
selectEl.id = 'sites';
|
||||||
|
selectEl.size = 6;
|
||||||
|
var optionEl;
|
||||||
|
|
||||||
|
for (let key in sites_custom) {
|
||||||
|
optionEl = document.createElement('option');
|
||||||
|
let domain = sites_custom[key]['domain'];
|
||||||
|
let group = sites_custom[key]['group'];
|
||||||
|
|
||||||
|
let isDefaultSite = defaultSites_domains.includes(domain);
|
||||||
|
optionEl.text = isDefaultSite ? '*' : '';
|
||||||
|
optionEl.text += key + ': ' + domain +
|
||||||
|
(sites_custom[key]['allow_cookies'] > 0 ? ' | allow_cookies' : '') +
|
||||||
|
(sites_custom[key]['remove_cookies'] > 0 ? ' | remove_cookies' : '') +
|
||||||
|
(sites_custom[key]['useragent'] ? ' | useragent: ' + sites_custom[key]['useragent'] : '') +
|
||||||
|
(sites_custom[key]['useragent_custom'] ? ' | useragent_custom' : '') +
|
||||||
|
(sites_custom[key]['googlebot'] > 0 ? ' | googlebot' : '') +
|
||||||
|
(sites_custom[key]['referer'] ? ' | referer: ' + sites_custom[key]['referer'] : '') +
|
||||||
|
(sites_custom[key]['referer_custom'] ? ' | referer_custom' : '') +
|
||||||
|
(sites_custom[key]['random_ip'] ? ' | random_ip: ' + sites_custom[key]['random_ip'] : '') +
|
||||||
|
((sites_custom[key]['block_js'] > 0 || sites_custom[key]['block_javascript'] > 0) ? ' | block_js' : '') +
|
||||||
|
((sites_custom[key]['block_js_ext'] > 0 || sites_custom[key]['block_javascript_ext'] > 0) ? ' | block_js_ext' : '') +
|
||||||
|
(sites_custom[key]['block_js_inline'] ? ' | block_js_inline' : '') +
|
||||||
|
(sites_custom[key]['block_regex'] ? ' | block_regex' : '') +
|
||||||
|
(sites_custom[key]['amp_unhide'] > 0 ? ' | amp_unhide' : '') +
|
||||||
|
(sites_custom[key]['amp_redirect'] ? ' | amp_redirect' : '') +
|
||||||
|
(sites_custom[key]['ld_json'] ? ' | ld_json' : '') +
|
||||||
|
(sites_custom[key]['ld_json_next'] ? ' | ld_json_next' : '') +
|
||||||
|
(sites_custom[key]['ld_json_url'] ? ' | ld_json_url' : '') +
|
||||||
|
(sites_custom[key]['ld_archive_is'] ? ' | ld_archive_is' : '') +
|
||||||
|
(sites_custom[key]['ld_google_webcache'] ? ' | ld_google_webcache' : '') +
|
||||||
|
(sites_custom[key]['add_ext_link'] && sites_custom[key]['add_ext_link_type'] ? ' | add_ext_link' : '') +
|
||||||
|
(sites_custom[key]['cs_code'] ? ' | cs_code' : '');
|
||||||
|
optionEl.value = key;
|
||||||
|
selectEl.add(optionEl);
|
||||||
|
}
|
||||||
|
labelEl.appendChild(selectEl);
|
||||||
|
custom_sitesEl.appendChild(labelEl);
|
||||||
|
|
||||||
|
if (sites_updated_domains_new.length > 0) {
|
||||||
|
labelEl = document.createElement('p');
|
||||||
|
labelEl.appendChild(document.createElement('label'));
|
||||||
|
labelEl.appendChild(document.createTextNode('Updated sites: ' + sites_updated_domains_new.concat(sites_updated_perm_domains_new).join(', ')));
|
||||||
|
custom_sitesEl.appendChild(labelEl);
|
||||||
|
}
|
||||||
|
|
||||||
|
perm_origins = sites_custom_domains_new.concat(sites_updated_domains_new, sites_custom_perm_domains_new, sites_updated_perm_domains_new).filter(x => !x.includes('###')).map(x => '*://*.' + x + '/*');
|
||||||
|
var perm_custom = document.getElementById('perm-custom');
|
||||||
|
ext_api.permissions.contains({
|
||||||
|
origins: perm_origins
|
||||||
|
}, function (result) {
|
||||||
|
if (result) {
|
||||||
|
perm_custom.innerText = 'YES';
|
||||||
|
} else {
|
||||||
|
perm_custom.innerText = 'NO';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var custom_enabled = document.getElementById('custom-enabled');
|
||||||
|
ext_api.permissions.contains({
|
||||||
|
origins: ["*://*/*"]
|
||||||
|
}, function (result) {
|
||||||
|
if (result) {
|
||||||
|
custom_enabled.innerText = 'YES';
|
||||||
|
} else {
|
||||||
|
custom_enabled.innerText = 'NO';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleSearch() {
|
||||||
|
let search = document.getElementById('search').value.toLowerCase().replace('www.', '');
|
||||||
|
let listItems = document.querySelectorAll('select#sites > option');
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_custom: {}
|
||||||
|
}, function (items) {
|
||||||
|
let sites_custom = items.sites_custom;
|
||||||
|
let grouped_sites = filterObject(sites_custom, function (val, key) {
|
||||||
|
return val.group
|
||||||
|
}, function (val, key) {
|
||||||
|
return [val.domain, val.group.split(',')]
|
||||||
|
});
|
||||||
|
for (let item of listItems) {
|
||||||
|
let itemDomain = sites_custom[item.value].domain;
|
||||||
|
let itemText = item.value.toLowerCase();
|
||||||
|
let itemGroup = itemDomain ? grouped_sites[itemDomain] : '';
|
||||||
|
if (itemText.includes(search) || (itemDomain.includes(search) || (itemGroup && itemGroup.includes(search))))
|
||||||
|
item.style.display = 'block';
|
||||||
|
else
|
||||||
|
item.style.display = 'none';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', renderOptions);
|
||||||
|
document.getElementById('save').addEventListener('click', save_options);
|
||||||
|
document.getElementById('sort').addEventListener('click', sort_options);
|
||||||
|
document.getElementById('export').addEventListener('click', export_options);
|
||||||
|
document.getElementById('import').onclick = function () {importInput.click()}
|
||||||
|
document.getElementById('importInput').addEventListener("change", import_options, false);
|
||||||
|
document.getElementById('import_online').addEventListener('click', import_online_options);
|
||||||
|
document.getElementById('add').addEventListener('click', add_options);
|
||||||
|
document.getElementById('delete').addEventListener('click', delete_options);
|
||||||
|
document.getElementById('delete_default').addEventListener('click', delete_default_options);
|
||||||
|
document.getElementById('edit').addEventListener('click', edit_options);
|
||||||
|
document.getElementById('search').addEventListener('input', handleSearch);
|
||||||
|
if (custom_switch) {
|
||||||
|
document.getElementById('perm_request').addEventListener('click', request_permissions);
|
||||||
|
document.getElementById('perm_remove').addEventListener('click', remove_permissions);
|
||||||
|
}
|
||||||
33
options/options_excluded.html
Normal file
33
options/options_excluded.html
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Bypass Paywalls Clean Options Excluded</title>
|
||||||
|
<link rel="stylesheet" href="options_all.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h2>Excluded Sites</h2>
|
||||||
|
<div style="width:90%;">
|
||||||
|
Add excluded sites/domains (for your subscriptions) as a comma-separated list (www.-prefix and spaces are removed).<br>
|
||||||
|
You can also exclude a specific domain which is grouped in options.<br>
|
||||||
|
Checked sites in options are ignored (to still enable select all).<br>
|
||||||
|
</div>
|
||||||
|
<div style="clear:both;"></div>
|
||||||
|
<div style="width:90%;">
|
||||||
|
<h3>Sites</h3>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div id='excluded_sites'></div>
|
||||||
|
<br>
|
||||||
|
<div id="status"></div>
|
||||||
|
<div id="error"></div>
|
||||||
|
<span style='float:left;padding-bottom:50px'>
|
||||||
|
<button id="save">Save</button>
|
||||||
|
<button id="sort">Sort</button>
|
||||||
|
<button><a href="options.html" style="text-decoration:none;color:inherit">Options</a></button>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<script src="options_excluded.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
52
options/options_excluded.js
Normal file
52
options/options_excluded.js
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
var ext_api = chrome || browser;
|
||||||
|
|
||||||
|
// Saves options to ext_api.storage
|
||||||
|
function save_options() {
|
||||||
|
var textareaEl = document.querySelector('#excluded_sites textarea');
|
||||||
|
var sites_excluded = [];
|
||||||
|
if (textareaEl.value !== '')
|
||||||
|
var sites_excluded = textareaEl.value.split(',').filter(x => x).map(x => x.trim().replace('www.', ''));
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
sites_excluded: sites_excluded
|
||||||
|
}, function () {
|
||||||
|
// Update status to let user know excluded sites were saved.
|
||||||
|
var status = document.getElementById('status');
|
||||||
|
status.textContent = 'Excluded sites saved.';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort json by key in textarea
|
||||||
|
function sort_options() {
|
||||||
|
var textareaEl = document.querySelector('#excluded_sites textarea');
|
||||||
|
var sites_excluded = [];
|
||||||
|
if (textareaEl.value !== '') {
|
||||||
|
var sites_excluded = textareaEl.value.split(',').map(x => x.trim().replace('www.', ''));
|
||||||
|
var sites_excluded_sorted = sites_excluded.sort();
|
||||||
|
textareaEl.value = sites_excluded_sorted.join();
|
||||||
|
}
|
||||||
|
// Update status to let user know excluded sites were sorted.
|
||||||
|
var status = document.getElementById('status');
|
||||||
|
status.textContent = 'Excluded sites sorted (not saved yet)';
|
||||||
|
}
|
||||||
|
|
||||||
|
function renderOptions() {
|
||||||
|
ext_api.storage.local.get({
|
||||||
|
sites_excluded: []
|
||||||
|
}, function (items) {
|
||||||
|
var sites_excluded = items.sites_excluded;
|
||||||
|
var sitesEl = document.getElementById('excluded_sites');
|
||||||
|
sitesEl.innerHTML = '';
|
||||||
|
var labelEl = document.createElement('label');
|
||||||
|
var textareaEl = document.createElement('textarea');
|
||||||
|
textareaEl.placeholder = 'example1.com,example2.com';
|
||||||
|
textareaEl.value = sites_excluded.join();
|
||||||
|
textareaEl.rows = 12;
|
||||||
|
textareaEl.cols = 40;
|
||||||
|
labelEl.appendChild(textareaEl);
|
||||||
|
sitesEl.appendChild(labelEl);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', renderOptions);
|
||||||
|
document.getElementById('save').addEventListener('click', save_options);
|
||||||
|
document.getElementById('sort').addEventListener('click', sort_options);
|
||||||
32
options/popup.html
Normal file
32
options/popup.html
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" href="options_all.css"/>
|
||||||
|
<link rel="stylesheet" href="popup_switch.css"/>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
div {
|
||||||
|
margin: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body style="width:275px; overflow-x:hidden;overflow-y:hidden;">
|
||||||
|
<div><strong>Bypass Paywalls Clean <span id="version"></span></strong><span id="site_switch_span"> </span></div>
|
||||||
|
<div><a href="options.html" target="_blank">Options</a> |
|
||||||
|
<a href="options_custom.html" target="_blank">Custom</a> |
|
||||||
|
<a href="/README.html" target="_blank">Help</a> |
|
||||||
|
<a href="https://twitter.com/Magnolia1234B" target="_blank">X (Twitter)</a></div>
|
||||||
|
<div><a href="/changelog.txt" target="_blank">Changelog</a> |
|
||||||
|
<button id="clear_cookies" title="clear cookies (and local storage) for current site">clear cookies<br>(& permission)</button> |
|
||||||
|
<button id="button-close" title="close popup">close</button></div>
|
||||||
|
<div><span id="version_new"></span></div>
|
||||||
|
<div><span>* for unlisted sites: first clear cookies (X = no fix) & block general paywall-scripts (in options) or use custom sites/reader view</span></div>
|
||||||
|
<div><span id="archive"></span></div>
|
||||||
|
<script id="popup" src="version.js"></script>
|
||||||
|
<script src="popup.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
150
options/popup.js
Normal file
150
options/popup.js
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
var url_loc = (typeof browser === 'object') ? 'firefox' : 'chrome';
|
||||||
|
var manifestData = ext_api.runtime.getManifest();
|
||||||
|
var navigator_ua = navigator.userAgent;
|
||||||
|
var navigator_ua_mobile = navigator_ua.toLowerCase().includes('mobile');
|
||||||
|
var yandex_browser = navigator_ua_mobile && (url_loc === 'chrome') && navigator_ua.toLowerCase().includes('yabrowser');
|
||||||
|
var custom_switch = ((manifestData.optional_permissions && manifestData.optional_permissions.length) || (manifestData.optional_host_permissions && manifestData.optional_host_permissions.length)) && !(navigator_ua_mobile && (url_loc === 'chrome') && !yandex_browser);
|
||||||
|
|
||||||
|
function popup_show_toggle(domain, enabled) {
|
||||||
|
if (domain && !matchDomain(['webcache.googleusercontent.com'], domain)) {
|
||||||
|
var site_switch_span = document.getElementById('site_switch_span');
|
||||||
|
let labelEl = document.createElement('label');
|
||||||
|
labelEl.setAttribute('class', 'switch');
|
||||||
|
let inputEl = document.createElement('input');
|
||||||
|
inputEl.setAttribute('id', 'site_switch');
|
||||||
|
inputEl.setAttribute('type', 'checkbox');
|
||||||
|
if (enabled)
|
||||||
|
inputEl.setAttribute('checked', true);
|
||||||
|
labelEl.appendChild(inputEl);
|
||||||
|
let spanEl = document.createElement('span');
|
||||||
|
spanEl.setAttribute('class', 'slider round');
|
||||||
|
spanEl.setAttribute('title', 'en/disable current site/group in BPC');
|
||||||
|
labelEl.appendChild(spanEl);
|
||||||
|
site_switch_span.appendChild(labelEl);
|
||||||
|
document.getElementById("site_switch").addEventListener('click', function () {
|
||||||
|
ext_api.runtime.sendMessage({
|
||||||
|
request: 'site_switch'
|
||||||
|
});
|
||||||
|
//open(location).close();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ext_api.runtime.sendMessage({
|
||||||
|
request: 'popup_show_toggle'
|
||||||
|
});
|
||||||
|
ext_api.runtime.onMessage.addListener(function (message, sender) {
|
||||||
|
if (message.msg === 'popup_show_toggle' && message.data) {
|
||||||
|
popup_show_toggle(message.data.domain, message.data.enabled)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var cookie_domain;
|
||||||
|
ext_api.tabs.query({
|
||||||
|
active: true,
|
||||||
|
currentWindow: true
|
||||||
|
}, function (tabs) {
|
||||||
|
if (tabs && tabs[0] && /^http/.test(tabs[0].url)) {
|
||||||
|
let hostname = new URL(tabs[0].url).hostname;
|
||||||
|
cookie_domain = getCookiePermDomain(hostname);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("clear_cookies").addEventListener('click', function () {
|
||||||
|
if (custom_switch)
|
||||||
|
ext_api.permissions.request({
|
||||||
|
origins: ["*://*." + cookie_domain + "/*"]
|
||||||
|
}, function (granted) {
|
||||||
|
if (granted) {
|
||||||
|
ext_api.runtime.sendMessage({
|
||||||
|
request: 'clear_cookies'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
else
|
||||||
|
ext_api.permissions.contains({
|
||||||
|
origins: ["*://*." + cookie_domain + "/*"]
|
||||||
|
}, function (result) {
|
||||||
|
if (result) {
|
||||||
|
ext_api.runtime.sendMessage({
|
||||||
|
request: 'clear_cookies'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function showArchiveLinks() {
|
||||||
|
ext_api.tabs.query({
|
||||||
|
active: true,
|
||||||
|
currentWindow: true
|
||||||
|
}, function (tabs) {
|
||||||
|
if (tabs && tabs[0] && /^http/.test(tabs[0].url)) {
|
||||||
|
let url = tabs[0].url;
|
||||||
|
let hostname = urlHost(url);
|
||||||
|
if (!matchDomain(['hbrchina.org'], hostname))
|
||||||
|
url = url.split(/[#\?]/)[0];
|
||||||
|
let url_enc = encodeURIComponent(url);
|
||||||
|
let archive_array = {
|
||||||
|
'Archive.today': 'https://archive.today?run=1&url=' + url_enc,
|
||||||
|
'Google webcache': 'https://webcache.googleusercontent.com/search?q=cache:' + url_enc,
|
||||||
|
'Clearthis.page': 'https://clearthis.page?u=' + url,
|
||||||
|
'1ft.io': 'https://1ft.io/' + url,
|
||||||
|
'Google Search Tool\n(use online html-viewer - no fix)': 'https://search.google.com/test/rich-results?url=' + url_enc
|
||||||
|
};
|
||||||
|
//'Archive.today (renew)': 'https://archive.today?renew=1&url=' + url_enc,
|
||||||
|
let archive_id = document.querySelector('span#archive');
|
||||||
|
if (archive_id) {
|
||||||
|
archive_id.appendChild(document.createTextNode('Open tab in:'));
|
||||||
|
for (let key in archive_array) {
|
||||||
|
let elem_div = document.createElement('div');
|
||||||
|
let elem = document.createElement('a');
|
||||||
|
elem.innerText = key;
|
||||||
|
if (!(matchDomain(['1ft.io', 'clearthis.page', 'google.com', 'googleusercontent.com'], hostname) || hostname.match(/^archive\.\w{2}$/))) {
|
||||||
|
elem.href = archive_array[key];
|
||||||
|
elem.title = elem.href;
|
||||||
|
elem.target = '_blank';
|
||||||
|
elem_div.appendChild(elem);
|
||||||
|
archive_id.appendChild(elem_div);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
showArchiveLinks();
|
||||||
|
|
||||||
|
function matchDomain(domains, hostname = window.location.hostname) {
|
||||||
|
let matched_domain = false;
|
||||||
|
if (typeof domains === 'string')
|
||||||
|
domains = [domains];
|
||||||
|
domains.some(domain => (hostname === domain || hostname.endsWith('.' + domain)) && (matched_domain = domain));
|
||||||
|
return matched_domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
function urlHost(url) {
|
||||||
|
if (/^http/.test(url)) {
|
||||||
|
try {
|
||||||
|
return new URL(url).hostname;
|
||||||
|
} catch (e) {
|
||||||
|
console.log(`url not valid: ${url} error: ${e}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeButton() {
|
||||||
|
window.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCookiePermDomain(hostname) {
|
||||||
|
let domain = hostname.replace(/^(www|amp(html)?|m|wap)(\d)?\./, '');
|
||||||
|
let domain_split = domain.split('.');
|
||||||
|
let num = 2;
|
||||||
|
if (domain_split.length > 2 && domain.match(/(\w){2,4}\.(\w){2}$/))
|
||||||
|
num = 3;
|
||||||
|
domain = domain_split.slice(-num).join('.');
|
||||||
|
return domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("button-close").addEventListener('click', closeButton);
|
||||||
58
options/popup_switch.css
Normal file
58
options/popup_switch.css
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
.switch {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 30px;
|
||||||
|
height: 17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switch input {
|
||||||
|
opacity: 0;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider {
|
||||||
|
position: absolute;
|
||||||
|
cursor: pointer;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: blue;
|
||||||
|
-webkit-transition: .4s;
|
||||||
|
transition: .4s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider:before {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
height: 13px;
|
||||||
|
width: 13px;
|
||||||
|
left: 2px;
|
||||||
|
bottom: 2px;
|
||||||
|
background-color: white;
|
||||||
|
-webkit-transition: .4s;
|
||||||
|
transition: .4s;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked + .slider {
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:focus + .slider {
|
||||||
|
box-shadow: 0 0 1px #2196F3;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked + .slider:before {
|
||||||
|
-webkit-transform: translateX(13px);
|
||||||
|
-ms-transform: translateX(13px);
|
||||||
|
transform: translateX(13px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider.round {
|
||||||
|
border-radius: 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider.round:before {
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
109
options/version.js
Normal file
109
options/version.js
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
||||||
|
|
||||||
|
var manifestData = ext_api.runtime.getManifest();
|
||||||
|
var url_loc = manifestData.key ? 'chrome' : 'firefox';
|
||||||
|
var ext_url = 'https://github.com/bpc-clone/bpc_updates/releases/latest';
|
||||||
|
var ext_name = manifestData.name;
|
||||||
|
var self_hosted = !!(manifestData.browser_specific_settings && manifestData.browser_specific_settings.gecko.update_url);
|
||||||
|
var version_str = 'v' + manifestData.version;
|
||||||
|
var version_span = document.querySelector('span#version');
|
||||||
|
if (version_span)
|
||||||
|
version_span.innerText = version_str;
|
||||||
|
var version_span_new = document.querySelector('span#version_new');
|
||||||
|
version_span_new.setAttribute('style', 'font-weight: bold;');
|
||||||
|
var anchorEl;
|
||||||
|
|
||||||
|
function show_warning() {
|
||||||
|
let warning;
|
||||||
|
if (!ext_name.includes('Clean')) {
|
||||||
|
warning = 'fake';
|
||||||
|
} else if (!self_hosted) {
|
||||||
|
warning = 'cloned';
|
||||||
|
}
|
||||||
|
if (warning) {
|
||||||
|
let par = document.createElement('p');
|
||||||
|
let ext_link = document.createElement('a');
|
||||||
|
ext_link.href = ext_url;
|
||||||
|
ext_link.innerText = "You've installed a " + warning + " version of Bypass Paywalls Clean";
|
||||||
|
ext_link.target = '_blank';
|
||||||
|
par.style = 'font-weight: bold;';
|
||||||
|
par.appendChild(ext_link);
|
||||||
|
version_span_new.appendChild(par);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function show_update(ext_version_new, ext_upd_version_new = '', check = true) {
|
||||||
|
if (ext_version_new) {
|
||||||
|
ext_api.management.getSelf(function (result) {
|
||||||
|
var installType = result.installType;
|
||||||
|
var version_len = (installType === 'development') ? 7 : 5;
|
||||||
|
if (version_len === 5 && ext_upd_version_new && ext_upd_version_new < ext_version_new)
|
||||||
|
ext_version_new = ext_upd_version_new;
|
||||||
|
if (ext_version_new.substring(0, version_len) > manifestData.version.substring(0, version_len)) {
|
||||||
|
ext_api.storage.local.set({
|
||||||
|
ext_version_new: ext_version_new
|
||||||
|
});
|
||||||
|
anchorEl = document.createElement('a');
|
||||||
|
anchorEl.target = '_blank';
|
||||||
|
if (installType === 'development')
|
||||||
|
anchorEl.href = ext_url;
|
||||||
|
else {
|
||||||
|
anchorEl.href = ext_url + '/-/releases';
|
||||||
|
ext_version_new = ext_version_new.replace(/\d$/, '0');
|
||||||
|
}
|
||||||
|
anchorEl.innerText = 'New release v' + ext_version_new;
|
||||||
|
version_span_new.appendChild(anchorEl);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
show_warning();
|
||||||
|
} else if (check) {
|
||||||
|
anchorEl = document.createElement('a');
|
||||||
|
anchorEl.text = 'Check Twitter for latest update';
|
||||||
|
anchorEl.href = 'https://twitter.com/Magnolia1234B';
|
||||||
|
anchorEl.target = '_blank';
|
||||||
|
version_span_new.appendChild(anchorEl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_version_update(ext_version_new, popup) {
|
||||||
|
if (!popup) {
|
||||||
|
let manifest_new = 'https://bitbucket.org/bpc-updates/bpc_updates/downloads/manifest.json';
|
||||||
|
fetch(manifest_new)
|
||||||
|
.then(response => {
|
||||||
|
if (response.ok) {
|
||||||
|
response.json().then(json => {
|
||||||
|
var version_new = json['version'];
|
||||||
|
if (self_hosted) {
|
||||||
|
let json_upd_version_new = manifestData.browser_specific_settings.gecko.update_url;
|
||||||
|
fetch(json_upd_version_new)
|
||||||
|
.then(response => {
|
||||||
|
if (response.ok) {
|
||||||
|
response.json().then(upd_json => {
|
||||||
|
let ext_id = manifestData.browser_specific_settings.gecko.id;
|
||||||
|
let upd_version_new = upd_json.addons[ext_id].updates[0].version;
|
||||||
|
show_update(version_new, upd_version_new);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}).catch(function (err) {
|
||||||
|
false;
|
||||||
|
});
|
||||||
|
} else
|
||||||
|
show_update(version_new);
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
show_update(ext_version_new);
|
||||||
|
}
|
||||||
|
}).catch(function (err) {
|
||||||
|
false;
|
||||||
|
});
|
||||||
|
} else
|
||||||
|
show_update(ext_version_new, '', false);
|
||||||
|
}
|
||||||
|
|
||||||
|
ext_api.storage.local.get({optInUpdate: true, ext_version_new: false}, function (result) {
|
||||||
|
if (result.optInUpdate) {
|
||||||
|
let popup = document.querySelector('script[id="popup"]');
|
||||||
|
check_version_update(result.ext_version_new, popup);
|
||||||
|
} else
|
||||||
|
show_warning();
|
||||||
|
});
|
||||||
24
sites_updated.json
Normal file
24
sites_updated.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"DigiTimes Asia": {
|
||||||
|
"domain": "digitimes.com",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "\\.piano\\.io",
|
||||||
|
"useragent": "googlebot",
|
||||||
|
"upd_version": "3.6.4.5"
|
||||||
|
},
|
||||||
|
"El Español": {
|
||||||
|
"domain": "elespanol.com",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"block_regex": "(\\.tinypass\\.com\\/|cdn\\.ampproject\\.org\\/v\\d\\/amp-(access|subscriptions)-.+\\.js)",
|
||||||
|
"cs_code": "[{\"cond\":\"div.content-not-granted-paywall\", \"rm_class\":\"content-not-granted-paywall\"}]",
|
||||||
|
"upd_version": "3.6.4.3"
|
||||||
|
},
|
||||||
|
"NDTV Profit": {
|
||||||
|
"domain": "ndtvprofit.com",
|
||||||
|
"allow_cookies": 1,
|
||||||
|
"amp_redirect": "div[class^='hard-paywall']",
|
||||||
|
"amp_unhide": 1,
|
||||||
|
"block_regex": "cdn\\.ampproject\\.org\\/v\\d\\/amp-subscriptions-.+\\.js",
|
||||||
|
"upd_version": "3.6.4.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
10
updates.json
Normal file
10
updates.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"addons": {
|
||||||
|
"magnolia@12.34": {
|
||||||
|
"updates": [
|
||||||
|
{ "version": "3.6.4.0",
|
||||||
|
"update_link": "https://github.com/bpc-clone/bpc_updates/releases/latest/download/bypass_paywalls_clean-3.6.4.0.xpi" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
updates_custom.json
Normal file
10
updates_custom.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"addons": {
|
||||||
|
"magnolia_limited_permissions@12.34": {
|
||||||
|
"updates": [
|
||||||
|
{ "version": "3.6.4.2",
|
||||||
|
"update_link": "https://github.com/bpc-clone/bpc_updates/releases/latest/download/bypass_paywalls_clean-3.6.4.2-custom.xpi" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user