A simple service that provides short URLs for GitHub-hosted installers.
curl -fsSL instll.sh/rbbr-io/instll.sh | sh
When you want to provide a simple way to install your project.
- Create
instll/
folder in your repository - Add
instll/install.sh
to your repository - Optionally add
instll/uninstall.sh
,instll/ci-install.sh
, etc. - Add installation instructions to your README.md:
curl -fsSL instll.sh/<user>/<repo> | sh
curl -fsSL instll.sh/<user>/<repo>/uninstall | sh
Done!
I could just use raw.githubusercontent.com
to host my scripts:
curl -fsSL raw.githubusercontent.com/user/myproject/refs/heads/main/install | sh
However, it doesn't look as elegant.
Alternatively, I could host it on a separate domain, like I first did for Parascope: get.parascope.dev
. But that would require managing a whole new infrastructure. Instead, I decided to create convention-based serverless installers, so anyone could do it on scale in no clicks!
This service redirects incoming requests to raw GitHub files:
- URL:
instll.sh/inem/rocks
- Result:
raw.githubusercontent.com/inem/rocks/main/instll/install.sh
- Purpose: Downloads the main installation script
- URL:
instll.sh/inem/rocks/add
- Result:
raw.githubusercontent.com/inem/rocks/main/instll/add.sh
- Purpose: Downloads any script from the
instll/
folder
# Main installation script
curl -fsSL instll.sh/inem/rocks | bash
# Custom scripts
curl -fsSL instll.sh/inem/rocks/init | bash
curl -fsSL instll.sh/inem/rocks/uninstall | bash
# Files from subfolders
curl -fsSL instll.sh/inem/rocks/rocks/make-engine > make-engine.mk
repo/
βββ instll/
β βββ install # Main script
β βββ init # Initialization script
β βββ uninstall # Uninstall script
β βββ rocks/ # Subfolder
β βββ make-engine # File from subfolder
Convention: All install scripts should be placed in the instll/
folder (without 'a').
- Simplified installation commands for open source projects
- Quick access to setup scripts
- Shortened URLs for documentation and tutorials