tinywifi / BiblioReads

An Alternative Private Goodreads Front-End.

Home Page:https://biblioreads.netlify.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BiblioReads Logo

BiblioReads

BiblioReads is a free and open source alternative Goodreads front-end focused on privacy.

Scrapes content from the Goodreads book page and presents the results without any of the bloat.

Inspired by Nitter, libremdb and other open source alternative front-end projects.

Screenshots

Dark Mode: Light Mode
Dark Mode - Homepage Light Mode - Homepage
Dark Mode - Results Light Mode - Results

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

URLs:
biblioreads.ml
biblioreads.ga
biblioreads.netlify.app

FAQ

How Do I Use This?

There are two ways you can use BiblioReads:

  1. Visit biblioreads.ml and paste the GoodReads book url into the input box.
  2. Replace the https://www.goodreads.com of any book page url with https://biblioreads.ml. Then click the "Fetch Data" button. For example: www.goodreads.com/book/show/5907.The_Hobbit to biblioreads.ml/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 the their API which you can learn more about here. BiblioReads, goes to the Goodreads book page and scrapes the required content.

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.

What Do You Do With My Data?

Nothing. Since we don't collect any user data we can't use it

Why Is This Missing Functionality?

BiblioReads, is still a work in progress and new functionality is continually being developed. If you have a certain feature that you would like to see, feel free to open an issue on GitHub


Comparison

Comparing BiblioReads to Goodreads.

Speed

The Hunger Games Book Page (Tested on Chrome v106; without scroll; no throttling)

Performance BiblioReads Goodreads
Request Count 13 +180
Data Transferred 179 kB +24 MB
DOMContentLoaded: 224ms 1.94s
Finish Time: 10.62s 16.68s

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

  • Next.js
  • Cheerio
  • TailwindCSS
  • 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 use the API directly or run any kind of automation. Please host the API on your own server.

About

An Alternative Private Goodreads Front-End.

https://biblioreads.netlify.app

License:GNU Affero General Public License v3.0


Languages

Language:JavaScript 99.9%Language:CSS 0.1%