diff --git a/package.json b/package.json index ad67c32..e56294e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "medium-unlocker", - "version": "0.1.11", + "version": "0.1.12", "private": true, "scripts": { "build": "rollup -c", diff --git a/public/background.js b/public/background.js index fad3394..a1f04cb 100644 --- a/public/background.js +++ b/public/background.js @@ -1 +1 @@ -var background=function(){"use strict";var e={operationName:{cookieStatus:"PostMeter",postContent:"PostViewerEdgeContentQuery"},operationSelector:{cookieStatus:"data.meterPost.unlocksRemaining"},memberShipId:"paywall-fewerClicksHeading",registerWall:"regwall-heading",domainList:["https://medium.com/*","https://*.medium.com/*","https://towardsdatascience.com/*","https://hackernoon.com/*","https://medium.freecodecamp.org/*","https://psiloveyou.xyz/*","https://betterhumans.coach.me/*","https://codeburst.io/*","https://theascent.pub/*","https://medium.mybridge.co/*","https://uxdesign.cc/*","https://levelup.gitconnected.com/*","https://itnext.io/*","https://entrepreneurshandbook.co/*","https://proandroiddev.com/*","https://blog.prototypr.io/*","https://thebolditalic.com/*","https://blog.usejournal.com/*","https://blog.angularindepth.com/*","https://blog.bitsrc.io/*","https://blog.devartis.com/*","https://blog.maddevs.io/*","https://blog.getambassador.io/*","https://uxplanet.org/*","https://instagram-engineering.com/*","https://calia.me/*","https://productcoalition.com/*","https://engineering.opsgenie.com/*","https://android.jlelse.eu/*","https://robinhood.engineering/*","https://blog.hipolabs.com/*","https://ux.shopify.com/*","https://enlear.academy/*","https://www.cantorsparadise.com/*","https://betterprogramming.pub/*","https://blog.roost.io/*","https://500ish.com/*","https://faun.pub/*","https://towardsdev.com/*","https://javascript.plainenglish.io/*"]};function t(e,t){let o="",r=t.length;for(let s=0;s`lo_${t(12,"0123456789abcdef")}`,generateSID:()=>`1:${t(64,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._/")}`,getBeforeSendExtraInfoSpec:()=>{const e=["blocking","requestHeaders"];return chrome.webRequest.OnBeforeSendHeadersOptions.hasOwnProperty("EXTRA_HEADERS")&&e.push("extraHeaders"),e},getHeaderReceivedExtraInfoSpec:()=>{const e=["blocking","responseHeaders"];return chrome.webRequest.OnHeadersReceivedOptions.hasOwnProperty("EXTRA_HEADERS")&&e.push("extraHeaders"),e},getHeaders:(e,t,o)=>e.filter((({name:e})=>o(e.toLowerCase(),t))),hasElm:e=>!!document.getElementById(e)};const{domainList:r}=e,{generateUID:s,generateSID:n,getBeforeSendExtraInfoSpec:a,getHeaderReceivedExtraInfoSpec:i,getHeaders:d}=o,p=["PostViewerEdgeContentQuery","PostHandler"];let c=[];chrome.webRequest.onBeforeSendHeaders.addListener((function({url:e,requestId:t,requestHeaders:o}){if(!1===e.endsWith("/_/graphql"))return{requestHeaders:o};const r=o.filter((({name:e})=>"graphql-operation"===e.toLowerCase()));if(!r.length||r.length&&!p.includes(r[0].value))return{requestHeaders:o};c.push(t);let a=d(o,"cookie",((e,t)=>e!==t));const i=d(o,"cookie",((e,t)=>e===t));if(1===i.length){const e=s(),t=n();let o=decodeURIComponent(i[0].value);return o=o.replace(/uid=(\w+);/,`uid=${e};`),o=o.replace(/sid=(.{0,72});/,`sid=${encodeURIComponent(t)};`),o=o.replace(/optimizelyEndUserId=(\w+);/,`optimizelyEndUserId=${e};`),a.push({name:"cookie",value:o}),{requestHeaders:a}}return{requestHeaders:o}}),{urls:r},a()),chrome.webRequest.onHeadersReceived.addListener((function({requestId:e,responseHeaders:t}){return!1===c.includes(e)?{responseHeaders:t}:{responseHeaders:d(t,"set-cookie",((e,t)=>e!==t))}}),{urls:r},i());return{}}(); +var background=function(){"use strict";var e={operationName:{cookieStatus:"PostMeter",postContent:"PostViewerEdgeContentQuery"},operationSelector:{cookieStatus:"data.meterPost.unlocksRemaining"},memberShipId:"paywall-fewerClicksHeading",registerWall:"regwall-heading",domainList:["https://medium.com/*","https://*.medium.com/*","https://towardsdatascience.com/*","https://hackernoon.com/*","https://medium.freecodecamp.org/*","https://psiloveyou.xyz/*","https://betterhumans.coach.me/*","https://codeburst.io/*","https://theascent.pub/*","https://medium.mybridge.co/*","https://uxdesign.cc/*","https://levelup.gitconnected.com/*","https://itnext.io/*","https://entrepreneurshandbook.co/*","https://proandroiddev.com/*","https://blog.prototypr.io/*","https://thebolditalic.com/*","https://blog.usejournal.com/*","https://blog.angularindepth.com/*","https://blog.bitsrc.io/*","https://blog.devartis.com/*","https://blog.maddevs.io/*","https://blog.getambassador.io/*","https://uxplanet.org/*","https://instagram-engineering.com/*","https://calia.me/*","https://productcoalition.com/*","https://engineering.opsgenie.com/*","https://android.jlelse.eu/*","https://robinhood.engineering/*","https://blog.hipolabs.com/*","https://ux.shopify.com/*","https://enlear.academy/*","https://www.cantorsparadise.com/*","https://betterprogramming.pub/*","https://blog.roost.io/*","https://500ish.com/*","https://faun.pub/*","https://towardsdev.com/*","https://javascript.plainenglish.io/*"]};function t(e,t){let o="",r=t.length;for(let s=0;s`lo_${t(12,"0123456789abcdef")}`,generateSID:()=>`1:${t(64,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._/")}`,getBeforeSendExtraInfoSpec:()=>{const e=["blocking","requestHeaders"];return chrome.webRequest.OnBeforeSendHeadersOptions.hasOwnProperty("EXTRA_HEADERS")&&e.push("extraHeaders"),e},getHeaderReceivedExtraInfoSpec:()=>{const e=["blocking","responseHeaders"];return chrome.webRequest.OnHeadersReceivedOptions.hasOwnProperty("EXTRA_HEADERS")&&e.push("extraHeaders"),e},getHeaders:(e,t,o)=>e.filter((({name:e})=>o(e.toLowerCase(),t))),hasElm:e=>!!document.getElementById(e)};const{domainList:r}=e,{generateUID:s,generateSID:n,getBeforeSendExtraInfoSpec:a,getHeaderReceivedExtraInfoSpec:i,getHeaders:d}=o,c="/_/graphql",p=["PostViewerEdgeContentQuery","PostHandler"];let l=[],h="";chrome.webRequest.onBeforeSendHeaders.addListener((function({url:e,requestId:t,requestHeaders:o}){if(!1===e.endsWith(c))return{requestHeaders:o};const r=o.filter((({name:e})=>"graphql-operation"===e.toLowerCase()));if(!r.length||r.length&&!p.includes(r[0].value))return{requestHeaders:o};l.push(t);let a=d(o,"cookie",((e,t)=>e!==t));const i=d(o,"cookie",((e,t)=>e===t));if(1===i.length){const e=s(),t=n();let o=decodeURIComponent(i[0].value);const r=/uid=(\w+);/.exec(o);return r&&r.length>1&&(h=r[1]),o=o.replace(/uid=(\w+);/,`uid=${e};`),o=o.replace(/sid=(.{0,72});/,`sid=${encodeURIComponent(t)};`),o=o.replace(/optimizelyEndUserId=(\w+);/,`optimizelyEndUserId=${e};`),a.push({name:"cookie",value:o}),{requestHeaders:a}}return{requestHeaders:o}}),{urls:r},a()),chrome.webRequest.onHeadersReceived.addListener((function({requestId:e,responseHeaders:t}){return!1===l.includes(e)?{responseHeaders:t}:{responseHeaders:d(t,"set-cookie",((e,t)=>e!==t))}}),{urls:r},i()),chrome.webRequest.onBeforeRequest.addListener((function({requestId:e,url:t}){if("undefined"==typeof browser)return{};if(!1===t.endsWith(c))return{};let o=browser.webRequest.filterResponseData(e),r=new TextDecoder("utf-8"),s=new TextEncoder,n=[];o.ondata=e=>{n.push(e.data)},o.onstop=t=>{let a="";if(1==n.length)a=r.decode(n[0]);else for(let e=0;e