Awesome
<div align="center"> <img src="./public/readme/logo.svg?raw=true" width="256" height="256" alt=""> </div> <h1 align="center">BiblioReads</h1> <div align="center"> BiblioReads is a free and open source alternative Goodreads front-end focused on privacy.Scrapes content from Goodreads and presents the results without any of the bloat.
Inspired by Nitter, libremdb and other open source alternative front-end projects.
</div>Screenshots
Dark Mode | Light Mode |
---|---|
View more screenshots.
Features
- No ads - simple. We don't show ads.
- No tracking or data collection - no personal information is ever collected. Tracking cookies are not used.
- No sign-up required - use BiblioReads without signing up for an account and never deal with those annoying sign-up popups.
- All requests are proxied - your requests are never directly made to Goodreads
- Lightweight
- Modern Design - responsive design with built-in light & dark mode support
- PWA Support - installable as a PWA on desktop and mobile
Instances
This list is available in JSON format here.
Adding Your Instance
If you'd like to add your instance to the list, please open an issue or pull request using the New Instance
template.
Note: If you collect any user data from your instance please set the applicable environment variables (an example can be found in .env.local.example
).
Automatic Redirection
LibRedirect
Use LibRedirect to automatically redirect Goodreads links to BiblioReads.
GreaseMonkey Userscript
There is a userscript to redirect Goodreads links to BiblioReads. The userscript can be found here.
Redirector
You can use the Redirector extension to redirect Goodreads links to BiblioReads with the configuration below (Note: You can replace biblioreads.eu.org
with any instance URL):
To Redirect All Supported Routes:
- Description: Goodreads to BiblioReads Pages
- Example URL: https://www.goodreads.com/book/show/5907.The_Hobbit
- Include pattern:
^(?:https?://)www\.goodreads\.com/(book|work|author|series|quotes|list)(.*)
- Redirect to:
https://biblioreads.eu.org/$1$2
- Pattern type: Regular Expression
- Pattern Description: Redirects all supported Goodreads URLs to BiblioReads
- Advanced options:
- Apply to:
- Main window (address bar)
- Apply to:
To Redirect Search Pages:
Rule 1:
- Description: Goodreads to BiblioReads Search Page - Rule 1
- Example URL: https://www.goodreads.com/search?q=the+hobbit&qid=
- Include pattern:
^https:\/\/www\.goodreads\.com\/search\?q=(.*)$
- Redirect to:
https://biblioreads.eu.org/search/$1
- Pattern type: Regular Expression
- Pattern Description: Redirects all Goodreads search page URLs to BiblioReads
- Advanced options:
- Apply to:
- Main window (address bar)
- Apply to:
Rule 2:
- Description: Goodreads to BiblioReads Search Page - Rule 2
- Example URL: https://www.goodreads.com/search?utf8=%E2%9C%93&q=the+hobbit&search_type=books
- Include pattern:
^https:\/\/www\.goodreads\.com\/search\?utf8=%E2%9C%93&q=(.*)$
- Redirect to:
https://biblioreads.eu.org/search/$1
- Pattern type: Regular Expression
- Pattern Description: Redirects all Goodreads search page URLs to BiblioReads
- Advanced options:
- Apply to:
- Main window (address bar)
- Apply to:
FAQ
How Do I Use This?
There are two ways you can use BiblioReads:
- Visit biblioreads.eu.org (or another instance) and paste the Goodreads book URL into the input box or search for a book using the input box.
- Replace the
https://www.goodreads.com
of any book page URL withhttps://biblioreads.eu.org
(or another instance URL). For example: www.goodreads.com/book/show/5907.The_Hobbit to biblioreads.eu.org/book/show/5907.The_Hobbit.
How Does This Work? - Scraping
Since Goodreads stopped issuing new developer keys for their public developer API back in December of 2020 and plans to retire the current version of their API which you can learn more about here. BiblioReads goes to the Goodreads book page and scrapes the required content.
How Did You Come Up With The Name?
The "Biblio" in BiblioReads comes from the prefix biblio- meaning book and "Reads" comes from the ending of Goodreads which is what this website is an alternative front-end for.
What Do You Do With My Data?
Nothing. Since we don't collect any user data, we can't use any user data.
Why Is This Slower Than Goodreads?
When you make a request for a book on BiblioReads, your request needs to be first scraped by the scraper from Goodreads before the result can be shown to you. This causes a delay from when you make the request to when the result is shown.
Why Is This Missing Functionality?
If you have a certain feature that you would like to see, feel free to open an issue on GitHub or Codeberg.
Comparison
Comparing BiblioReads to Goodreads
Speed
The Hunger Games Book Page (Tested on Chrome v108, without scroll, no throttling, cache disabled)
Performance | BiblioReads | Goodreads |
---|---|---|
Request Count | 45 | +190 |
Data Transferred | 137 kB | +24.8 MB |
DOMContentLoaded: | 191ms | 1.79s |
Finish Time: | 3.27s | 9.26s |
Privacy
Goodreads collects information about your device and uses tracking cookies for advertising among other reasons, this can be found in their privacy policy. Blacklight found 16 ad trackers and 40 third-party cookies.
- See what cookies and trackers Goodreads uses: https://themarkup.org/blacklight?url=www.goodreads.com
- See what cookies and trackers BiblioReads uses: https://themarkup.org/blacklight?url=biblioreads.eu.org
Installation:
Manual Installation
Prerequisites:
- Clone the Git Repository
git clone https://github.com/nesaku/BiblioReads.git
cd BiblioReads
- Install & Start The Project
npm install
npm run start
# or
yarn install
yarn start
Docker Installation
Docker CLI:
docker run -d \
--name biblioreads \
-p 3000:3000 \
--restart unless-stopped \
-e NEXT_PUBLIC_HOST_URL=http://biblioreads.local \
-e NEXT_TELEMETRY_DISABLED=1 \
nesaku/biblioreads:latest
Docker-Compose:
- Download (or copy)
docker-compose.yml
from here. - Edit or add environment variables to the
docker-compose.yml
- A full list of environment variables can be found here
- Run the command
docker-compose up -d
to start the container
More Information:
Visit the Docker Image Repo for more information.
Development
Built Using
- Cheerio
- DOMPurify
- Next.js
- Tailwind CSS
- idb
- next-pwa
- next-themes
Getting Started
To run the development server:
git clone https://github.com/nesaku/BiblioReads.git
cd BiblioReads
# then
npm install
npm run dev
# or
yarn install
yarn dev
ⓘ If you want to use the API directly or run any kind of automation. Please host the project on your own server.
More Screenshots:
Dark Mode | Light Mode |
---|---|
License
Licensed under the GNU AGPLv3. Please see LICENSE.txt for more information.
Disclaimer
BiblioReads does not host any content. All content on BiblioReads is sourced from Goodreads. BiblioReads is not affiliated with Goodreads. Goodreads is a trademark of Amazon Technologies, Inc.