OpenWrt is an operating system (in particular, an embedded operating system) based on the Linux kernel, primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc or musl, and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers.
Reasons to use OpenWrt
People install OpenWrt because they find it to be superior to the stock firmware of their router or embedded device. This page showcases many aspects of OpenWrt.
Performance & stability
OpenWrt is designed by network professionals and others who care about the performance of their network. OpenWrt incorporates many algorithms from recent research that perform far better than vendor-supplied firmware.
- OpenWrt is stable, and operates reliably for long periods of time.
- OpenWrt reduces latency/lag and increased network throughput via bufferbloat control algorithms.
- Wi-Fi improvements support higher data rates and airtime fairness between stations.
- Older devices are still supported by OpenWrt improvements (as long as RAM/Flash of your device can accommodate new releases) long after the manufacturer stops making updates.
OpenWrt is an open source software. Many developers from all over the world review the code before it’s released.
- No hidden backdoors left by hardware vendors.
- OpenWrt is resistant to common vulnerabilities thanks to its Linux OS which is unaffected by many common attacks.
- OpenWrt is actively updated so any vulnerabilities are closed shortly after they are discovered.
- Default OpenWrt configuration is very conservative allowing full internet connectivity without exposing your router or connected devices to attacks.
- Many of the older devices are supported by OpenWrt and can enjoy security OpenWrt brings, long after vendors stop releasing firmware updates.
- OpenWrt prolongs the life of your router. While many vendors only provide updates for your router/device until the newer model is released, OpenWrt supports all compatible models for as long as their RAM/Flash can accommodate new releases.
While vendor firmware for a router ships with a fixed set of capabilities, OpenWrt provides more than 3000 packages ready to be installed. Some of the more popular packages allow you to:
- Utilize native dual-stack connectivity out-of-the-box or provide IPv4/IPv6 transitioning.
- Block ads on your router so you can enjoy clean uncluttered web experience from any connected device.
- Reduce latency/lag (bufferbloat) even during heavy traffic with Smart Queue Management
- Secure access to your home network when away with OpenVPN or WireGuard server.
- Secure your internet access and prevent your ISP from snooping on your internet activity with OpenVPN or WireGuard client.
- Prevent your ISP from spoofing and snooping on your DNS requests with DNS encryption.
- Encrypt your internet connection, bypass regional restrictions, access the dark net and Tor hidden services with Tor client.
- Force connected devices with hard-coded DNS servers to use your router’s DNS with DNS hijacking.
- Create a guest WLAN allowing access to internet, but not your local devices.
- Control access using the time limits and parental controls.
- Set quota on download volume or bandwidth. Useful for e.g. 3G/4G connection with limited up/download volume.
- Add a webcam for live surveillance or timelapse video creation of landscapes or 3D printers.
- Connect to your weather station with pywws or weewx, record weather statistics and make them accessible via a webserver, garnished with a live webcam image.
- Interact with 1-wire devices (sensors, actors, …).
- Make your router a central for home automation.
- Access a wider range of Dynamic DNS (DDNS) providers than vendor firmware via DDNS scripts.
The vibrant community of developers, volunteers, and other long-time OpenWrt users are always available to help solve an issue.
See also: Communication within the OpenWrt Project
Many teams who are doing cutting-edge research into networking topics use OpenWrt as a stable platform for their work. As their work moves from the experimental realm into practical, production-quality code, it is available in OpenWrt builds first. Some teams using OpenWrt include:
- Continuing development of the fq_codel and cake algorithms that decrease bufferbloat.
- The Make Wi-Fi Fast team has been working to decrease queueing and latency in the wi-fi stack, and is testing out their airtime fairness code using OpenWrt.
- Homenet provides implementation of zeroconf IPv6 (and IPv4) routing, prefix assignment and service discovery for a home network consisting of multiple routers connected to multiple service providers. There’s a hnet-full package for OpenWrt.
Because OpenWrt is a true Linux-based system, you have full control over all functions of your router/device.
- OpenWrt provides both command-line interface (via SSH) and a web-based user interface for configuration.
- Configuration information is stored in plain-text files to ease the editing and/or copying.
- OpenWrt Image Generator allows you to create your own firmware images for your device with any customizations (pre-defined password, WiFi, etc).
- The LuCI WebUI allows you to select themes that suit your needs/tastes In addition, Localization of WebUI is available via packages in over 20 languages.
- Configure the external LEDs and buttons/switches to suit your needs.
OpenWrt is provided for free through its GPL license, and thanks to the efforts of many volunteer contributors (both individuals and companies). There are no subscription or licensing fees.