Convert Figma logo to code with AI

Lienol logoopenwrt

Lienol's Modified OpenWrt source

3,575
1,826
3,575
1

Top Related Projects

30,880

Lean's LEDE source

An opensource OpenWrt variant for mainland China users.

23,146

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:

  1. Clone the repository:

    git clone https://github.com/Lienol/openwrt.git
    
  2. Update feeds:

    cd openwrt
    ./scripts/feeds update -a
    ./scripts/feeds install -a
    
  3. Configure the build:

    make menuconfig
    
  4. Build the firmware:

    make -j$(nproc)
    
  5. 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

30,880

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.

23,146

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

OpenWrt logo

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

  1. Run ./scripts/feeds update -a to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default

  2. Run ./scripts/feeds install -a to install symlinks for all obtained packages into package/feeds/

  3. Run make menuconfig to select your preferred configuration for the toolchain, target system & firmware packages.

  4. 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

License

OpenWrt is licensed under GPL-2.0