Giter VIP home page Giter VIP logo

biblioreads's Introduction

BiblioReads

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.

GitHub | Codeberg


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

Instance URL Country Provider Notes
biblioreads.eu.org ๐Ÿ‡บ๐Ÿ‡ธ Netlify Run by me
biblioreads.vercel.app ๐Ÿ‡บ๐Ÿ‡ธ Vercel Run by me
biblioreads.mooo.com ๐ŸŒ Cloudflare Run by me
bl.vern.cc ๐Ÿ‡บ๐Ÿ‡ธ Hetzner Run by ~vern
biblioreads.lunar.icu ๐ŸŒ Cloudflare Run by Lunar.ICU
read.whateveritworks.org ๐ŸŒ Cloudflare Run by WhateverItWorks
biblioreads.privacyfucking.rocks ๐Ÿ‡ฉ๐Ÿ‡ช 1Blu.de Run by PrivacyFucking.Rocks
read.seitan-ayoub.lol ๐Ÿ‡ฉ๐Ÿ‡ช Hetzner Run by unstablemaple
read.freedit.eu ๐Ÿ‡บ๐Ÿ‡ธ Cloudflare Run by Freedit
biblioreads.ducks.party ๐Ÿ‡ณ๐Ÿ‡ฑ Timeweb Run by nyuuzyou
biblioreads.snine.nl ๐ŸŒ Cloudflare Run by snine.nl
biblioreads.privacyredirect.com ๐Ÿ‡ซ๐Ÿ‡ฎ Private WebHost Run by privacyredirect
Onion:
bl.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion ๐Ÿ‡บ๐Ÿ‡ธ Hetzner Run by ~vern
I2P:
vernapl3lpo3huqdx3pjzxqgdgavxjlmdskbvejh2gfqgmjuyvxq.b32.i2p ๐Ÿ‡บ๐Ÿ‡ธ Hetzner Run by ~vern

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)

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)
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)

FAQ

How Do I Use This?

There are two ways you can use BiblioReads:

  1. 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.
  2. Replace the https://www.goodreads.com of any book page URL with https://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.


Installation:

Manual Installation

Prerequisites:

  1. Clone the Git Repository
git clone https://github.com/nesaku/BiblioReads.git
cd BiblioReads
  1. 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 \
  nesaku/biblioreads:latest
Docker-Compose:
  1. Download (or copy) docker-compose.yml from the repository
  2. Edit the default environment variables with your variables (Optional)
  3. Run the command docker-compose up -d

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.