文章更新
20200502重构文章以增加可读性
写在前面
OpenWrt是适合于嵌入式设备的一个Linux发行版,小苏为大家带来的是自己编译的OpenWrt固件~
经过很长时间的打磨(咕咕),“自编译OpenWrt固件”现已支持树莓派全系设备(1B~4B),竞斗云和x86_64设备。
版本说明
固件分为三个版本,Lean版,Offical版,Project版:版本为Lean为基于
Lean大源码编译的固件(Luci采用Lean版Luci18.06);
版本为Offical为基于
OpenWrt官方源码Master分支编译的固件(Luci采用官方版Luci19.07);版本为Project为基于
Project-OpenWrt源码18.06-kernel5.4分支编译的固件,目前在仍处于测试阶段(Luci采用Lean版Luci18.06)。
树莓派2B的固件通用于树莓派2B、3B、3B+、4B,但板载无线功能可能不可用。
树莓派1~4
树莓派所有版本固件均
未添加IPV6支持;
树莓派所有版本固件内均已集成所有kmodipk软件包(kmodipk软件包路径:/www/snapshots),opkg软件源也做好了相应设置,无需进行任何额外设置即可使用opkg从本地直接获取kmod包,从此和kmod不兼容情况说拜拜~
本项目中的所有树莓派固件均已集成USB有线网卡驱动和3G/4GUSB网卡驱动。因USB无线网卡驱动各版本支持情况不同,故集成情况也不同;
Lean版固件使用Lean大源码编译,运行稳定,但对于树莓派1~4来说,USB无线网卡驱动支持较差,故固件内未集成除板载无线网卡之外的其他驱动,如确实需要无线网卡驱动,需要自行使用opkg安装相应驱动,如果你仅用作旁路由使用,建议使用此版;
Offical版固件使用官方Snapshot源码+官方LuCI19.07源码编译,源码处于高度活跃开发状态,固件有时可能会因源码问题编译失败,无线网卡驱动支持性较好,固件内已内置大部分USB无线网卡驱动,无需另外安装,在Offical版固件的基础上,添加了大多数Lean版源码中的插件,但插件数量少于Lean版(未集成进Offical固件的Lean版插件即为不支持),对官方源的兼容性较好,如果你有无线网卡需求,并有从软件源中安装软件包的需求,可以考虑使用此版;
Project版固件使用Project-OpenWrt源码18.06-kernel5.4分支编译,源码现处于测试阶段,稳定性介于以上两者之间。LuCI使用Lean版LuCI源码编译,LuCI体验与Lean版固件无异。无线网卡驱动支持性较好,固件内已内置大部分USB无线网卡驱动,无需另外安装,插件齐全(与Lean版源码相同),如果你有无线网卡需求,并且爱好使用LuCI18.06,可以考虑使用此版;
竞斗云
竞斗云固件默认支持IPV6;
竞斗云分Lean版与Project两个版本,版本之间的区别同上文;
由于ROM大小限制,竞斗云固件内未集成kmodipk软件包,未集成USB有线/无线网卡及3G/4GUSB网卡驱动,若需要相关驱动请使用与固件一同提供的package-server安装;
竞斗云固件插件内置情况与树莓派基本相同,但未内置Docker及其相关组件(ROM大小以及设备性能限制);
Project版固件与Lean版固件不支持在LuCI中跨版本(指Project版与Lean版)通刷,如果有跨版本需求,需要在OpBoot中刷入ubi固件。
x86_64
x86_64固件未添加IPV6支持;
x86_64分Lean版与Project两个版本,版本之间的区别同上文;
x86_64所有版本固件内均已集成所有kmodipk软件包(kmodipk软件包路径:/www/snapshots),opkg软件源也做好了相应设置,无需进行任何额外设置即可使用opkg从本地直接获取kmod包。
x86_64固件插件内置情况与树莓派基本相同,固件内置大多数网络驱动、摄像头驱动、大多数USB有线/无线网卡驱动、3G/4GUSB网卡驱动;
x86_64固件同时提供Legacy启动与UEFI启动版本,另外额外提供VirtualBox、VmWare、KVM磁盘映像,导入相应虚拟机中即可使用,无需另外安装。
固件特性
LuCIAPP
下面小苏简单介绍一下固件包含的LuCIAPP:
(以下介绍以Lean版固件为例,因有些APP无法在Offical版OpenWrt上移植,所以Offical版固件数量较Lean版少。不过常用的APP在Offical版上都有~)
1.包含低调上网工具:
固件支持以下低调上网工具:①乳酸菌饮料 Plus+②Passwall③OpenClash
其中Offical版固件中的违禁软件Plus+由Lean版源码移植。
二者现已支持SS/乳酸菌饮料/v贰瑞/Trojan/Socks5协议,支持Kcptun,支持Netflix分流,支持链接/订阅导入节点,Socks5服务器,访问控制,故障节点自动切换。其中Passwall还额外支持Brook和v贰瑞Youtube分流。
2.支持广告屏蔽功能:
固件包含以下广告屏蔽工具:①AdGuardHome②广告屏蔽大师Plus+③KoolProxyRplus+
其中“广告屏蔽大师Plus+”仅可在树莓派1和树莓派2设备上使用,其他版本固件未包含此工具(源码层面不支持)。小苏推荐使用AdGuardHome;
注意:路由器层面的广告屏蔽效果并不好,若对广告十分敏感,建议使用浏览器插件级别的广告屏蔽插件。另外,广告屏蔽工具可能会严重影响网速。
3.支持解锁网易云灰色歌曲:包含Golang/Nodejs/云解锁三种方案。随缘解锁,有时需要运气和特定版本加持。
4.支持Docker容器:其中树莓派1和2仅支持arm架构的Docker镜像,树莓派3和4同时支持arm和aarch64(arm64)架构的镜像。拉取镜像前,请确认镜像有上述架构版本并使用相应架构标签拉取。
5.支持AirPlay2和PCHiFi数字转盘遥控功能,可以通过AirPlay特性推送音乐至树莓派播放和控制。
6.支持Samba/CIFSD/FTP/SFTP文件传输,支持挂载Samba/NFS文件系统至本地,支持Syncthing和VerySync同步,支持Rclone挂载网盘文件到本地。
7.支持文件助手/文件浏览器(Filemanager)/可道云(Kodexplorer),可在线管理OpenWrt内文件。
8.支持Aria2和Transmission下载工具,可下载http/https/BT种子/磁力链接至树莓派。
9.支持乳酸菌饮料服务器(libv/python),v贰瑞服务器,Brook服务器,Trojan服务器,p p t pvirtual**服务器,IPSecvirtual**服务器,Openvirtual**服务器,N2Nv2virtual**,ZeroTier,支持Openvirtual**客户端,p p t p/L2TP客户端,OpenConnect客户端。
10.支持DDNS(支持Dnspod和阿里云DDNS),SmartDNS,ARP绑定。
11.支持Frpc/NPS内网穿透,支持Frps服务端。
12.支持微信推送(Server酱),USB打印服务器,KMS服务器,网络唤醒,迅雷快鸟,天翼家庭云/云盘提速。
13.支持SQMQos,OAF应用过滤。
14.支持udpspeeder和udp2raw加速,支持FULLCONENAT加速,BBR加速。
15.支持多线多拨,负载均衡,MWAN3分流助手。篇幅所限,除上述LuCIAPP之外,固件还包含一些上文暂未列出的LuCIAPP,固件内软件包集成情况可以下载与固件一同提供的manifest文件查看,欢迎下载体验~
命令行工具
除上述LuCIAPP外,固件额外编译了许多命令行工具:
bsdtar bzip f2fs-tools f2fsck fdisk fstrim gotop gzip
lsblk lscpu nano resize2fs rsync rsyncd screen tmate
tmux tree vim unzip usbutils whereis zsh
3G/4G网卡支持
固件内按照
OpenWrtGuide添加了3G/4GUSB网卡驱动,现固件默认已支持3G/UMTS,QMI,NCM,RNDIS协议的3G/4GUSB网卡,同时固件内集成了usb-modeswitch工具,可通过usbmode命令切换USB网卡至工作状态。详情请参考OpenWrtGuide:
初始设置
方式一
将固件刷入SD卡,
断开树莓派上所有的网线连接,将SD卡插入树莓派通电开机,稍等30秒你将可以搜索到一个SSID为:OpenWrt的WIFI热点,连接此热点,在浏览器地址栏输入:
http://192.168.1.1
即可进入Luci控制面板。登陆控制面板时用户名默认为
root,密码默认为
password。
方式二
将固件刷入SD卡,将SD卡插入树莓派通电开机,使用网线连接树莓派和电脑,当电脑提示有线网络已连接后,在浏览器输入:
http://192.168.1.1
来进入控制面板。登陆控制面板时用户名默认为
root,密码默认为
password。
注意
1.首次开机时,请不要将树莓派直接通过网线与路由器或光猫相连。因为树莓派默认的Lan口IP192.168.1.1很可能会与路由器或光猫的IP冲突,导致输入地址后进入路由器或光猫的控制面板。2.当使用“方式二”首次连接树莓派时,无需在电脑上进行静态IP设置。
固件下载
请认真阅读本节内容!!本节包含如何提升固件下载体验的提示。
如果你在固件下载过程中遇到固件下载速度慢/下载失败等问题时,请返回再次阅读一次本节说明!!
点击下表中“Github”或“FastGit”即可跳转到该设备固件下载页面。
其中,“FastGit”为
https://fastgit.org/提供的Github镜像,访问Github困难的朋友可以试试看~
出于安全和隐私考虑,FastGit限制了Github登录操作,故FastGit仅做获取存放于WeTransfer和奶牛快传的固件下载链接之用,国内网络用户,为提高下载体验,可下载存放于这两个网站中的固件副本(详见下文位于表格下方的补充说明)。
补充说明
1.在固件编译完成后,会上传一份副本到WeTransfer和奶牛快传,副本下载地址位于固件下载页面中固件文件列表下的Annotations提示框内(还是找不到?
点击这里~)。在极少数情况下,因网络原因这两份副本可能会上传失败,如果遇到这种情况,就只能下载存放在GithubAction里的固件了:
2.由于GithubAction限制,需要登录Github账号才可下载存放于GithubAction中的固件(未登录时固件链接为灰色,不可被点击),但WeTransfer和奶牛快传的固件下载链接在未登录状态下可正常查看,不受影响;
3.如果需要下载存放于GithubAction上的固件,由于众所周知的原因,请尽量使用低调上网方式下载固件,固件下载完成后,请下载sha256sums文件或使用压缩软件的"测试压缩文件"功能来验证固件的完整性;
4.文件下载时默认被zip压缩,若有需要,请解压zip得到固件后再刷入;
5.固件下载页面标注固件大小为解压zip文件后的大小,并非文件下载真实大小。例如,某文件在GithubAction上标明的文件大小为1.01G,但在下载过程中可能只会下载不到300M的一个zip压缩文件,解压后得到的文件大小才为标注的1.01G;
6.固件在每天凌晨02:00拉取OpenWrt源码和第三方软件包项目自动编译,默认情况下固件每日编译一次(config文件更新时除外),未逐一经过实机测试,故不保证100%可靠性;
7.除提供已编译好的固件外,本项目还提供以下文件:
1.完整性校验文件:sha256sums
2.OpenWrt编译配置:config.seed/config.buildinfo
3.固件内已集成的软件包列表
penwrt-$target-$subtarget-$devices.manifest
4.适用于Windows/集成web服务器的ipk软件包归档(便于搭建局域网软件包服务器):packages-server.zip
在WeTransfer和奶牛快传链接中,还提供以下文件:
1.OpenWrtImageBuilder2.OpenWrtSDK3.OpenWrtToolChain以上文件可按需下载。
安装和升级
固件格式区别
固件文件名中带有factory字样的文件为安装固件,固件文件名中带有sysupgrade字样的文件为升级固件。固件文件名中带有ext4字样的文件为搭载ext4文件系统固件,ext4格式的固件更适合熟悉Linux系统的用户使用,可以比较方便地调整ext4分区的大小;
固件文件名中带有squashfs字样的文件为搭载squashfs文件系统固件,而squashfs格式的固件适用于“不折腾”的用户,其优点是可以比较方便地进行系统还原(控制面板-系统-备份/升级),哪怕你一不小心玩坏固件,只要还能进入控制面板,就可以很方便地进行“系统还原操作”。以下安装和升级步骤仅适用于树莓派,竞斗云或x86_64设备请按各自原有步骤进行安装/升级操作。
安装
下载固件文件名中带有factory字样的文件到本地,解压即可得到factory格式的img镜像文件。其中,文件名中带有ext4字样的为ext4固件,文件名中带有squashfs字样的为squashfs格式固件,
为了避免一些玄学问题,小苏强烈推荐大家按以下步骤操作:1.将SD卡插入电脑,使用DiskGenius或者PartitionGuru或类似的磁盘管理工具删除SD卡中的所有分区;2.在SD卡中新建一个Fat32分区,保存更改并格式化。此时SD卡便还原为出厂状态;3.使用
Win32DiskImager或者
Etcher将img固件写入SD卡。
如果不按以上步骤操作,很可能在刷入固件后出现无法保存配置,LuCI崩溃的情况。
升级
目前因为一些未知原因,树莓派暂不支持在LuCI中上传sysuphrade固件进行升级操作,期待上游源码后续修复。