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)