国内OpenWRT固件开发环境介绍
OpenWRT 大概在2017年左右开始进入国内,那个时候 OpenWRT 还叫 LEDE,但都是基于 Linux 系统内核所开发的路由器系统。OpenWRT在 国内的发展,与两个关键词具有强关联关系:科学上网与软路由。科学上网作为部分互联网从业者的刚需,在需求的不断升级下,演变为需要家庭网络的设备均可以通过路由器使用,从而为智能电视、笔记本电脑、iPad等智能终端设备提供翻墙服务,且这一类人的动手能力本身就相对较强。而软路由,作为用户群体庞大的 X86架构,天然与 OpenWRT 适配,在各种虚拟机的加持下,笔记本电脑、NUC等等搭配一个交换机,均可以成为高性能、高扩展性的路由器。
随着 LEDE 合并至 OpenWRT,OpenWRT 的开发和版本发布越来越规范化以及软路由设备的性能提升与推陈出新,国内主流的 OpenWRT 第三方固件也逐渐形成,大多数使用者在选择 OpenWRT 固件时,更趋向于选择这些知名开发者或团队开发的固件,原因如下:
功能的完善性
国内目前主流的OpenWRT系统固件分支的开发者,基本都处于持续更新状态,对上游OpenWRT的版本更新跟进相对更积极。同时由于OpenWRT官方固件对路由器常用功能的完善,以及软件库的建设,相对来说在高版本的固件中,功能更完善。
系统的稳定性
目前国内主流的OpenWRT开发者或开发团队均在OpenWRT固件开发领域深耕多年,例如大雕Lean的LEDE,从2020年开始开发维护至今;Lienol的OpenWRT固件从2019年开始开发维护至今等等。开发者和团队在OpenWRT系统、硬件驱动等方面的熟悉程度也相对较高,从而固件的稳定程度也更高,较少出现各种离奇的Bug。即便存在Bug,在Github进行反馈后也会即使进行修复。
软件生态的完整性
主流团队所开发的OpenWRT固件基本都有自己固件的opkg软件源,这些固件的软件源均为编译时所产生,同时经过开发者或开发团队的调整与优化,在兼容官方固件软件的同时,也能够提供一些类似科学上网或其他独特的固件加成。
对于通用插件,例如Docker、文件管理、DDNS、内网穿透、FullCone全锥NAT等等,目前主流的固件均可以正常支持,所以这些在下面的对比中,也不再作为独立对比项出现。部分科学上网插件,由于各种原因,未收录于官方OpenWRT软件源中,对于使用OpenWRT官方软件源的固件,由于未编译集成特定依赖(例如kmod-*),可能需要进行编译安装,这在一定程度上增加了固件的使用门槛,所以也会将软件源的丰富程度作为一个衡量指标。
几乎为0的盈利能力
国内的OpenWRT固件开发者基本都是为爱发电,在这方面所能获得的收益无限趋近于零。事实上国内开源开发者在通过开源项目获取的收益一直都不是很乐观,这也是大部分开发者放弃OpenWRT这个开源项目固件开发与维护的原因之一。目前在OpenWRT固件圈子内,主要的盈利与收费方式为:定制编译、闭源驱动固件收费、合作与推广特定硬件软路由等等。
国内主流OpenWRT固件
目前在国内的软路由领域,OpenWRT的固件开发有且仅有以下五个主流的开发者或开发团队:
ImmortalWRT
Lienol源码固件
Lean源码固件
iStoreOS固件
KWRT固件(原kiddin9固件)
本篇文章的介绍重点也围绕这五个OpenWRT的第三方固件进行展开,对比项也与日常使用、固件安装与插件是否全面更为相关,系统特殊优化部分就不班门弄斧了。其他的第三方固件,类似X-WRT、CatWRT(主要用于校园网,基于Lean开源固件,但追求稳定性,经过多所高校学生和开源开发者认证)、BleachWRT、eSir、DD-WRT或者其他恩山论坛的固件等等,或因使用规模较小,或目标使用场景限定,或仅编译添加软件包等,就不包括在这篇固件对比文章中。
在系统架构上,由于我个人使用的架构是X86_64的软路由,所以本片内容更倾向于在X86_64架构下的OpenWRT表现。
ImmortalWRT
ImmortalWRT,作者1715173329 (Tianling Shen),项目自2020年3月1日开始。项目作为OpenWRT的fork分支,主要为国内用户提供更贴近国内网络情况的OpenWRT固件。
最新版本:ImmortalWRT 24.10,Linux Kernel版本为6.6
ImmortalWRT的优势:
默认配置国内的软件源
默认系统参数优化
ImmortalWRT软件源收录一些OpenWRT没有的应用,相对更全,例如Dae、OpenClash等科学上网插件。
替换部分精简版系统软件为完整版(例如dnsmasq-full)
支持opkg在线安装kmod模块
内核跟进更为迅速
提供在线编译与下载选项
ImmortalWRT的缺点:
部分硬件驱动为开源版本,性能与稳定性可能不如闭源的商业版本
软件源对闭源的软件不进行收录
默认固件预分配磁盘空间较小,只有300MB,需要自己手动扩容。
ImmortalWRT的相关地址:
IPK软件仓库:ImmortalWrt Downloads
在线编译:ImmortalWrt Firmware Selector
Github:immortalwrt/immortalwrt: An opensource OpenWrt variant for mainland China users.
Telegram:Contact @ctcgfw_openwrt_discuss
Lienol源码固件
Lienol源码固件,作者Lienol,项目自2019年开始。在硬件支持方面较为广泛,对多种硬路由均有很好的兼容与支持,这也使得对Lienol的当前OpenWRT版本难以确认。
最新版本:OpenWRT 24.10, 最高支持Linux Kernel版本为6.6.79 ,编译后版本默认空间450MB ,后续使用需要自行扩容
Lienol固件的优势:
预置热门插件(例如Passwall、SSR Plus+等,这两个插件也是最早一批在OpenWRT上的师夷长技以制夷插件,预置插件降低使用门槛)
相对OpenWRT官方固件更轻量化,移除非必要组件,适配低配设备,例如硬路由等
传闻更稳定
及时跟进上游OpenWRT官方更新
Lienol固件的缺点:
轻量化及深度定制带来的系统兼容性下降,跨固件安装插件可能存在问题。
定制化门槛较高,无法在线自定义编译固件,需手动自行编译固件。
需要使用OpenWRT官方软件源或镜像软件源
Lienol的相关地址:
Github:Lienol/openwrt: Lienol's Modified OpenWrt source
Lean源码固件
(QWRT+)
Lean源码固件作者为coolsnowwolf (coolsnowwolf),又称大雕LEDE固件,同样是来自恩山论坛的大神。大雕Lean应该是国内很早一批开始做OpenWRT固件的开发者(那时候LEDE还没有合并到OpenWRT分支,大雕是在LEDE的基础上进行开发,大概是在18.0版本之前)。Lean的LEDE项目自2020年5月开始,初期提供了不要OpenWRT的插件,例如luci-app-adbyby、UnblockNeteaseMusicGO等插件,部分插件至今还在发挥作用。
最新版本:OpenWRT 24.10,最高支持Linux Kernel版本为6.6.75
Lean源码固件优势:
收费固件(QWRT)使用闭源驱动,性能更好,主要以高通QCA系列为主。
早期支持Fullcone NAT、SFE(Shortcut Forwarding Engine)混合加速等
模块化代码结构通过 package/lean 目录提供独立的功能包
第三方衍生版本较多,例如eSir、Sirpdboy等,插件与配置可共享使用。
Lean源码固件缺点:
部分使用闭源驱动的固件版本需要购买(QWRT)
轻量化及深度定制带来的系统兼容性下降,跨固件安装插件可能存在问题。
定制化门槛较高,无法在线自定义编译固件,需手动自行编译固件。
版本过多,选择恐惧症。
文档碎片化严重,分散在恩山论坛的各个角落
需要使用OpenWRT官方软件源或镜像软件源
Lean的相关地址:
Github:coolsnowwolf/lede: Lean's LEDE source
iStoreOS固件
iStoreOS固件的开发团队来自Koolshare,其目标是将OpenWRT打造为一个轻NAS系统,即在OpenWRT的基础上,通过磁盘与存储相关功能和插件的优化,使软路由具备NAS功能。同时对功能及界面进行优化,对新手软路由用户的体验较好,门槛较低。
最新版本:OpenWRT 22.03.7 (24.10 kernel 6.6目前处于内测阶段)
iStoreOS固件优势:
集成软件中心iStore,插件安装门槛进一步降低
NAS功能集成,适合有内网存储与传输的用户
功能界面优化,更适合新手入门使用
颜值相对较高
升级时可保留插件
支持在线升级,免刷固件
iStoreOS固件缺点:
固件内部分插件闭源
无法在线定制固件
硬路由兼容范围较窄(仅支持ARS2、H6XK、H88K、R2S、R4S、R4SE、R5S、R66S、R68S、R6S、RPI4、RTD1619B、Station P2、T68M、X86_64等)
系统版本落后,对新版本插件可能存在不兼容
iStoreOS相关地址:
官方下载地址:KoolCenter 固件下载服务器
Github:iStoreOS
KWRT固件
(原kiddin9固件)
KWRT固件作者kiddin9,最早是开发了OpenWRT的在线编译网站,后续在用户数量增长之后,开始进行第三方固件的开发。
最新版本:OpenWRT 23.05
KWRT固件优势:
提供自建软件仓库(软件源),插件数量有保证
提供在线编译及自定义编译
预置配置支持编译时选择,例如伪装成iStoreOS、预置Docker、预置科学上网插件等
支持一键配置旁路由模式,降低旁路由用户使用门槛
支持opkg在线安装k-mod模块
KWRT固件缺点:
在线固件编译需要登录,免费账户存在限制
内核版本跟进不及时
开发者较少为系统进行定制优化
KWRT相关地址:
在线编译固件:https://openwrt.ai/
Github:kiddin9/Kwrt: 一分钟在线定制编译
总结归纳
/
ImmortalWRT
Lienol源码固件
Lean源码固件(QWRT+)
iStoreOS
KWRT固件(原kiddin9固件)
OpenWRT版本
24.10
24.10
24.10
22.03
23.05
内核版本
6.6
6.6
6.6
5.15
5.15
在线定制编译(固件选择器)
✅
❌
❌
❌
✅
固件软件源
自建软件源
官方软件源
官方软件源(腾讯云)
自建软件源
自建软件源
kmod模块安装
✅
❌
❌
✅
✅
上游版本跟进
✅
✅
✅
❌
✅
帮助文档
✅
❌
❌
✅
❌
插件数量
丰富
较少
较少
丰富
丰富
付费
免费
免费
闭源驱动版需付费
免费
定制固件有限额按需付费
在线定制编译:即固件是否提供在线编译选择器,并提供编译时预装插件选择和预执行脚本配置系统
固件软件源:使用自建软件源还是官方软件源。一般来说,自建软件源的插件数量大于官方软件源,同时在国内的访问情况更好。
上游版本跟进:是否及时跟进OpenWRT官方版本
帮助文档:是否提供帮助手册用于配置OpenWRT系统,或提供Debug手册等
插件数量:软件源提供的*.ipk 插件数量。当软件源未提供插件的*.ipk文件时,部分情况下需要通过编译来进行安装,麻烦。
付费:是否固件是否收费或付费情况
综上所述,ImmortalWRT 是我最为推荐具有一定动手能力的用户使用的固件,也是我目前在使用的固件。固件系统纯净且稳定,没有乱七八糟的高大全,也就没有了乱七八糟的依赖关系和满目录拉屎的配置文件,同时又提供免费的在线编译与定制化编译软件包,也支持uci-defaults自定义首次运行脚本配置。同时开发者社区也很活跃,有Telegram群组,即便是出现问题解决起来也很快。
个人不太推荐使用恩山论坛的各种高大全固件,作为系统洁癖的我,一方面担心这些开发者编译的固件不够稳定,另一方面也担心系统存在后门。
本文转载自:Deep Router https://deeprouter.org/