An Alternative Medium Frontend
Go to file
2024-06-15 21:07:31 +05:30
.github chore: rm GH actions 2024-06-04 14:05:05 +05:30
config fix: update default source code config param 2024-04-13 06:59:15 +05:30
schemas light weight graphql query to fetch data to construct post URL 2021-11-25 12:35:47 +05:30
scripts use grcov to get rust code coverage 2021-11-25 14:09:42 +05:30
src fix: escape contents of code blocks 2024-06-07 14:20:25 +05:30
templates fix: weird rendering issue on mobile viewports 2024-06-07 00:43:01 +05:30
tests fix: weird rendering issue on mobile viewports 2024-06-07 00:43:01 +05:30
.dockerignore pkg docker 2021-10-31 22:55:47 +05:30
.gitignore feat: use cargo-tarpaulin for generating coverage 2022-01-05 13:03:27 +05:30
.woodpecker.yml fix: guard steps with events and rm secret in PR workflow 2024-04-13 06:21:50 +05:30 chore: linting 2023-02-19 20:08:50 +05:30
Cargo.lock fix(deps): update rust crate derive_more to v0.99.18 2024-06-15 13:04:29 +00:00
Cargo.toml fix(deps): update rust crate config to 0.14 2024-06-05 10:31:53 +00:00
Dockerfile feat: update docker base img 2023-10-20 14:25:51 +05:30
libmedium.user.js userscript: proxy using post ID 2021-11-25 13:50:57 +05:30 add license 2021-10-31 15:11:25 +05:30
Makefile feat: make: add check subroutine 2023-02-19 19:52:11 +05:30 Update SudoVanilla's instance 2024-06-02 23:13:05 -04:00
renovate.json feat: add renovatebot dashbaord 2024-06-04 10:23:05 +05:30
sailfish.toml chore: update deps 2023-02-19 19:52:14 +05:30


Privacy-focused proxy for

Awesome Humane Tech status-badge codecov


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.


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


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. is one of my favourite publications that has been around forever. So it is possible. I hope comes up with other, non-harmful ways to run a sustainable business.


Instance Country Provider Host India Airtel @realaravinth US Hetzner ~vern
http://md.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/ N/A Hetzner ~vern
http://vernaqj2qr2pijpgvf3od6ssc3ulz3nv52gwr3hba5l6humuzmgq.b32.i2p/ N/A Hetzner ~vern France Gandi hostux US Selfhosted SudoVanilla DE Datalix


  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 \

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