An Alternative Medium Frontend
Go to file
Aravinth Manivannan af3c43dbf5
Cache post data using sled
Each post fetch was taking 800ms TAT, so I'm using sled to fetch and
cache post data. This reduced TAT down to 2ms.

However, this could cause storage issues. I must design some sort of
resource manager to clean up cache.
2021-11-02 15:30:25 +05:30
.github fix gh-pages deploy 2021-10-31 23:03:36 +05:30
config read settings and meta routes 2021-10-31 15:12:12 +05:30
schemas Show author photo in metadata section 2021-11-02 13:40:13 +05:30
src Cache post data using sled 2021-11-02 15:30:25 +05:30
templates Cache post data using sled 2021-11-02 15:30:25 +05:30
.dockerignore pkg docker 2021-10-31 22:55:47 +05:30
.gitignore Cache post data using sled 2021-11-02 15:30:25 +05:30
build.rs - run build script when CSS file is changed 2021-11-02 12:00:32 +05:30
Cargo.lock Cache post data using sled 2021-11-02 15:30:25 +05:30
Cargo.toml Cache post data using sled 2021-11-02 15:30:25 +05:30
Dockerfile pkg docker 2021-10-31 22:55:47 +05:30
libmedium.user.js fix js userscript 2021-10-31 23:11:12 +05:30
LICENSE.md add license 2021-10-31 15:11:25 +05:30
Makefile pkg docker 2021-10-31 22:55:47 +05:30
README.md deployment docs 2021-11-01 16:35:22 +05:30
sailfish.yml Cache post data using sled 2021-11-02 15:30:25 +05:30

LibMedium

Privacy-focused proxy for medium.com

Build dependency status codecov

Status

Usable. Should you run into a HTTP 500 Internal Server Error, please file a bug report with the URL of the post you were trying to read and the git commit hash of the build. Git commit hash can be obtained from /api/v1/meta/build.

This proxy works by interacting with Medium's undocumented(probably private but unauthenticated) API. So I've had to make assumptions and tweak API schematics as I run into errors.

Why?

Knowledge is the true wealth of humanity. If it weren't for our ancestors, who chose to pass down their knowledge and experiences, we would still be a primitive species. Whatever advancement that we as a species have achieved is because we chose to share information.

To put a paywall on knowledge like that is both obscene and goes against the very nature of humanity.

It is possible to run a sustainable publication business while still respecting freedom. LWN.net is one of my favourite publications that has been around forever. So it is possible. I hope medium.com comes up with other, non-harmful ways to run a sustainable business.

Deploy

  1. Grab ./config/default.toml and make necessary changes

  2. AMD64 pre-compiled images are available on DockerHub.

docker run -d \
  -v ./config/default.toml:/etc/libmedium/config.toml \
  -p 8082:7000 \
  --restart always \
  --name libmedium \
  realaravinth/libmedium

If you are on a different architecture, run make docker and then run the above command.

make docker

Inspired by Scribe - An Alternative Medium Frontend