What is easy-install?
easy-install is a cross-platform cli tool written in rust that simplifies installing binaries from GitHub releases and other sources. Think of it as a universal package installer that works across windows, linux, macOS, android and OpenWrt routers.

The beauty of ei is that it handles all the tedious stuff automatically: downloading the correct binary for your platform, extracting archives (even formats like xz that some devices don't support), setting permissions, and managing your PATH.
OpenWrt devices typically have extremely limited storage—often just 30-100MB of usable space. Plus, many regions have restricted GitHub access, and some systems blacklist curl/wget for GitHub domains. easy-install handles all these edge cases elegantly with built-in proxy support and automatic compression.
Installation
Getting started is simple. Use curl or wget:
curl -fsSL https://raw.githubusercontent.com/easy-install/easy-install/main/install.sh | sh wget -qO- https://raw.githubusercontent.com/easy-install/easy-install/main/install.sh | sh Or if GitHub access is restricted in your region, use a CDN proxy:
curl -fsSL https://cdn.jsdelivr.net/gh/ahaoboy/ei-assets/install.sh | sh -s -- --proxy jsdelivr This installs ei to ~/.ei/ei. Add it to your PATH:
export PATH="$HOME/.ei:$PATH" Configuration for OpenWrt
Configure ei for your architecture (I recommend musl to avoid libgcc_s.so.1 errors):
ei config target x86_64-unknown-linux-musl # or aarch64-unknown-linux-musl If GitHub is blocked, set up a proxy:
ei config proxy gh-proxy For storage-constrained devices, you can change the install directory:
ei config dir /tmp/large_ei The UPX Trick
Here's where it gets interesting. Most OpenWrt devices have very limited storage:
Filesystem Size Used Available Use% Mounted on /dev/root 98.3M 25.5M 70.7M 27% / UPX (Ultimate Packer for eXecutables) is a compression tool that can reduce binary sizes by 30-60%. install it with ei:
ei upx/upx export PATH="$HOME/.ei/upx:$PATH" Compress ei itself:
upx ~/.ei/ei File size Ratio Format Name -------------------- ------ ----------- ----------- 5726880 -> 2388972 41.72% linux/amd64 ei Enable automatic UPX compression for all future installs:
ei config upx true Software I've Installed
Here are some tools I'm running on my OpenWrt router, all installed with a single command:
Fish Shell
Fish is a user-friendly, cross-platform shell with excellent autocompletion.
ei fish-shell/fish-shell # Output: -rwxr-xr-x 14.5M fish -> 2.9M /root/.ei/fish That's a 14.5MB binary compressed down to 2.9MB!
Starship
Starship is a blazing-fast, customizable prompt written in rust. It works across any shell and looks gorgeous.
ei starship/starship Coreutils (rust Edition)
If you hit missing dependency errors (like mktemp), uutils/coreutils provides rust implementations of Unix core utilities.
ei ahaoboy/coreutils-build --name mktemp Neofetch Alternative
The original neofetch doesn't work well with OpenWrt's default sh. There's a rust implementation that works perfectly:
ei ahaoboy/neofetch You could also use Brush, a rust-based bash shell implementation.
Dufs
Dufs is a powerful file server with WebDAV support—perfect for sharing media across your local network.
ei sigoden/dufs Amp
Amp is a text editor with syntax highlighting support for multiple languages.
ei jmacdonald/amp iperf3
iperf3-static is essential for network speed testing.
ei userdocs/iperf3-static
Top comments (0)