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
日安装量
0
总安装量
17
评分
0 0 0
版本
1.3.1
创建于
2026-03-24
更新于
2026-03-27
大小
33.4 KB
许可证
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