img tag uses pixels without format
[web/firmware-selector-openwrt-org.git] / README.md
index efe2c1e1b928bcc9e2dddec9a52d3ecdf9b4aab2..6ebbb52236b7b7abce79fc1bbbd4f55da6c54644 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,24 +1,45 @@
 # Yet Another Firmware Selector
 
-A simple OpenWrt firmware selector using autocompletion.
+A simple OpenWrt firmware selector using autocompletion. Uses plain
+HTML/CSS/JavaScript. Checkout the [Demo](https://mwarning.github.io/yet-another-firmware-selector/www/).
 
-![image](screenshot.png)
+![image](misc/screenshot.png)
 
-Run:
 
-* Download repository.
-* Go to the project www directory.
+## Run
+
+* Download the sources and change the working directory
 * Start webserver (e.g. `python3 -m http.server`)
-* Go to `http://localhost:8000`
+* Go to `http://localhost:8000/www/` in your web browser
+
+Configure with [config.js](www/config.js).
+
+## Attended Sysupgrade Support
+
+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.
 
 ## Update Database
 
-OpenWrt master has a feature to create json files. The included python script can merge all these files for a new data.json file: `./collect.py bin/ bin2/ > data.json`
+The `overview.json` files are based on JSON files created by OpenWrt
+(master): `Global build settings  ---> [*] Create JSON info files per build
+image`.
+
+A [Python script](misc/collect.py) is included to merge the JSON files into a single overview.json:
+```
+./collect.py merge bin/ --download-url 'https://downloads.openwrt.org/releases/{version}/targets/{target}' > overview.json
+```
+
+If you want to scrape the OpenWrt download website and update the config.js:
+```
+./collect.py scrape https://downloads.openwrt.org /var/www/firmware_selector
+```
 
-## Contributions
+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)).
 
-It would be nice to have more features. E.g.:
+## Similar Projects
 
-* more translations
-* help text for images
-* better CSS
+- [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://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