https://github.com/mvuorre/pdf-direct
Bypass "fancy online reader" and just get the darn pdf
https://github.com/mvuorre/pdf-direct
academia firefox firefox-addon
Last synced: 4 months ago
JSON representation
Bypass "fancy online reader" and just get the darn pdf
- Host: GitHub
- URL: https://github.com/mvuorre/pdf-direct
- Owner: mvuorre
- License: mit
- Created: 2025-01-23T09:41:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-14T08:43:11.000Z (8 months ago)
- Last Synced: 2026-02-09T00:34:58.077Z (4 months ago)
- Topics: academia, firefox, firefox-addon
- Language: JavaScript
- Homepage: https://addons.mozilla.org/addon/pdf-direct/
- Size: 1.96 MB
- Stars: 11
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PDF Direct
Firefox extension to skip academic journals' "enhanced" PDF viewers to direct PDF downloads.
## Install
Get the add-on at .
## Example
| With Extension | Without Extension |
| --- | --- |
|  |  |
## Supported Publishers
The extension works with major academic publishers and their university proxy versions:
- **American Chemical Society** (ACS)
- **Cambridge University Press**
- **Elsevier** (ScienceDirect)
- **IEEE** (Institute of Electrical and Electronics Engineers)
- **JSTOR** (Academic archives)
- **Nature Publishing Group**
- **Oxford University Press**
- **PLOS** (Public Library of Science)
- **PNAS**
- **Royal Society Publishing**
- **Sage Publications**
- **Springer Nature**
- **Taylor & Francis**
- **Wiley**
The extension automatically works with:
- Direct publisher websites (e.g., `journals.sagepub.com`)
- OCLC WorldCat proxies (e.g., `journals-sagepub-com.university.idm.oclc.org`)
## How It Works
The extension intercepts requests to academic journal "enhanced" PDF viewers and redirects them to direct PDF downloads by converting:
- `/doi/reader/` → `/doi/pdf/`
- `/doi/epdf/` → `/doi/pdf/`
- `/doi/epub/` → `/doi/pdf/`
This works across both direct publisher domains and proxy services.
## License
MIT
## Contributing and development
Submit an issue if you want me to add a publisher / feature / squash a bug.
Development requirements:
- `web-ext` (`npm install -g web-ext`)
- `gh` CLI (`brew install gh`)
- `jq` (`brew install jq`)
Build and publish extension
1. Download/clone
2. Test extension manually: `make test`
3. Lint extension: `make lint`
4. Increment version in `manifest.json`
5. Create release: `make release`
6. Sign & submit extension: `make sign` (but note this requires private keys)
## Credits
- Icons: [Pdf icons created by El-Faza Stuff - Flaticon](https://www.flaticon.com/free-icons/pdf)
- A bunch of AI coding tools