https://github.com/wberrier/openwrt-management-tool
https://github.com/wberrier/openwrt-management-tool
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/wberrier/openwrt-management-tool
- Owner: wberrier
- Created: 2025-01-06T20:02:26.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-02-14T18:27:02.000Z (3 months ago)
- Last Synced: 2025-02-14T19:29:13.082Z (3 months ago)
- Language: Rust
- Size: 45.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OpenWrt Management Tool
This tool helps maintain OpenWrt routers. The install, backup,
upgrade, and set-wifi subcommands require ssh authentication (although
it will also prompt for the password).It is designed to easily upgrade to new releases without having to
reconfigure the device, as well as track configuration in source
control.## Usage
```
# omt --help
Tool to help automate openwrt managementUsage: omt --names
Commands:
build-image build firmware image
install-image install firmware image
create-backup create backup configuration
restore-backup restore backup configuration
upgrade-packages upgrade packages
set-wifi set wifi
help Print this message or the help of the given subcommand(s)Options:
-n, --names
-h, --help Print help
```## Configuration
The base config is shared across all devices.
`conf/base.yml`:
```yaml
---
release: 23.05.5
disabled_services:
- odhcpd
sysupgrade_extension: .bin
packages:
- wpad-mesh-mbedtls# Packages that come in the openwrt published image, but must be specified manually with the image builder
- luci
- luci-ssl
- iwinfoextra_packages:
- tcpdumppackage_removals:
- wpad-basic-mbedtls
```And then each device will need it's own configuration, and can
optionally include configuration from the base config.`conf/image-my-router.yml`:
```yaml
---
target: mediatek
sub_target: filogic
profile: bananapi_bpi-r4
extra_image_name: my-router
release: 24.10.0-rc6
sysupgrade_extension: .itb
packages:
- lm-sensors
# Stuff to include from base.yml
includes:
packages: true
extra_packages: true
package_removals: true
disabled_services: true
```