explaingit

stupidloud/nanopi-openwrt

5,545ShellAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

Pre-compiled OpenWrt router firmware images for NanoPi single-board computers, download, flash to an SD card, and turn your board into a fully controllable router.

Mindmap

mindmap
  root((repo))
    What it does
      Router firmware
      OpenWrt based
      Pre-compiled images
    Hardware
      NanoPi R2S R4S
      NanoPi R1S R1 Plus
      x86 boards
    Use Cases
      Home router
      Custom firmware build
      VPN router
    Setup
      SD card flash
      Image Builder
      GitHub Actions
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Flash a NanoPi R2S or R4S with OpenWrt to replace factory firmware and get full control over routing and firewall rules.

USE CASE 2

Build a custom firmware image with exactly the packages you need by editing a config file and running a GitHub Actions workflow.

USE CASE 3

Set up a compact travel router with a 5GHz USB WiFi adapter using the RTL8821CU driver included in the firmware.

USE CASE 4

Upgrade firmware over the network from the terminal with a single shell command without reflashing the SD card.

Tech stack

ShellOpenWrtGitHub Actions

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a supported NanoPi board, an SD card, and a flashing tool like Etcher, README is in Chinese.

License not specified in the explanation.

In plain English

Nanopi-openwrt is a project that provides pre-compiled OpenWrt router firmware for NanoPi single-board computers, including the R1S, R2S, R2C, R4S, and R1 Plus models, as well as x86 hardware. OpenWrt is a Linux-based operating system for routers that replaces the factory firmware, giving you full control over routing, firewall, and networking features. The project offers two variants. The slim build includes only the OpenWrt base system plus a local package repository containing most common add-ons, so you install only what you need through the package manager after booting. The full build comes with a large set of add-ons pre-installed. Both use the ext4 filesystem so the root partition can be expanded to fill the entire SD card after flashing. Flashing is straightforward: download a .img.gz file from the releases page, write it to an SD card using a flashing tool (the README recommends Etcher), insert the card, and power on. Once the board connects to the network, the router admin panel is accessible in a browser at http://immortalwrt/ without needing to find the IP address first. Default credentials are root / password. The local LAN address is 192.168.2.1. Online firmware upgrades can be done from the terminal with a single shell command. The project also supports USB wireless adapters using the RTL8821CU chip, which can operate in the 5GHz band. For users who want a customized build, the project includes a pre-compiled Image Builder. By forking the repository, editing a device-specific config file, and triggering a GitHub Actions workflow, you can produce a firmware image with exactly the packages you want in one to three minutes. The README is in Chinese.

Copy-paste prompts

Prompt 1
I have a NanoPi R4S with nanopi-openwrt firmware. How do I add a WireGuard VPN client and configure split tunneling from the OpenWrt terminal?
Prompt 2
Using the nanopi-openwrt Image Builder, write a config file that adds the Adblock and SQM packages to a custom R2S firmware image.
Prompt 3
I just flashed nanopi-openwrt on a NanoPi R2S. Walk me through the first-boot setup to connect it as a WAN gateway with a custom LAN subnet.
Prompt 4
How do I trigger the GitHub Actions workflow in my nanopi-openwrt fork to build a custom firmware image with my package list?
Open on GitHub → Explain another repo

← stupidloud on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.