docker system df: 6.5 GB
your disk: full
I got tired of docker system prune giving back 2 GB while the disk stayed full. So I built a tool that shows what df doesn’t tell you.
Here’s what df misses:
→ Container logs. The default json-file driver has no size limit and no rotation, and df doesn’t count logs at all.
→ Build cache. Part of it is shared with your images, so prune frees less than df says.
→ Volumes. You get one total, with no idea which compose stack they belong to.
dockdu shows all of it in one command:
• log size per container, and whether it’s rotated
• build cache that prune would NOT free
• everything grouped by compose project
• orphan volumes, named
• on Docker Desktop: what Docker.raw really takes on disk vs. what Finder says
It never deletes anything. There isn’t even a flag for it. It just tells you which command to run.
Read-only. No network. Static Go binary or a FROM scratch container.
brew install maximilianfeix/tap/dockdu
Free, MIT. Link below 👇
How big is the gap on your machine?
Your AI coding agent keeps a plain-text copy of every API key you’ve ever pasted into it.
Claude Code, Codex, Gemini CLI, Cursor, Cline: they all save full sessions to disk. Every .env the agent read. Every key you pasted “just to test one call”. Every printenv it ran while debugging.
So I built spillage with Claude Code. It finds them, scrubs them, and blocks the next one.
What it does:
→ reads the local logs of 13 coding agents
→ detects 56 key types (Anthropic, OpenAI, GitHub, AWS, Stripe, Supabase…)
→ tells you HOW each key got there: you pasted it, a tool printed it, or the model repeated it
→ links you straight to the page where you rotate it
Then:
spillage scrub redacts them in place without breaking claude --resume
spillage guard install adds hooks that block keys in prompts, block cat .env / printenv, and clean up when a session ends
The weirdest thing I found while building it:
A prompt you block with a Claude Code hook still gets written to the session file. It’s never sent, but it sits on your disk. That’s why there’s a session-end scrub hook.
It goes beyond your laptop, too. GitHub search finds ~16,000 SpecStory and ~5,000 Aider chat logs committed to public repos. There’s a GitHub Action and a pre-commit hook for that.
Zero dependencies. Zero network code. Secrets are only ever shown masked. That seems fair for a tool you point at your secrets.
One thing to know: scrubbing cleans your disk, it doesn’t un-send anything. If a key is in there, it went to the provider. Rotate first.
Free and MIT licensed:
brew install maximilianfeix/tap/spillage
Link below 👇 Run it and tell me what it finds (masked 😅)
Free proxy lists are ~all dead. And some of the "working" ones inject scripts, break TLS, or are honeypots.
I built an open-source tool that checks them for real.
proxy-scraper (MIT, Python):
→ pulls from 700+ public lists
→ real HTTP / SOCKS4 / SOCKS5 handshake for every proxy
→ verified TLS test
→ honeypot + script-injection detection
→ hourly-updated list, per-country lists
→ local rotating proxy: one endpoint, failed proxies get swapped automatically
→ MCP server, so AI agents can fetch pages through checked proxies
Try it, no install:
uvx proxy-scraper-cli --pick 5
Honest limits: they're still free public proxies. Good for testing and public data, not for logins or anything private.
Built with AI assistance (Claude Code); I design and test it myself.
Feedback welcome: which check would you add?
#Python #WebScraping #opensource