Tired of blindly piping to bash? vet is a CLI tool that makes this dangerous pattern safe. It lets you review, diff, and lint remote scripts before they run, so you're always in control. Open source and easy to use.
No reviews yetBe the first to leave a review for vet
Maker
📌
Hey hunters! 👋
I'm Artem, the maker of vet, and I'm incredibly excited to share it with you all today.
Like many of you, I practically live in my terminal. And for years, I've had a love-hate relationship with the curl | bash pattern. It's the peak of convenience for installing developer tools, but every time I run it, a small part of me winces. We're all one typo, one compromised server, or one malicious script away from a very bad day.
Manually downloading, reading, and then running the script is the "right" way, but let's be honest—it's a hassle, so most of us don't do it.
That's why I built vet.
vet is a simple, security-first CLI tool that makes the safe way the easy way. Instead of piping to bash, you pipe it (conceptually) to vet:
💻 ```bash
vet https://example.com/install.sh
```
It then wraps the entire process in a safety net:
- Review First: It always shows you the full script in your pager before anything runs.
- Automatic Diffing: vet remembers the last time you ran a script from a URL. If the script has changed—even by a single character—it will automatically show you a diff. You can see exactly what's new before you approve an update.
- Optional Linting: If you have shellcheck installed, vet will automatically run it on the script to catch common errors or suspicious code patterns for you.
- Final Confirmation: Nothing runs without your explicit yes.
What makes it unique?
While you can always do this manually, vet automates the entire best-practice workflow into a single, fast command. The automatic diffing against a trusted, cached version is something I haven't seen in other tools and is the core reason I built it. It answers the crucial question: "I've run this before, but is it still safe today?"
Even our installer at getvet.sh is a teaching moment—it works via curl | sh, but the landing page encourages you to inspect the source first, embodying the project's entire philosophy.
vet is open source, written as a single, robust bash script, and is ready for you to use. I'm here all day to answer any questions and would love to hear your feedback.
Is this a tool you'd add to your workflow? What features would make it even better?
Thanks for checking it out