unrager

A calm Twitter/X client for the terminal.
A local LLM drops rage-bait before it reaches your eyes.

─── install ───────────────────────────────
$ curl -fsSL https://raw.githubusercontent.com/guitaripod/unrager/master/install.sh | bash

macOS · Linux · or cargo install unrager

unrager home feed with the rage filter active, showing a −12 count of removed tweets in the status bar
Home feed with the rage filter on. −12 in the status bar is all that remains of twelve tweets the LLM dropped.

─── what it does ───────────────────────

rage filter
Every tweet classified by a local Ollama model against your rubric. Matches are physically removed — not collapsed, not grayed, gone. Verdicts cache to SQLite; edit the rubric and the cache invalidates.
terminal-native
ratatui + crossterm. Inline photos, video posters, GIF frames via the kitty graphics protocol on Ghostty, Kitty, WezTerm. Falls back to glyphs elsewhere.
free reads
Browser cookies → X's own GraphQL endpoints, the same path the web client uses. No API key, no cost, no rate tier.
write via OAuth
Tweet & reply through the official X API v2 with your own registered client. Auto-likes on reply. Your identity, your rate limits.
ask & translate
Inline gemma chat pinned to any post with thread context auto-attached. Press T on any tweet to translate it. Same local model; nothing leaves your machine.
serve anywhere
Optional HTTP server + embedded Dioxus web client. Pair with Tailscale and you have the same feed on iOS, Android, and the browser — one binary, one codebase.

Your home feed, minus the 12 tweets the LLM quietly ate.