GoodLib

Adds quick-search chips for Z-Lib, Anna's Archive, Gutenberg, and AudiobookBay on Goodreads, StoryGraph, and Hardcover book pages

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

작성자
kosherkale
일일 설치 수
2
총 설치 수
17
평점
0 0 0
버전
1.3.1
생성일
2026-03-24
갱신일
2026-03-27
크기
33.4KB
라이선스
MIT
적용 사이트

GoodLib

GoodLib is a lightweight userscript that enhances Goodreads, The StoryGraph, and Hardcover book pages by adding quick-search chips for popular library and archive sources.

With one click, you can search for a book across multiple platforms like Z-Lib, Anna’s Archive, Project Gutenberg, and AudiobookBay.


Features

One-click search chips directly on Goodreads, The StoryGraph, and Hardcover book pages

Supports multiple sources:

  • Z-Lib
  • Anna’s Archive
  • Project Gutenberg
  • AudiobookBay

Built-in settings UI to toggle sources on/off Clean, modern UI with subtle animations Works automatically on page load


How It Works

When you open either site Goodreads, The StoryGraph, or a Hardcover book page, GoodLib:

  1. Detects the book title and author
  2. Builds a search query
  3. Injects clickable “chips” next to the title
  4. Opens the selected source in a new tab when clicked

Settings

A small gear button appears in the Goodreads, The StoryGraph, and Hardcover header.

From there you can:

  • Enable/disable individual sources
  • Customize which chips appear

Changes are saved automatically.


Tech Details

  • Vanilla JavaScript (no dependencies)
  • Uses MutationObserver for SPA compatibility
  • Uses GM.getValue / GM.setValue (with localStorage fallback)
  • Injects styles dynamically

Disclaimer

This tool only provides search shortcuts to external websites.

  • It does not host, distribute, or store any content
  • Users are responsible for how they use external services
  • Availability and legality of content depends on your jurisdiction

License

MIT License