4
0
Fork
You've already forked firmware-selector
0
A simple OpenWrt firmware selector using autocompletion.
  • JavaScript 52.8%
  • CSS 24.4%
  • HTML 17.7%
  • Shell 2.9%
  • Python 2.2%
Find a file
Hosted Weblate 8a47b19151 Translated using Weblate (Japanese)
Currently translated at 100.0% (44 of 44 strings)
Co-authored-by: yohru <yohru7@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/openwrt/firmware-wizard/ja/
Translation: OpenWrt/Firmware Wizard
2025年03月02日 17:19:44 +01:00
.github/workflows ci: use upstream server for pages 2024年09月23日 17:02:24 +02:00
misc www: combine local/remote configuration and update docs 2024年09月10日 13:22:18 +02:00
tests tests: fix language selection 2024年09月25日 22:49:18 +02:00
www Translated using Weblate (Japanese) 2025年03月02日 17:19:44 +01:00
.eslintrc.json chore: run prettier 2024年06月10日 10:14:47 +02:00
.flake8 collect.py: add flake8 code style tool 2020年08月06日 14:57:56 +02:00
.gitignore ci: add site building and testing 2020年08月06日 19:26:07 +02:00
.prettierignore CI: ignore JSON lang files from linting 2022年02月09日 17:55:28 +01:00
CHANGELOG.md changelog: add v5.0.2 2025年02月23日 18:29:46 +01:00
LICENSE add cc0 license 2020年02月21日 15:57:30 +01:00
package.json ci: add eslint and prettier check 2020年08月06日 14:57:56 +02:00
README.md readme.md: replace tab 2024年09月12日 09:04:38 +02:00

OpenWrt Firmware Selector

A simple OpenWrt firmware selector using autocompletion. Uses plain HTML/CSS/JavaScript. Checkout the Demo.

image

Quick Run

  • Download the sources and change the working directory
  • Start webserver (e.g. python3 -m http.server)
  • Go to http://localhost:8000/www/ in your web browser

Configure with config.js.

Installation

Steps:

  1. Place the www/ folder somewhere web accessible.
  2. Set image_url in www/config.json to where the images are located.
    Example: https://downloads.openwrt.org
  3. Organize the images like on downloads.openwrt.org.
    Example: https://downloads.openwrt.org/releases/23.05.4/targets/ramips/mt7621/openwrt-23.05.4-ramips-mt7621-dlink_dir-1935-a1-squashfs-sysupgrade.bin
    (path scheme is <image_url>/releases/<version>/targets/<target>/<subtarget>/)
  4. Place a single .versions.json at image_path. This is optional.
    Example: https://downloads.openwrt.org/.versions.json
{
 "stable_version": "23.05.4",
 "versions_list": ["23.05.4", "19.07.10"]
}

Note: These values can be overwritten with versions and default_version in the config.js file.

  1. Place .overview.json files in each version folder.
    Example: https://downloads.openwrt.org/releases/23.05.4/.overview.json

They can be generated by this shell command:

for VERSION_PATH in 19.07.10/ 23.05.4/; do
 jq -s '{ release: .[0].version_number, profiles: [.[] | .target as $target | .profiles | keys[] as $k | { id: ($k), titles: (.[$k] | .titles), target: $target }] }' $(find "$VERSION_PATH" -iname 'profiles.json') > $VERSION_PATH/.overview.json
done

Generate OpenWrt JSON

The .overview.json file for a version is created from all profile.json files that are generated by OpenWrt when images are created. To enable generation, go to the build settings (make menuconfig): Global build settings ---> [*] Create JSON info files per build image.

If the option is not available (OpenWrt 18.06 or 19.07.3), apply commit openwrt/openwrt@881ed09.

Attended SysUpgrade (ASU)

ASU is a build server that builds OpenWrt images with a given list of packages on request. The firmware-selector can be used as an interface to send these requests and to download the images when finished.

UCI-Defaults

The Firmware Selector allows to define a script to be placed in the /etc/uci-defaults/ folder of the OpenWrt image. These scripts are executed once on the first reboot and then deleted. See the OpenWrt documentation on this topic.

Translations

Visit weblate.org to contribute new translations or to improve them.

Similar Projects