Frieren is a framework for running security tools on OpenWrt routers and Single Board Computers (SBCs). It provides a web panel with WiFi management, installable modules, an integrated terminal, and a package manager. The stack is a PHP backend API with a React frontend, designed to be lightweight enough for embedded devices while remaining extensible through third-party modules.
- WiFi Management — Create, edit, and remove wireless interfaces. Scan for networks, configure radios, edit raw UCI config.
- Network — Manage network interfaces, view DHCP leases, and run connectivity diagnostics.
- Module System — Install, remove, and pin third-party modules from a remote repository. Modules load dynamically as UMD bundles.
- Package Manager — Install and remove opkg packages directly from the web panel.
- Integrated Terminal — Web-based terminal (ttyd) accessible from the panel.
- System Tools — Dashboard with system stats, USB device listing, filesystem usage, syslog viewer, diagnostics, and init.d service control.
- Settings — Configure hostname, timezone, user password, and panel theme.
- Extensible — Scaffold new modules with
frieren-module-template. PHP controller + React frontend per module.
- frieren-back — PHP micro-framework. JSON POST API with session auth, CSRF, UCI config integration, and a mini ORM.
- frieren-front — React SPA (Vite, Wouter, Jotai, React Query). Supports dynamic UMD module loading.
- frieren-module-template — Scaffolding tool for developing third-party modules with shared dependencies via window globals.
- frieren-terminal —
@frieren/terminal-core, a TypeScript/xterm.js library bundled into the frontend. Provides the live ttyd terminal client, a read-only log viewer, and the shared terminal themes. - tools — Development helpers: dev API proxy, device deploy script, API test client, and a PHP minifier.
- Frieren Modules: Contains community-developed modules based on the
frieren-module-template. This repository is a resource for users looking to extend the functionality of their Frieren installation with additional features. - Frieren Release: Hosts the installers for deploying precompiled versions of Frieren. This repository is ideal for users who wish to install Frieren quickly and easily without going through the build process.
- Frieren Modules Release: Build pipeline for the module catalog — generates the
modules.jsonindex and the per-module release tarballs that the panel installs from.
Frieren runs on OpenWrt (official builds, not forks). It can be installed via an automated script or compiled manually.
For a quick and easy installation, execute the following command in your terminal. This script will handle all necessary configurations and setup steps:
wget -qO- https://raw.githubusercontent.com/xchwarze/frieren-release/master/install/install-openwrt.sh | shEach component within the Frieren project (frieren-back, frieren-front and frieren-module-template) has its own detailed README.md file with specific build and installation instructions. Please refer to these files in their respective directories for more detailed guidance.
Use frieren-module-template to scaffold new modules. Run yarn wizard to set up a new module, develop your feature, then yarn build to compile a UMD bundle. See the module template README for details.
This project is licensed under the PolyForm Noncommercial License 1.0.0.
Non-commercial use is permitted. Commercial use is not permitted under this license. Commercial use requires a separate commercial license from the author.
For commercial licensing, contact: xchwarze@gmail.com
Contributions welcome — new features, bug fixes, or modules. See each component's README for build instructions.
- Lead Developer: DSR! - xchwarze@gmail.com
If you find Frieren useful, consider supporting development. Donations fund testing hardware and ongoing work. Send via Binance or join Patreon for exclusive updates and builds.


