常见路由器开源系统(固件)简介
前段时间在折腾如何通过 SD-WAN 组网方式打通办公室和家里的异地局域网。需要用到路由器的静态路由表功能,但是遍历整个家用路由器市场几乎没有支持这个功能的路由器(只有华硕 RT-AX57 有这个功能,但是成本超出了我的预算)。所有就想着通过将普通路由器刷成开源的路由器系统,这样能将普通路由器的功能大大提升。
确定好方案之后,遇到的第一个拦路虎就是选择哪个路由器固件?因为开源的固件实在是太多了,所以需要先做一个对比,对比一下各个路由器的开源固件都有哪些特点。
常见路由器开源系统(固件)简介
OpenWRT
OpenWRT 无疑是当下最火热的系统,很多品牌路由器或者第三方路由器固件都是基于openwrt定制的,比如:小米路由器的固件。从源头上来说,openwrt是基于Linksy(领势)公司(2002年,这时领势还没有被思科收购)发布的名为WRT54G的无线路由器开放的源码定制的,2003年7月(同年3月Cisco公司以5亿美元的价格收购了Linksys)Cisco(思科)和Linksys(领势)迫于外界压力开源了WRT54G固件代码。2004年1月,OpenWrt 项目启动,但那时OpenWrt 只是小众系统。在当时最热门的系统是Alchemy,也是基于WRT54G源码定制。当然,众多流派中能存活下来而且活的最好的,也就是openwrt了。
官网:https://openwrt.org/
PandoraBox(潘多拉)
PandoraBox(潘多拉)是国内lintel开发的一个基于OpenWRT的分支,对OpenWRT进行本地化二次开发,更符合中国国情。从18.07开始有自己的官网且版本号比Openwrt更提前。缺点支持的型号自然没有原版OpenWRT多,不过中国出售的很多机型都有支持。目前已经停止更新。
官网:https://www.pangubox.com/
LEDE
2016年5月,OpenWrt 的部分核心成员因看不惯既有社区的乌烟瘴气和旧源码的质量,于是基于OpenWrt另起炉灶开了LEDE项目。2018年1月,OpenWrt 老项目和离家出走的LEDE决定复合,名为OpenWrt/LEDE,在原LEDE团队的规矩和主导下运作,但名字仍叫OpenWrt。所以,现在LEDE和Openwrt是指同一个系统。
华硕官版
2011年1月,华硕在CES上发布了RT-N66U路由器,该机型最早使用Asuswrt固件的(华硕更早机器搭载的固件还没统一成型),Asuswrt是基于Tomato-RT/Tomato-USB开发,主要支持博通Broadcom芯片和部分高通Atheros芯片。华硕官版的固件功能和稳定性很强,缺点可定制性不高。华硕大多机型都使用博通CPU,经典机型比如AC68U和AC88U。国内很华硕官改固件就是基于华硕官版改制。
Asuswrt-Merlin(梅林)
2012年6月19日,加拿大人Eric Sauvageau创建了Asuswrt-Merlin(梅林) 项目,Merlin(梅林)固件是基于华硕官版 Asuswrt固件开发。 正统的梅林是基于博通CPU的,有些路由硬件配置与华硕一样,所以可以使用改版的梅林固件,经典机型就是网件(Netgear)的R7000。
官网:https://www.asuswrt-merlin.net/
Padavan(老毛子)
2012年5月3日,俄罗斯人Andy Padavan(老毛子)基于 Asuswrt-Merlin 固件开发出Padavan固件,因为作者是俄罗斯人,所以国内的网友亲切的称之为老毛子固件。RT-N56U搭载的是联发科芯片,后来Padavan被移植到多款基于联发科芯片的路由。MT7620和MT7621成为很多国内厂商使用的解决方案,比如斐讯的K2P。
官网:https://bitbucket.org/padavan/
爱快(IKUAI)
爱快固件是国内爱快集团基于linux系统开发的闭源路由器系统,由爱快集团负责维护和开发。爱快固件是一款商商业化固件,稳定是它的特色。它的另一个特色就是流控。
高恪(GOCLOUD)
跟爱快一样,高恪固件也是一款商业化固件,但允许大家免费使用。高恪固件网络公司负责开发和维护。高恪固件的特点跟爱快很像,都是长于多拔、流控,还有认证、行为管理等功能。而作为商业化固件,稳定性是毋庸置疑的。国内大神制作了许多魔改版高恪固件适配更多的路由器。
DD-WRT
Alchemy 固件在当时取得了巨大的成功,开发了Alchemy固件的Sveasoft公司打算把它商业化,于是搞了个付费费定阅。这个决定引起了很多人的不满,于是Sebastian Gottschall基于Alchemyv16固件开发了第一版DD-WRT v16固件。后期鉴于Alchemy社区的内斗和商业付费的风险,DD-WRT自v23开始将固件核心替换成OpenWrt了。2008年7月26日发现了最后一个版本DD-WRT v24 SP1后停更。现在已复活。
Tomato(番茄,也简称TT)
2006年12月, Jonathan Zarate发布了 Tomato(番茄) 的第一个版本,基于Linksys WRT54G系列和Buffalo WHR-G54S系列机型定制更易用功能更强的固件,主要支持博通Broadcom的系列芯。2010年6月28日,Tomato(番茄) 官方更新了最后一个稳定版v1.28,停更。
Gargoyle(石像鬼)
2008年7月14日,Eric Bishop基于OpenWrt Kamikaze(v7.x和v8.x)发布了Gargoyle(石像鬼)固件的第一个稳定版v1.0,加入了自己的包管理器,格式为 gpkg。Gargoyle(石像鬼)固件核心也是基于OpenWrt系统,但是重新设计了前端。
参考文章:
https://post.smzdm.com/p/az6528mp/
https://blog.csdn.net/weixin_48141487/article/details/120903436
相关文章:
常见路由器开源系统(固件)简介
前段时间在折腾如何通过 SD-WAN 组网方式打通办公室和家里的异地局域网。需要用到路由器的静态路由表功能,但是遍历整个家用路由器市场几乎没有支持这个功能的路由器(只有华硕 RT-AX57 有这个功能,但是成本超出了我的预算)。所有就…...
HCIE-Cloud Computing LAB备考第二步:逐题攻破--第二题:FusionAccess-搭建FA实验环境之安装基础组件和初始化ITA组件
HCIE-Cloud Computing LAB备考第二步:逐题攻破–第二题:FusionAccess-思维导图+题目=建立逻辑 专业术语 名词描述备注FusionAccess华为推出的桌面云产品,是一种虚拟桌面应用,它主要通过在硬件上部署FusionAccess配套的软件基础上,虚拟化出相互隔离的桌面,用户通过瘦客户端…...
Android APP检查设备是否为平板
正文 Android APP判断设备是否为平板的三种方法: 通过屏幕尺寸判断。一般来说,平板电脑的屏幕尺寸比手机大很多,可以根据屏幕的长宽比和尺寸等信息来区分设备类型。通过屏幕像素密度判断。一般来说,平板电脑的屏幕像素密度比手机…...
MP:使用步骤、分页、queryWrapper
Mybatis-Plus 官网: MyBatis-Plus (baomidou.com) 1. 意义 mybatis-plus是一个插件,它不能单独使用,必须配合mybatis使用,作用是简化mybatis操作,通过使用MP提供的方法,自动生成SQL语句进行CRUD 2. 使用步骤…...
C++ string类
C string类讲解 1、为什么学习string类? C语言中的字符串 在C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符…...
虚拟机断电centos无法启动
虚拟机断电后centos7无法正常启动 XFS(sda3) 首先需要查找日志 在界面中查找日志是 journalctl 1.由于我的电脑死机,虚拟机没有正常关闭导致重启后 node1节点:可以登陆但是出现XFS(sda3):Corruption of in-memoru data detectednode2节点&…...
python学习之基于Python的人脸识别技术学习
摘要: 面部识别技术的应用越来越广泛,它广泛应用于安全系统、人机交互、社交媒体、医疗保健等领域。本文介绍了基于Python的人脸识别技术,包括人脸检测、人脸特征提取和人脸识别三个部分。我们使用OpenCV和Dlib库来实现这些功能,…...
[Qt][Android] Qt for Android 环境搭建
建议使用 Linux 环境开发 Qt for Android,Windows 环境不好弄,问题多。 直接按照官方文档给的流程进行一步步做就行了: Getting Started with Qt for Android | Qt 6.4https://doc.qt.io/qt-6/android-getting-started.html建议使用 ubuntu…...
maven setting 配置
<?xml version"1.0" encoding"UTF-8"?><settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/SETTINGS/1.0.0…...
【0基础学爬虫】爬虫基础之网络请求库的使用
大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学…...
超级实用,解密云原生监控技术,使用prometheus轻松搞定redis监控
前言 大家好,我是沐风晓月,本文收录于《 prometheus监控系列》 ,截止目前prometheus专栏已经更新到第8篇文章。 本文中的是prometheus已经安装好,如果你还未安装,可以参考 prometheus安装及使用入门 若你想监控其他…...
音视频开发—MediaCodec 解码H264/H265码流视频
使用MediaCodec目的 MediaCodec是Android底层多媒体框架的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合使用,可以编码H264、H265、AAC、3gp等常见的音视频格式 MediaCodec工作原理是处理输入数据以产生输出数据 MediaCodec工作流程 Med…...
CVPR 2023|淘宝视频质量评价算法被顶会收录
近日,阿里巴巴大淘宝技术题为《MD-VQA: Multi-Dimensional Quality Assessment for UGC Live Videos》—— 适用于无参考视频质量评价的最新研究成果被计算机视觉领域顶级会议IEEE/CVF Computer Vision and Pattern Recognition Conference 2023(CVPR 20…...
【C++学习】继承
🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! C是面向对象的编程语言,它有很多的特性,但是最重要的就是封装,继承…...
【03173】2020年8月高等教育自学考试-软件开发工具
一、单项选择题:1. 区别于一般软件,对软件开发工具而言,下列各项最重要的性能是 A. 效率 B. 响应速度C. 资源消耗 D. 使用方便2. 在软件开发过程的信息需求中,属于跨开发周期的信息是A. 有关系统环境的需求信息 B. 有关软件设计的…...
Java中的String类
String类1.String类1.1 特性1.2 面试题1.3 常用方法1.4 String与其他类型之间的转换2. StringBuilder类、StringBuffer类:可变字符序列1.String类 1.1 特性 String类为final类,不可被继承,代表不可变的字符序列; 实现了Serializ…...
【java】笔试强训Day3【在字符串中找出连续最长的数字串与数组中出现次数超过一半的数字】
目录 ⛳选择题 1.以下代码运行输出的是 2.以下程序的输出结果为 3.下面关于构造方法的说法不正确的是 ( ) 4.在异常处理中,以下描述不正确的有( ) 5.下列描述中,错误的是( ) 6.…...
一文7个步骤从0到1教你搭建Selenium 自动化测试环境
【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。本文详细介绍了搭建自动化测试环境所需的工具,让你学习自动化测试不…...
Oracle目录应急清理
Oracle目录应急清理清理错误位置的归档日志清理30天前的监听告警日志清理监听日志清理30天以前的trace文件清理30天以前的审计日志清理错误位置的归档日志 检查$ORACLE_HOME/dbs下是否有归档文件: ls $ORACLE_HOME/dbs/arch* | wc -l检查和修改归档位置࿱…...
使用 OBS 进行区域录制
1. OBS 与区域录屏 实际上 OBS 的使用场景可谓是与区域录屏格格不入的。 虽然我们依旧有一些办法在 OBS 中达到区域录屏的目的,但其操作实在过于繁琐,还不如直接使用 QQ 或者 Windows 最新的自带截屏录屏来进行区域录屏来的方便实在。 但若非常强烈的…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
