diff --git a/firefox/background.js b/firefox/background.js new file mode 100644 index 0000000..f5fb894 --- /dev/null +++ b/firefox/background.js @@ -0,0 +1,67 @@ +var app = {}; + +// Generate referer uri +app.generateReferer = function () { + var linkId = (1 + Math.random()).toString(36).substring(2, 12); + return `https://t.co/${linkId}`; +} + +// Modify the referer to twitter +app.modifyHeaders = function (details) { + var newRef = app.generateReferer(); + var refExists = false; + for (var n in details.requestHeaders) { + refExists = details.requestHeaders[n].name.toLowerCase() == "referer"; + if (refExists) { + details.requestHeaders[n].value = newRef; + break; + } + } + if (!refExists) { + details.requestHeaders.push({ name: "Referer", value: newRef }); + } + return { requestHeaders: details.requestHeaders }; +} + +// Modify network requests +browser.webRequest.onBeforeSendHeaders.addListener( + app.modifyHeaders, + { + urls: [ + '*://*.medium.com/*', + '*://writingcooperative.com/*', + '*://psiloveyou.xyz/*', + '*://uxplanet.org/*', + '*://towardsdatascience.com/*', + '*://codeburst.io/*', + '*://*.gitconnected.com/*', + '*://itnext.io/*', + '*://entrepreneurshandbook.co/*', + '*://arcdigital.media/*', + '*://femsplain.com/*', + '*://fityourself.club/*', + '*://byrslf.co/*', + '*://blog.qz.com/*', + '*://bullshit.ist/*', + '*://*.pramp.com/*', + '*://uxdesign.cc/*', + '*://medium.muz.li/*', + '*://*.usejournal.com/*', + '*://timeline.com/*', + '*://substance.media/*', + '*://thebolditalic.com/*', + '*://thecreative.cafe/*', + '*://theascent.pub/*', + '*://ceoplaybook.io/*', + '*://dayoneperspective.com/*', + '*://eand.co/*', + '*://extranewsfeed.com/*', + '*://democracyguardian.com/*', + '*://*.issuevoter.org/*', + ] + }, + [ + 'blocking', + 'requestHeaders' + ] +); diff --git a/firefox/icon128.png b/firefox/icon128.png new file mode 100644 index 0000000..3bb5768 Binary files /dev/null and b/firefox/icon128.png differ diff --git a/firefox/icon16.png b/firefox/icon16.png new file mode 100644 index 0000000..992f8f1 Binary files /dev/null and b/firefox/icon16.png differ diff --git a/firefox/icon48.png b/firefox/icon48.png new file mode 100644 index 0000000..4bd3ab7 Binary files /dev/null and b/firefox/icon48.png differ diff --git a/firefox/manifest.json b/firefox/manifest.json new file mode 100644 index 0000000..1824df1 --- /dev/null +++ b/firefox/manifest.json @@ -0,0 +1,21 @@ +{ + "name": "UnlimitedMedium", + "version": "3.5.0", + "description": "Read Medium for Free.", + "background": { + "scripts": [ + "background.js" + ] + }, + "permissions": [ + "webRequest", + "webRequestBlocking", + "" + ], + "icons": { + "16": "icon16.png", + "48": "icon48.png", + "128": "icon128.png" + }, + "manifest_version": 2 +}