Giter VIP home page Giter VIP logo

medium-unlimited's Introduction

Medium Unlimited Tweet

Code repository for the browser extension to unlock the articles behind the medium.com membership paywall.

Try the production version of the extension here:

For Chrome: https://manojvivek.github.io/medium-unlimited/download/

For Firefox: https://addons.mozilla.org/en-US/firefox/addon/medium-unlimited-read-for-free

Development

Run the following to build the code:

npm run dev         #For local development
#or
npm run build       #For production release

This will generate the bundle and other required files in ./dist directory.

Load the generated chrome extension in chrome by Kebab menu(⋮) -> More Tools -> Extensions and then click on LOAD UNPACKED and select the dist folder. Chrome extension is loaded and ready to use.

Screenshot:

alt text

medium-unlimited's People

Contributors

0xkoios avatar adriendart avatar ancalagontheblack avatar bantya avatar dependabot[bot] avatar hieugao avatar i-valchev avatar khiemdoan avatar kozdincer avatar manojvivek avatar msarsha avatar nikostito avatar ntvinhit avatar quankm avatar ucguy4u avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

medium-unlimited's Issues

Option for turning off the floating icon of the extension?

Hi, thanks for your work. It would be nice to have a option to turn off the floating icon on the right because it sometimes covers the text on smaller screens (for example on 6" e-ink readers or when I split screen on my 12" :)).

Chrome Web Store

If you want, I can (help you to) publish your extension on the chrome webstore (I've already published 3 chrome extensions).

Not Working now

I tried this extension, this doesn't now I guess due to the changes medium made.

an error in building: `unable to locate...`

at the end of npm install command, when I ran your snippet code for build this extension:

npm run dev         #For local development
#or
npm run build       #For production release

I received this error:

[copy-webpack-plugin] unable to locate 'src/html' at '/Users/farhad/Desktop/medium-unlimited-master/src/html'
  0:0  error  webpack-stylish: <please report unknown message format>

✖ 1 problem (1 error, 0 warnings)

Could you make a guide for non-web developers?

Your extension was removed from chrome store.

did npm run dev - got this back from cmd in administrator mode

I set cmd to the location of
D:\PROGRAMI\Github\medium-unlimited-master
and then wrote your instructions 'npm run dev' and I got this out, what? How do I make a chrome extension that I can drag into crhome and install?

0 info it worked if it ends with ok
1 verbose cli [ 'C:\Program Files\nodejs\node.exe',
1 verbose cli 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
1 verbose cli 'run',
1 verbose cli 'dev' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle [email protected]predev: [email protected]
6 info lifecycle [email protected]
dev: [email protected]
7 verbose lifecycle [email protected]dev: unsafe-perm in lifecycle true
8 verbose lifecycle [email protected]
dev: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\PROGRAMI\Github\medium-unlimited-master\node_modules.bin;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\MSC.Software\Adams\2018\bin;C:\Users\siris\AppData\Local\Microsoft\WindowsApps;C:\Users\siris\AppData\Local\Programs\Microsoft VS Code\bin;C:\flutter\bin;C:\Users\siris\AppData\Roaming\npm
9 verbose lifecycle [email protected]dev: CWD: D:\PROGRAMI\Github\medium-unlimited-master
10 silly lifecycle [email protected]
dev: Args: [ '/d /s /c', 'webpack --mode development --watch' ]
11 silly lifecycle [email protected]dev: Returned: code: 1 signal: null
12 info lifecycle [email protected]
dev: Failed to exec dev script
13 verbose stack Error: [email protected] dev: webpack --mode development --watch
13 verbose stack Exit status 1
13 verbose stack at EventEmitter. (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16)
13 verbose stack at EventEmitter.emit (events.js:189:13)
13 verbose stack at ChildProcess. (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:189:13)
13 verbose stack at maybeClose (internal/child_process.js:970:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid [email protected]
15 verbose cwd D:\PROGRAMI\Github\medium-unlimited-master
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "dev"
18 verbose node v10.15.3
19 verbose npm v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] dev: webpack --mode development --watch
22 error Exit status 1
23 error Failed at the [email protected] dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Taken off of Chrome webstore

Hi. The extension cannot be found on the Chrome webstore (except for this one that seems like malware). Are there plans to put put the extension back on the store, or should we just manually install it from now on?

Thanks.

Safari extension?

This is such an amazing extension - please can you build one for safari extension on MacOS?

Chrome deactivates the extension?

I installed everything but my extension gets blocked by chrome. At first it asks me 2 times should it deactivate it, I say no, then the third time a couple of minutes later it just notifies me that it blocked it?!

Google.com is kind of intrusive.

Hi. Intercepting cookies from Google.com seems kind of intrusive and unsafe. Can you please justify your reasoning or provide a way to disable access to Google.com?

Adding new domains?

Hey there,
I was browsing through some articles and then I came to a locked on, looks like it is part of medium, just a different domain. https://itnext.io/ Is it possible to add URLS into the extension, or is it more complicated than that?

Thanks!
-MH

Disable developer mode popup

Would it be possible to get rid of the "disable developer mode" popup by any means? I've followed the pack extension here but there's a CRX_REQUIRED_PROOF_ERROR when loading packed .crx into chrome.

add subdomain

you can add sub-domain by:

1- adding permission for add-on by adding sub-domain in "manifest.json" as i added
{ "name": "Medium Unlimited: Read paid content for free!", "description": "Unlocks medium.com for unlimited reads, no membership required", "short_name": "Medium Unlimited", "version": "1.5.0", "manifest_version": 2, "background": { "scripts": ["background.bundle.js"] }, "browser_action": { "default_icon": "static/logo_128.png", "default_title": "Unlock Medium.com Article" }, "content_scripts": [ { "matches": [ "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://medium.muz.li/*", "https://ux.shopify.com/*" ], "js": ["main.bundle.js"] } ], "icons": { "16": "static/logo_16.png", "48": "static/logo_48.png", "128": "static/logo_128.png" }, "content_security_policy": "script-src 'self'; object-src 'self'", "permissions": [ "webRequest", "webRequestBlocking", "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.com/*", "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://medium.muz.li/*", "https://ux.shopify.com/*" ], "web_accessible_resources": ["static/*"] }
2- add sub-domain in 'background.bundle.js' as i do
var r = e(50), i = [ "https://medium.com/*", "https://www.google.com/search/*", "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.com/*", "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://medium.muz.li/*", "https://ux.shopify.com/*" ] }]);

Adding domain: https://blog.kotlin-academy.com/ did not work

I tried to add https://blog.kotlin-academy.com/ in manifest.json and background.bundle.js and it did not work. Moreover, I'm seeing this error now.

Screenshot 2020-05-04 at 1 50 46 PM

Screenshot 2020-05-04 at 2 10 04 PM

Can you add in the README.md proper procedure to add a domain manually until you add an interface.

Please update to support

I think medium now update their site to block your extension, please update to make it support again.

Custom medium domain

Hi @manojVivek ,
I'm using this extension on Firefox. It's very good. 🍺🍺🍺
But there is a custom medium domain: engineering.opsgenie.com that is not listed in your list.
Please take a look.
Thanks

Update notification for unpacked extension?

Since unpacked extensions do not auto-update, it would be nice to see some kind of notification when a new version of the extension is released. For example, the extension could check for the latest version on GitHub and inject a notification in the viewport when loading a medium.com URL (or any other URL the extension unlocks) letting the user know they need to manually install a new version.

Without this feature my guess is most people will be "notified" after the extension stops working, which is a less-then-great experience.

Thanks!

Failure to unlock some stories

Hi,
I'm not sure if this qualifies as an issue or not. I tried unlocking a story but instead, it redirects me to another page. Is this because it's a publication.

I tried for the Better Programming and Software Engineering publications

issue

The picture shows the page that it is redirecting to.

[feature-request] An easier way to include sites to unlock

Some sites like https://thebolditalic.com/ which essentially are medium articles, but not the same domain are not unlocked by default. In order to unlock them one has to change the manifest.json file and the background.bundle.js file. Once done, these articles are unlocked just like any other medium article.
Can an easier way be added for the same? Something like changing the settings of sites to unlock in the settings of the extension?

Auto removed from Chrome

Very nice plugin but one issue.

I drag this chrome extension to chrome://extension, it works fine. But after my mac reboot, this extension missing again. Now I need to drag to install again.
Does anyone know what happened?
PS: the other extensions won't have this problem.

Issue installing addon in Firefox from source

I am having issues building the project from source and install it on Firefox.
No issues with Chrome though.

What do I have to do in order to install "medium-unlimited" from source in Firefox?

Windows 10
Firefox v70.0
Error message: "This add-on could not be installed because it appears to be corrupt".

Steps to reproduce:
1 - git clone
2 - npm i
3- npm run build
4 - zip "dist/"
5 - install in firefox (error)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.