Build custom OpenWrt firmware images with a web interface and automated GitHub Actions.
- π Web Interface - OpenWrt Image Builder frontends via GitHub Pages
- β‘ GitHub Actions Build - Builds and uploads firmware to releases
- π§ Config2UCI - Convert config files to UCI commands
- Fork this repository
- Enable GitHub Pages in repository settings
- Visit
<username>.github.io/<repo-name>to access the builder
- Web interface triggers GitHub Actions workflow
- Select from scripts in
/files/etc/uci-defaults/or input custom ones - OpenWrt ImageBuilder downloads and configures
- Firmware image is compiled and uploaded to GitHub Releases
This repo can use the following secrets, which may be set in the repository (Settings β Secrets and variables β Actions) to automatically populate variables in configuration files located in files/etc/uci-defaults directory:
.
βββ files
β βββ etc
β βββ uci-defaults
β βββ script1
β βββ script2
β βββ script3
βββ ... | Secret Name | Variable Name | Description | Example |
|---|---|---|---|
ROOT_PASS |
root_password |
Administrator (root) password for the router | root |
WLAN_NAME |
ssid |
Wireless network SSID | OpenWrt |
WLAN_PASS |
ssid_key |
Wireless network password | 12345678 |
PPPOE_NAME |
pppoe_name |
PPPoE username | username |
PPPOE_PASS |
pppoe_key |
PPPoE password | password |
Before:
# files/etc/uci-defaults/99-custom
# root_password=""
# ssid=""
# ssid_key=""
# pppoe_name=""
# pppoe_key=""After:
# files/etc/uci-defaults/99-custom
root_password="root"
ssid="OpenWrt"
ssid_key="12345678"
pppoe_name="username"
pppoe_key="password"GPL-2.0 - See COPYING and LICENSE files.
Live Demo: azimstech.github.io/openwrt-builder
Issues: Report bugs and requests