Skip to content

pforret/curlpipebash

Repository files navigation

About this site

What is curlpipebash.com?

curlpipebash.com is a documentation site that catalogs, analyzes and documents curl | bash installation scripts used by popular open-source projects. Many well-known tools -- Docker, Homebrew, nvm, Laravel and others -- offer a one-liner like this as their recommended installation method:

curl -s https://example.com/install.sh | bash

This site downloads those scripts, runs code analysis on them, and presents the results in a readable format so you can see exactly what each script does before you run it.

What you'll find here

Each example page includes:

  • The curl command needed to run the script
  • A description of what the script installs
  • A reference link to the project's official documentation
  • Code statistics generated by cloc (lines of code, comments, blank lines)
  • The full source code of the script, so you can read it before piping it to bash

The site also has a blog section with posts about newly analyzed scripts and observations about the curl | bash pattern in the wild.

Why does this site exist?

The curl | bash pattern is both convenient and controversial. It lets you install software with a single command, but it also means you're piping code from the internet directly into your shell. That requires trust.

This site exists to make that trust more informed. By presenting the full source code and statistics for each script, it lets you:

  • Inspect before you install -- read the actual code a script will execute
  • Compare approaches -- see how different projects structure their installers
  • Understand the scope -- check how many lines of code you're about to run and in what languages

Projects covered

The site currently includes installation scripts from projects such as:

Project URL What it installs
Docker get.docker.com Docker Engine
Homebrew brew.sh macOS package manager
nvm nvm-sh/nvm Node Version Manager
Laravel laravel.build Docker-based Laravel app
FrankenPHP frankenphp.dev FrankenPHP server
basher basherpm/basher Bash package manager
PHP/Composer/Laravel php.new PHP, Composer and Laravel
Google Cloud SDK sdk.cloud.google.com Google Cloud CLI tools

New scripts are added regularly -- check the blog for the latest additions.

How it's built

The site is built with MkDocs and the Material for MkDocs theme. The example pages are generated automatically by a custom bash script (curlbash.sh) built on the bashew framework. The generation pipeline:

  1. Downloads the installation script via curl
  2. Runs cloc to produce code statistics
  3. Wraps everything into a structured Markdown page
  4. MkDocs renders the final HTML

The site is deployed to GitHub Pages via GitHub Actions.

Author

This site is maintained by Peter Forret.

About

How people use curl | bash

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •