No description
  • JavaScript 79.4%
  • CSS 12.7%
  • HTML 7.6%
  • Makefile 0.3%
Find a file
2026-07-22 19:54:21 +08:00
scripts feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
src feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
test feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
.gitignore feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
Makefile feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
manifest.json feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
options.html Initial NUS proxy Chrome extension 2026-05-05 20:54:38 +08:00
package.json feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
popup.html feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00
README.md feat: add prelogin and automatic PDF proxying 2026-07-22 19:54:21 +08:00

NUS Library Proxy Helper

A Chrome Manifest V3 extension that turns the NUS Libraries proxy bookmarklet into two focused workflows:

  • Check for an existing NUS libproxy browser session and open NUS sign-in before starting research.
  • Intercept PDF buttons on supported publisher sites and open the PDF through NUS proxy automatically.

The extension uses the same redirect documented by the NUS Libraries Proxy Bookmarklet guide:

https://libproxy1.nus.edu.sg/login?url=<current URL>

Install locally

  1. Open chrome://extensions.
  2. Enable Developer mode.
  3. Click Load unpacked.
  4. Select this project folder, or the extracted contents of a release ZIP.

Use

  1. Open the extension popup and choose Sign in to NUS once. Complete authentication in the new tab; landing on the NUS proxy menu is expected for this pre-login step.
  2. Browse a supported publisher normally.
  3. Click the publisher's PDF button. The extension sends that PDF URL through NUS proxy while preserving current-tab and new-tab clicks.
  4. Use Open page through proxy when a publisher has an unusual PDF control that cannot be resolved safely.

After that one-time login, every page or PDF action performs only the bookmarklet-equivalent navigation https://libproxy1.nus.edu.sg/login?url=${location.href}. The current URL is appended verbatim without URL encoding or a second redirect managed by the extension.

The popup's session status is deliberately best-effort: it reports whether current libproxy1.nus.edu.sg cookies were detected. NUS may still request authentication when a server-side session has expired.

Automatic PDF interception can be disabled from the popup. It is limited to:

  • IEEE Xplore
  • ScienceDirect
  • SpringerLink
  • Wiley Online Library
  • JSTOR
  • ACM Digital Library
  • Nature
  • Science / AAAS
  • SAGE Journals
  • Taylor & Francis Online
  • Oxford Academic
  • Cambridge Core

Validate and package

Node.js 18 or newer and the zip command are required. No npm dependencies need to be installed.

npm run check
npm run pack

The package command validates the manifest, checks JavaScript syntax, runs the tests, and writes a versioned Chrome Web Store-ready archive under dist/.

Privacy

The extension does not send data to a custom server. It reads supported publisher pages to recognize PDF controls, checks browser cookies scoped to the NUS proxy, and sends only URLs selected by the user to the official NUS Libraries proxy.