Skip to content
This repository has been archived by the owner on Mar 5, 2023. It is now read-only.

freifunk-bielefeld/firmware-selector

Repository files navigation

OpenWrt Firmware Selector


The Firmware Selector is a web interface to let end users select the correct OpenWrt firmware for their wireless router.

A live demo can be found here.

Firmware selection: selection

Firmware table: table

Features:

  • scrapes HTML file listings or reads data from JSON API (array of relative image paths)
  • English, German and Polish translations are available
  • over 500 firmware file to model mappings
  • distinguishes between stable, unstable and testing branches
  • debugging options to identify files not matched and patterns that match no file

Similar projects:

Start

  1. Download the source code
  2. Copy config_template.js to config.js
  3. Start a webserver in the project folder

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 python3 -m http.server 8080 from within this directory (the directory where README.md can be found) and you are done.

Model Database

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. If the revision string is empty, it will be taken from the file name.

TODO

  • add image search box