Top Related Projects
Lean's LEDE source
An opensource OpenWrt variant for mainland China users.
This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
openwrt常用软件包
Argon is a clean and tidy OpenWrt LuCI theme that allows users to customize their login interface with images or videos. It also supports automatic and manual switching between light and dark modes.
Quick Overview
Lienol/openwrt is a fork of the OpenWrt project, which is an open-source Linux operating system targeting embedded devices. This repository provides a customized version of OpenWrt with additional features, packages, and optimizations maintained by Lienol.
Pros
- Includes additional packages and features not found in the official OpenWrt release
- Regular updates and maintenance by the repository owner
- Customized for specific hardware and use cases
- Active community support and contributions
Cons
- May have potential stability issues compared to the official OpenWrt release
- Limited documentation specific to this fork
- Possible compatibility issues with some official OpenWrt packages
- Requires more technical knowledge to set up and maintain compared to stock router firmware
Getting Started
To get started with Lienol/openwrt:
-
Clone the repository:
git clone https://github.com/Lienol/openwrt.git
-
Update feeds:
cd openwrt ./scripts/feeds update -a ./scripts/feeds install -a
-
Configure the build:
make menuconfig
-
Build the firmware:
make -j$(nproc)
-
Find the compiled firmware in the
bin
directory.
Note: Building OpenWrt requires a Linux environment and several dependencies. Make sure to check the repository's README and OpenWrt documentation for detailed requirements and instructions.
Competitor Comparisons
Lean's LEDE source
Pros of lede
- More active development with frequent updates and contributions
- Larger community support and user base
- Broader range of supported devices and hardware
Cons of lede
- May have more experimental features, potentially less stable
- Larger codebase, which can be more complex to navigate and maintain
Code Comparison
lede:
#include <linux/module.h>
#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/kdev_t.h>
openwrt:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/uaccess.h>
Both repositories are forks of the OpenWrt project, focusing on customizing and enhancing the original firmware. lede tends to have more frequent updates and a larger community, which can lead to faster development and broader device support. However, this may also result in a more complex codebase and potentially less stable experimental features.
openwrt, maintained by Lienol, may offer a more conservative approach with potentially fewer bleeding-edge features but possibly increased stability. The code comparison shows similar structure in both projects, with minor differences in included headers, reflecting their common OpenWrt heritage.
Ultimately, the choice between these repositories depends on the user's specific needs, preferred device support, and desired balance between cutting-edge features and stability.
An opensource OpenWrt variant for mainland China users.
Pros of immortalwrt
- More active development with frequent updates and commits
- Broader device support, including newer and more diverse hardware
- Enhanced performance optimizations for modern networking equipment
Cons of immortalwrt
- Potentially less stable due to rapid development cycle
- May have a steeper learning curve for newcomers due to additional features
- Larger codebase and image size, which could impact resource-constrained devices
Code Comparison
immortalwrt:
-- Enhanced Wi-Fi configuration
config wifi-device 'radio0'
option type 'mac80211'
option channel 'auto'
option band '2g'
option htmode 'HT40'
option country 'US'
openwrt:
-- Basic Wi-Fi configuration
config wifi-device 'radio0'
option type 'mac80211'
option channel 'auto'
option hwmode '11g'
The immortalwrt code snippet shows more advanced Wi-Fi configuration options, including band selection and country code, which may provide better performance and compliance with local regulations. The openwrt code is simpler but offers less fine-tuning for Wi-Fi settings.
This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
Pros of OpenWrt
- Larger community and more frequent updates
- Wider range of supported devices and architectures
- More comprehensive documentation and user guides
Cons of OpenWrt
- May lack some specialized features found in Lienol's fork
- Potentially slower to incorporate certain experimental features
- Less focus on specific regional adaptations (e.g., for Chinese users)
Code Comparison
OpenWrt:
static int wpa_driver_nl80211_set_key(void *priv, struct wpa_driver_set_key_params *params)
{
struct i802_bss *bss = priv;
struct wpa_driver_nl80211_data *drv = bss->drv;
int ifindex = if_nametoindex(bss->ifname);
struct nl_msg *msg;
int ret = -1;
Lienol's OpenWrt:
static int wpa_driver_nl80211_set_key(void *priv, struct wpa_driver_set_key_params *params)
{
struct i802_bss *bss = priv;
struct wpa_driver_nl80211_data *drv = bss->drv;
int ifindex = if_nametoindex(bss->ifname);
struct nl_msg *msg;
int ret = -1;
Note: The code snippets shown are identical in this comparison, as both projects are based on the same core OpenWrt codebase. Differences may be more apparent in specific feature implementations or customizations.
Pros of helloworld
- Focused specifically on providing proxy and VPN solutions for OpenWrt
- More frequent updates and active development
- Smaller codebase, potentially easier to understand and contribute to
Cons of helloworld
- Limited scope compared to the full OpenWrt ecosystem
- May require additional configuration or packages for a complete setup
- Less comprehensive documentation and community support
Code Comparison
helloworld:
local proxy_port = 1080
local redir_port = 7892
local http_port = 1081
local dns_port = 5353
openwrt:
local sys = require "luci.sys"
local uci = require "luci.model.uci".cursor()
local m, s, o
m = Map("network", translate("Network"))
s = m:section(TypedSection, "interface", translate("Interfaces"))
Summary
helloworld is a specialized project focusing on proxy and VPN solutions for OpenWrt, offering frequent updates and a more focused codebase. However, it has a limited scope compared to the full openwrt project, which provides a complete router operating system. openwrt offers a more comprehensive solution but may be more complex to navigate and contribute to due to its larger scope.
openwrt常用软件包
Pros of openwrt-packages
- More focused on package management and updates
- Larger collection of pre-compiled packages
- Frequent updates to keep packages current
Cons of openwrt-packages
- Less comprehensive system-level customization options
- May require additional configuration for full system integration
- Potentially less stable due to frequent package updates
Code Comparison
openwrt:
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
make -j$(nproc) V=s
openwrt-packages:
git clone https://github.com/kenzok8/openwrt-packages
cd openwrt-packages
./scripts/feeds update -a
./scripts/feeds install -a
The openwrt repository provides a complete OpenWrt build system, allowing for full customization and compilation of the entire firmware. In contrast, openwrt-packages focuses on providing a collection of pre-compiled packages that can be easily integrated into existing OpenWrt systems.
openwrt offers more control over the entire system build process, making it suitable for users who want to customize their firmware from the ground up. openwrt-packages, on the other hand, is ideal for users who want to quickly add or update specific packages without rebuilding the entire system.
While openwrt-packages offers a wider range of readily available packages, it may require additional steps to integrate them fully into a custom OpenWrt build. Users should consider their specific needs and technical expertise when choosing between these repositories.
Argon is a clean and tidy OpenWrt LuCI theme that allows users to customize their login interface with images or videos. It also supports automatic and manual switching between light and dark modes.
Pros of luci-theme-argon
- Focused solely on providing a modern, sleek theme for OpenWrt's LuCI interface
- Offers a responsive design with both light and dark modes
- Regularly updated with new features and improvements
Cons of luci-theme-argon
- Limited in scope compared to openwrt, which is a full firmware distribution
- Requires an existing OpenWrt installation to be useful
- May not be compatible with all OpenWrt versions or custom builds
Code Comparison
luci-theme-argon (CSS snippet):
.login-page .login-container .login-form {
background-color: var(--form-bg-color);
border-radius: 6px;
padding: 30px;
width: 300px;
margin: 0 auto;
}
openwrt (Makefile snippet):
define Package/base-files
SECTION:=base
CATEGORY:=Base system
DEPENDS:=+netifd +libc +procd +jsonfilter +NAND_SUPPORT:ubi-utils +fstools +fwtool
TITLE:=Base filesystem for OpenWrt
URL:=http://openwrt.org/
VERSION:=$(PKG_RELEASE)-$(REVISION)
endef
The code comparison shows that luci-theme-argon focuses on styling and user interface elements, while openwrt deals with system-level package definitions and configurations.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developers, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.
Sunshine!
Download
Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to OpenWrt, try the Firmware Selector.
If your device is supported, please follow the Info link to see install instructions or consult the support resources listed below.
An advanced user may require additional or specific package. (Toolchain, SDK, ...) For everything else than simple firmware download, try the wiki download page:
Development
To build your own firmware you need a GNU/Linux, BSD or macOS system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.
Requirements
You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.7+ rsync subversion unzip which
Quickstart
-
Run
./scripts/feeds update -a
to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default -
Run
./scripts/feeds install -a
to install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfig
to select your preferred configuration for the toolchain, target system & firmware packages. -
Run
make
to build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.
Related Repositories
The main repository uses multiple sub-repositories to manage packages of
different categories. All packages are installed via the OpenWrt package
manager called opkg
. If you're looking to develop the web interface or port
packages to OpenWrt, please find the fitting repository below.
-
LuCI Web Interface: Modern and modular interface to control the device via a web browser.
-
OpenWrt Packages: Community repository of ported packages.
-
OpenWrt Routing: Packages specifically focused on (mesh) routing.
-
OpenWrt Video: Packages specifically focused on display servers and clients (Xorg and Wayland).
Support Information
For a list of supported devices see the OpenWrt Hardware Database
Documentation
Support Community
- Forum: For usage, projects, discussions and hardware advise.
- Support Chat: Channel
#openwrt
on oftc.net.
Developer Community
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-devel
on oftc.net.
License
OpenWrt is licensed under GPL-2.0
Top Related Projects
Lean's LEDE source
An opensource OpenWrt variant for mainland China users.
This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
openwrt常用软件包
Argon is a clean and tidy OpenWrt LuCI theme that allows users to customize their login interface with images or videos. It also supports automatic and manual switching between light and dark modes.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot