A free & open source IMDb front-end.
Find a file
2022-03-19 17:22:07 +05:30
controllers initial commit 2022-03-19 17:22:07 +05:30
fetchers initial commit 2022-03-19 17:22:07 +05:30
public initial commit 2022-03-19 17:22:07 +05:30
routes initial commit 2022-03-19 17:22:07 +05:30
utils initial commit 2022-03-19 17:22:07 +05:30
views initial commit 2022-03-19 17:22:07 +05:30
.gitignore initial commit 2022-03-19 17:22:07 +05:30
app.js initial commit 2022-03-19 17:22:07 +05:30
config.env.template initial commit 2022-03-19 17:22:07 +05:30
LICENSE initial commit 2022-03-19 17:22:07 +05:30
package.json initial commit 2022-03-19 17:22:07 +05:30
pnpm-lock.yaml initial commit 2022-03-19 17:22:07 +05:30
README.md initial commit 2022-03-19 17:22:07 +05:30
server.js initial commit 2022-03-19 17:22:07 +05:30

libremdb

A FOSS alternative front-end to IMDb.

Inspired by projects like teddit, nitter and many others.



Features

  • No ads or tracking
    Browse any movie info without being tracked or bombarded by annoying ads.
  • No connection to IMDb
    All requests go through the backend; client never talks to IMDb except for a bunch of requests to m.media-amazon.com for images.
  • No JavaScript required
    Just a few linesof code(~30) to save theme preference, which itself is optional.
  • Modern interface
    Modern interface with curated colors supporting both dark and light themes.
  • Responsive design
    Be it your small mobile or big computer screen, it's fully responsive.
  • Lightweight
    Up movie page
    libremdb IMDb
    no. of requests ~35 ~280
    data consumed 1.35MB 7.75MB

FAQs

  • Why is it so slow?
    Whenever you request info about a movie/show on libremdb, 4 trips are made(2 between your browser and libremdb's server, and 2 between libremdb's server and IMDb's server) instead of the usual 2 trips when you visit a website. For this reason there's a noticable delay. This is a bit of inconvenience you'll have to face should you wish to use this website.

  • It doesn't have all routes.
    I think most of the people just check IMDb to get a quick glimpse of a movie/show. That's why there is just one route for now. However, I will try to implement other important routes if time allows. Keep an eye on To-Do section.

  • Why is it connecting to m.media-amazon.com?
    For now, images are directly served from amazon. If I have enough time in the future, I'll implement a way to serve the images from libremdb instead.

  • Will amazon track me then?
    They may log your IP address. I'd recommend using a VPN for mitigating this risk.

  • Why not just use IMDb?
    Refer to the features section above.

  • Why didn't you use other databases like TMDB or OMDb?
    IMDb simply has superior dataset compared to all other alternatives. With that being said, I'd encourage you to check out those alternatives too.

  • Why did you deploy it on heroku? Why not just buy your own domain name?
    It's just a proof-of-concept for now. However, if you'd like to do so, you are very welcome.


Privacy

In short: libremdb doesn't collect any data at all.

  • Data you directly provide: None.
  • Data you passively provide: Heroku might log some things(like IP address). So, consider hosting your own instance or using a VPN.
  • Data stored in your browser: To remember theme preferences, the website stores a key named 'theme' in Local Storage provided by your browser. Apart from that, there is nothing stored in your browser.

To-Do

soon

  • add advanced search route
  • add did you know and reviews on movie info page
  • implement routes for reviews, quotes, goofs, trivia and crazy credits

at a later stage

  • use redis
  • implement a better installation method
  • serve images from libremdb itself
  • add a way to see trailer and other videos
  • implement other trivial routes

Installation

  1. Install Node.js and Git.
    for Node.js, visit their website.
    for Git, run sudo apt install git if you're on a Debain-based distro. Else visit their website.

  2. Clone and set up the repo.

    git clone https://github.com/zyachel/libremdb.git
    cd libremdb
    cp config.env.template config.env # you can make necessary changes
    # if you use npm, change 'pnpm' to 'npm run' here as well as in package.json
    pnpm install
    pnpm start
    

libremdb will start running at http://localhost:3000.


similar projects

  • Teddit
    Teddit is an alternative Reddit front-end focused on privacy.

  • Nitter
    Nitter is a free and open source alternative Twitter front-end focused on privacy.

  • Bibliogram
    Bibliogram is an alternative front-end for Instagram.

  • Invidious
    Invidious is an alternative front-end to YouTube.

  • Libreddit
    Libreddit is an alternative private front-end to Reddit.

  • Scribe
    Scribe is an alternative Medium frontend.

  • other cool projects →


Contact

[matrix] email
@ninal:matrix.org aricla@protonmail.com

License

Licensed under GNU AGPLv3.
Refer to License for full legalese.