Feb 13, 2026¶
The thought of tiny flowers in a winter garden didn’t leave my head for some time, so today I vibed a wrapper around Mozilla Readability library (actually, a port by Giuliano Panzironi).
It fetches a page from a given URL, passes it through main content extraction and cleaning, and presents in a distraction free layout using Solarized Dark theme.
Here’s an example of what it looks like:
https://reader.demin.dev/?url=https://peter.demin.dev/life/feb-13-2026_0.html
The evening I spent openining random pages in full-screen mode and enjoying distraction free content.
In the spirit of minimalism I made this service a socket-activated Go binary. So it doesn’t take any of the precious RAM on my tiny VPS when idle, but also has a very small runtime footprint:
○ reader-api.service - Reader extractor API
Loaded: loaded (/etc/systemd/system/reader-api.service; static)
Active: inactive (dead) since Sat 2026-02-14 05:44:36 UTC; 3min 13s ago
Duration: 68ms
Invocation: 03e5cdeca63e4b60bc0d3c073ed2872a
TriggeredBy: ● reader-api.socket
Process: 1325849 ExecStart=/opt/reader/reader (code=exited, status=0/SUCCESS)
Main PID: 1325849 (code=exited, status=0/SUCCESS)
Mem peak: 3.2M
CPU: 45ms
Feb 14 05:44:36 demin-dev systemd[1]: Started reader-api.service - Reader extractor API.
Feb 14 05:44:36 demin-dev systemd[1]: reader-api.service: Deactivated successfully.
Feb 14 05:44:36 demin-dev reader[1325849]: 2026/02/14 05:44:36 listening on systemd activation socket
Can it get more minimal than that? I don’t think so.
Please don’t scrape whole internet through my proxy.
UPD: I quickly realized that in addition to being a public unauthenticated proxy, this service also exposed my VPN network in a limited way. I considered various ways to harden this setup, and decided to just move it inside of the VPN perimeter.
So, you can’t see it, but be consoled that I still use it and it’s going great.