常见路由器开源系统(固件)简介
前段时间在折腾如何通过 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 最新的自带截屏录屏来进行区域录屏来的方便实在。 但若非常强烈的…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
