Lean OpenWrt/Lede固件编译教程 可路由器SS/SSR/V2Ray

  • A+
所属分类:软件
摘要

OpenWrt/Lede则属于第三方开发的路由器固件,开源,基于Linux。相对官方固件来说,OpenWrt/Lede更加的开放,可以选装各种第三方插件,实现更多功能。

关于OpenWrt/Lede固件编译

在介绍固件编译流程前,我们先介绍一些基础内容,以方便部分初级用户。

1.路由器固件

路由器的固件,相当于路由器上运行的系统。一般来说,路由器的出厂固件,相对比较稳定,但是在功能上会有所欠缺。比如你想要在官方固件下实现科学上网功能,基本是不可能实现的。

而OpenWrt/Lede则属于第三方开发的路由器固件,开源,基于Linux。相对官方固件来说,OpenWrt/Lede更加的开放,可以选装各种第三方插件,实现更多功能。

2.OpenWrt/Lede的特点

优点:

  • 开放,可定制
  • 支持安装或修改第三方插件

不足:

  • OpenWrt/Lede官方固件功能非常有限,只提供基础功能。如果要实现去广告、科学上网、内网穿透等功能,需要另外安装插件。
  • 在不同的硬件或内核下、各插件并不通用,也就是插件碎片化。

3.Lean OpenWrt/Lede的特点

Lean的OpenWrt/Lede,是在OpenWrt/Lede官方源码的基础上,额外添加多个常用插件,功能可选,基本解决了OpenWrt/Lede官方原版固件的不足。

优点:

  • 基于OpenWrt最新源码,可自由定制插件功能,生成符合自己需求的个性化固件。
  • 集成多个常用插件,可选安装,比如独有的Adbyby Plus、SSR Plus。
  • SSR Plus又集成了常用的上网工具:Shadowsokcs/SSR/V2Ray/Trojan/Kcptun路由器客户端。
  • 可选集成OpenVPN、WireGuard路由器客户端。

不足:

  • Lean的固件,提供的是源码,目前并不提供成品固件,所以使用前需要自己动手编译。这一点其实不算不足,更多是由于路由器硬件的碎片化、以及个人功能定制的差异化。

4.编译Lean的固件难度大吗?

编译,只是路由器固件成品前的最后一步。相当于在生产线上,各种原材料已经为你准备好了,你要做的,就是根据几个操作指令,让机器将原材料组装为成品。

因此,编译OpenWrt/Lede固件,并不需要太多的编程基础。也就是说难度并不大,但需要一定的耐心。

具体编译过程我们下面会详细介绍,争取让初级用户也能看懂会操作。

5.有其它类似Lean固件的OpenWrt/LEDE源码可供编译吗?

Lienol的OpenWrt/Lede固件源码,是在Lean源码的基础上,做了比较多的修改和定制,比如较有特色的Passwall等一些新插件。

如果在编译本文Lean的固件时出现问题,或者想要尝试其它固件,可以尝试Lienol版路由器固件。

编译环境要求

建议在搭建编译环境时,参考以下要求,以提高编译成功率。

1.硬件环境:

编译过程比较消耗CPU和内存,另外对硬盘空间也有一定要求。

建议:

  • CPU:双核或以上
  • 内存:2G或以上
  • 硬盘:30G以上,推荐50G起步。

2.系统环境:

编译固件需要在Linux系统下进行,作者推荐的是Ubuntu 18.04。

如果你暂时没有这个系统,那么有两种方法供参考:

  • 在国外VPS服务器上,安装Ubuntu系统(推荐)。
  • 在Windows系统下,使用虚拟机搭建Ubuntu系统(不推荐)。

为什么不推荐本地设备上安装Ubuntu呢,因为网络环境问题,下面具体解释。

3.网络环境:

在OpenWrt/Lede固件编译过程中,需要下载很多依赖,其中大部分资源都在国外服务器。

在国内网络环境下,下载速度会非常慢,甚至部分资源会下载失败,可能会造成两种后果:

  • 部分资源下载失败,造成编译报错,白白浪费时间。
  • 侥幸下载成功,但会大幅拉长编译时间,甚至一到两天都无法完成。

那如果挂代理编译呢,这种方法也不推荐,因为这样只能避免下载失败,但是下载速度仍然得不到保证,编译时间可能被大幅拖长。

综合以上几点,还是推荐在国外VPS服务器上完成编译,下载速度轻松达到几十MB/s。

编译环境的搭建

根据上文的要求,我们需要一台较高配置的国外VPS服务器。但是在完成编译任务后,就没有使用需求了。

创建非root用户。

Lean固件源码作者,要求使用非root用户进行编译。但是默认情况下,Vultr提供的是root用户。这样我们就需要在编译前,为服务器创建一个新的用户,下面以创建名称为free的用户为例。

具体步骤:

1.先以root用户使用Putty登录,右键复制以下命令运行,创建用户free:

2.设置新用户密码,注意设置时密码不显示:

3.修改用户权限文件sudoers为可写:

4.用Winscp打开/etc/sudoers文件,找到如下位置:

在以上内容的下面一行,添加如下代码后保存:

5.修改sudoers文件权限为只读:在Winscp中右键点击sudoers文件——属性,去掉W权限前的对勾。

Lean OpenWrt/Lede 固件编译流程

建议避开晚上网络高峰期,以避免中途掉线,提高编译成功率。

注意:Lean源码在最近的更新后,默认去除了ssr plus+模块,如果你想要重新添加这一模块,建议提前参考:

解决Lean固件源码编译时找不到luci-app-ssr-plus的问题 重新添加ssr plus+

具体编译流程:

1.使用Putty以刚才创建的free用户登录VPS,右键复制以下命令运行:

2.运行以下命令安装部分编译依赖:

3.运行如下命令将Lean的源码下载至服务器:

4.依次运行如下命令开始配置编译参数:

5.出现target system(x86)-->界面时,就可以对路由器固件进行功能定制了。依次选好最上面的三项,找到自己的路由器型号。

其中:

  • Target System:可以选择路由器的CPU品牌、架构等信息。
  • Subtarget:进一步精确选择,一般可以精确到CPU型号(部分路由器可能不显示此项)。
  • Target Profile:可以选择具体的路由器型号。
  • Luci:可自定义插件,建议首次编译时,先不要修改默认配置,以提高编译成功率。
  • 其它各项:一般无需修改,保持默认即可。

如果你不清楚自己路由器的CPU品牌、架构、型号等信息,那么可以进入以下文章链接,按Ctrl+F5,根据路由器型号进行反查。

哪些路由器支持刷OpenWrt/LEDE固件实现科学上网?品牌型号及CPU架构查询列表

按键指南:

  • 上下键:选中项目
  • 回车键:进入所选项目,或者在进入项目后,可以选择小项并退出。
  • 左右键:可以选中最下面的菜单项,包括Exit(退出)、Save(保存)等。
  • y键:小项目中按y添加功能模块
  • n键:小项目中按n取消功能模块

6.选好路由器型号后,其它各项目都已经随之调整好。

额外调整(可选):

IPv6支持:进入Extra packages项目,使用方向键选中ipv6helper,按y键添加功能。
U盘/移动硬盘支持:如果你的路由器有USB接口,建议选中并添加automount和autosamba功能。

各种插件可以在Luci项目下的Applications中找到,在路由器flash足够的情况下,像Adbyby Plus+、ShadowsocksR Plus+等插件,都是默认集成的。

关于各插件的详细功能介绍,可以参考:Lean OpenWrt/Lede固件编译所含全部插件列表功能注释

7.以上选择完成后,就可以保存配置,然后退出参数配置界面

如何保存配置:

键盘右键选中菜单中的Save,按回车键进入保存界面。在下图界面中,直接按回车键保存。

出现configuration written to .config后,回车退出,最后一路Exit退出配置界面。

8.完全退出配置界面后,运行以下命令下载dl库

9.运行以下命令开始编译。

  1. 首次编译耗时较长,可能需要2-5个小时耐心等待。首次编译成功后,再次编译的时间会大幅缩短。
  2. 以上命令中的-j1,表示单线程编译,目的是为了万一出现错误时,可以按顺序查看错误提示,找出问题所在。如果多线程编译的话,错误提示可能是乱序的。
  3. 如果你对编译效率要求较高,可以修改参数提高线程数,比如双核CPU改为-j2。

4.最后编译成功后,会出现xxx@xxx:~/lede$ 提示。编译成功后的固件,位于/home/free/lede/bin/targets,我们一般选择名称中带有factory的固件下载使用。

路由器固件刷写成功后,默认配置如下:

  • IP地址:192.168.1.1
  • 登录用户名:root
  • 登录密码:password

编译失败报错怎么办

在进行固件编译时,有一定机率会报错,同时编译会提前中止,也就是编译失败。

如果出现这种情况,建议查看编译中止时的报错信息(error)。

看下报错信息与哪个组件有关,找到后重新配置编译参数,暂时去除这个组件再尝试进行编译。

如何重新配置参数、添加/删除插件,进行个性化定制

我们上文提到过,首次编译时,建议不要修改默认配置,以提高编译成功率。

首次编译成功后,我们就可以再次修改配置,根据自己的需要,添加或删除部分插件。

注意:

可选插件的多少,与你的路由器闪存大小相关,请在默认配置的基础上,有限添加插件,否则可能会造成编译生成的固件太大,无法成功刷入路由器。

具体步骤:

1.删除原配置:

2.重新配置参数:

3.在配置界面选好路由器型号后,进入Luci项目下的Applications,选择需要添加的插件,按y添加,或者选中不需要的插件,按n删除。

配置完成后保存,退出配置界面。

4.开始二次编译,第二次编译速度很快,可能十几分钟就可以完成。

在OpenWrt/Lede固件编译完成后,如果你觉得在一段时间之后,可能还需要根据最新源码进行二次编译。

那么低成本二次编译流程:

1.将当前系统做一个快照(Snapshots),并记住当前用户密码,以备下次直接使用。

2.销毁当前服务器,以停止计费。

3.在下次需要编译时,重新创建Vultr服务器,记得选择创建好的快照进行恢复。

4.使用原free用户名和密码登录,依次运行以下命令更新源码,并开始编译:

 

以上采用恢复快照的方式,可以省去首次编译的大量时间消耗,快速完成二次编译,同时节省成本花销。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: