The open-source story behind Gulag Cleaner
From a Rust tool to a web app in the browser — the story and the philosophy behind Gulag Cleaner.
Gulag Cleaner started as a weekend project in Rust. Its author was a Spanish engineering student who was fed up with downloading exams from Wuolah and finding four sponsored pages wrapped around every real page. The first version was 200 lines of command-line code that read a PDF, looked for a handful of Spanish keywords and dropped the flagged pages. It went up on GitHub under the name gulagcleaner, which is where this domain gets its name.
From the command line to the browser
A CLI is fine for developers. It's terrible for the students who actually need the tool. This site rebuilds the same idea as a pure web app: nothing to install, nothing to upload, nothing to wait for. The same engine, compiled to WebAssembly, runs inside your tab; pdf-lib counts the pages of the result and pdf.js draws the preview.
The three rules we don't break
1. Zero uploads, ever. The moment we add a server upload, we've become the very thing we set out to replace. If a feature can't run in the browser, we don't ship it.
2. Zero dark patterns. No newsletter modal, no "sign up to remove more than 10 pages". It's free forever because it is.
3. Whole pages only. The moment we start editing the content of a page, we're rewriting someone's work. The line stays at per-page deletion.
Where the project is going
More detection signatures (Perlego, Course Hero and a couple of French platforms), better internationalisation and a small library of shareable "profiles" so a study group can agree on what counts as an ad. Everything that can be done in the browser, we'll do in the browser. Everything else, we won't.