# Yet Another Firmware Selector
-A simple OpenWrt firmware selector using autocompletion. Uses plain HTML/JavaScript.
+A simple OpenWrt firmware selector using autocompletion. Uses plain
+HTML/CSS/JavaScript. Checkout the [Demo](https://mwarning.github.io/yet_another_firmware_selector/).
![image](misc/screenshot.png)
-Checkout the [Demo](https://mwarning.github.io/yet_another_firmware_selector/)!
-Run:
+## Run
-* Download repository and change directory to it
+* Download repository and change directory
* Start webserver (e.g. `python3 -m http.server`)
-* Go to `http://localhost:8000`
+* Go to `http://localhost:8000` in your web browser
Configure with [config.js](config.js).
-## Update Database
+## Attended Sysupgrade Support
-The `data.json` is based on JSON files created by OpenWrt (master): `Global build settings ---> [*] Create JSON info files per build image`.
+This firmware selector can speak to a [ASU server](https://github.com/aparcar/asu) to build custom images. To enable the feature, the `asu_url` option in the config.js needs to be set.
-A [Python script](misc/collect.py) is included that can merge all these JSON files for a new `data.json` file: `./collect.py bin/ --link 'https://downloads.openwrt.org/releases/%release/targets/%target/%file' > data.json`.
+## Update Database
-## Contributions
+The `names-<version>.json` files are based on JSON files created by OpenWrt
+(master): `Global build settings ---> [*] Create JSON info files per build
+image`.
-It would be nice to have more features. E.g.:
+A [Python script](misc/collect.py) is included to merge the JSON files:
+`./collect.py bin/ --url
+'https://downloads.openwrt.org/releases/{version}/targets/{target}' >
+overview.json`.
-* more translations
-* help text for images
-* better CSS
+For the OpenWrt 18.06 and 19.07 releases, you need to patch OpenWrt to output JSON files for collect.py (commit [openwrt/openwrt@881ed09](https://github.com/openwrt/openwrt/commit/881ed09ee6e23f6c224184bb7493253c4624fb9f)).
## Similar Projects
- [Gluon Firmware Selector](https://github.com/freifunk-darmstadt/gluon-firmware-selector): Original source of this project for images generated by [Gluon](https://github.com/freifunk-gluon/), now with pictures.
- [Freifunk Hennef Firmware Downloader](https://github.com/Freifunk-Hennef/ffhef-fw-dl): Similar to the project above, but PHP based.
-- [LibreMesh Chef](https://chef.libremesh.org/): Allows to select configurations.
+- [LibreMesh Chef](https://github.com/libremesh/chef/): Allows to select configurations.
- [GSoC Firmware Selector](https://github.com/sudhanshu16/openwrt-firmware-selector/): Result of the GSoC
- [FFB Firmware Selector](https://github.com/freifunk-bielefeld/firmware-selector): Build for Freifunk Bielefeld