An Alternative Medium Frontend
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Aravinth Manivannan 32c7bbca3d
ci/woodpecker/push/woodpecker Pipeline was successful Details
feat: switch to woodpecker CI build status
1 month ago
.github feat: use cargo-tarpaulin for generating coverage 1 year ago
config create tmp cache directory if one is not specified 1 year ago
schemas light weight graphql query to fetch data to construct post URL 1 year ago
scripts use grcov to get rust code coverage 1 year ago
src chore: linting 1 month ago
templates feat: add styling for MIXTAPE_EMBED 1 month ago
tests feat: test content rendering 1 month ago
.dockerignore pkg docker 1 year ago
.gitignore feat: use cargo-tarpaulin for generating coverage 1 year ago
.woodpecker.yml feat: migrate to woodpecker CI 1 month ago
Cargo.lock chore: update deps 1 month ago
Cargo.toml chore: update deps 1 month ago
Dockerfile chore: update docker base rust img 1 year ago
LICENSE.md add license 1 year ago
Makefile feat: make: add check subroutine 1 month ago
README.md feat: switch to woodpecker CI build status 1 month ago
build.rs chore: linting 1 month ago
libmedium.user.js userscript: proxy using post ID 1 year ago
sailfish.toml chore: update deps 1 month ago

README.md

LibMedium

Privacy-focused proxy for medium.com

Awesome Humane Tech status-badge 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.

Features

  • proxy images
  • proxy GitHub gists
  • render posts
  • syntax highlighting for gists
  • user pages(WIP)
  • RSS feeds

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.

Instances

Instance Country Provider Host
https://libmedium.batsense.net India Airtel @realaravinth
https://md.vern.cc US Hetzner ~vern
http://md.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/ N/A Hetzner ~vern
http://vernaqj2qr2pijpgvf3od6ssc3ulz3nv52gwr3hba5l6humuzmgq.b32.i2p/ N/A Hetzner ~vern
https://medium.hostux.net France Gandi hostux

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