Skip to content

Freifunk-Rhein-Neckar/gluon-firmware-selector

 
 

Repository files navigation

OpenWrt/LEDE Firmware Wizard

This Firmware Wizard lets a user select the correct firmware for his device. Directory listings are used to parse the list of available images.

Similar projects:

Screenshot

screenshot of the firmware wizard

Configuration

Image paths and available branches can be set in config_template.js which has to be renamed to config.js. In addition, directory listings have to be enabled in your prefered web server:

Apache Webserver

Create a .htaccess file that enables directory listings:

Options +Indexes

Nginx Webserver

For nginx, auto-indexing has to be turned on:

location /path/to/builds/ {
    autoindex on;
}

Python Webserver

For testing purposes or to share files in a LAN, Python can be used. Run python -m http.server 8080 from within this directory (the directory where README.md can be found) and you are done.

Docker

docker build -t gluon-firmware-selector .
docker run -p 80:80 -v /path/to/firmware/:/images:ro -v /path/to/config.js:/usr/share/nginx/html/config.js:ro --name web_firmware gluon-firmware-selector

For https support check jrcs/letsencrypt-nginx-proxy-companion

List of available router models

All available router models are specified in devices.js via that will match against the filenames. If no hardware revision is given or is it is empty, the revision is extracted from the file name.

{
  <vendor>: {
    <model>: <match>,
    <model>: {<match>: <revision>, ...}
    ...
  }, ...
}

If two matches overlap, the longest match will be assigned the matching files. On the other hand, the same match can be used by multiple models without problems.

Adding a device

To add a device follow these steps:

  1. Check if the device has Gluon support. This list is where to check.
  2. Make a fork and a branch for the device
  3. Go into devices.js
  4. Add the router to the correct list. See the scheme above
  • If the device is still recommended use devices_recommended
  • Otherwise use the correct list, e.g. devices_4_32 or devices_ath10k_lowmem
  1. If Gluon can be installed without modification through the vendor UI, skip step 5
  2. Add the installation instructions in the devices_info list. This is idealy an OpenWRT link, otherwise the Git commit of the device. The scheme is similar to the one in number 3. Just look at the other devices.
  3. Kindly open a Pull Request. Thank you for your contribution!

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

About

Firmware selector for gluon router images

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 85.6%
  • CSS 6.8%
  • HTML 6.8%
  • Other 0.8%