N1盒子重装Openwrt
N1盒子重装Openwrt
折腾了一天n1盒子,起因是看到一个新的代理协议"Hysteria"(安装视频:https://www.youtube.com/watch?v=CXj-ID33MhU),在成功地在windows和android上运行了Hysteria后,想在我的旧N1盒子上使用这个新协议,但奈何N1盒子的passwall版本太旧了,不支持
Hysteria2
,即使直接将Hysteria2的应用替换掉原应用,passwall对Hysteria2的支持也不够好。于是,就尝试升级passwall,但由于N1盒子的系统版本太旧(21年的),使得直接升级passwall方案也失败。
于是乎……就开启了一系列的折磨,最终的方案是,重新安装24.01.26版本的openwrt系统,再在此系统中,使用Passwall2
如果要找N1重头开始盒子安装Openwrt,请查看:https://www.cnblogs.com/robotpaul/p/17127387.html
Openwrt版本选择
目前主流的openwrt系统有非常多的版本,而且分为“未编译”和“已编译成镜像”的,下面我只拿已经编译好镜像的举例
- 官方版本:/OpenWrt_official_save_2024.03
- Leae版本:/OpenWrt_lede_save_2024.03
- Immortalwrt版本:/OpenWrt_immortalwrt_save_2024.03
- Flippy版本:https://www.right.com.cn/forum/thread-4076037-1-1.html
- 支持不同硬件的在线编译工具:https://openwrt.ai/
其中,官方版本的软件较少,而Flippy版本自带了各种常用的代理工具,Flippy版本也是买N1盒子时自带的版本,推荐使用Flippy版本
镜像下载
如果选择了Flippy版本,在 https://www.right.com.cn/forum/thread-4076037-1-1.html 中可以找到百度网盘下载地址,在网盘中找到不同硬件对应的文件夹
比如N1盒子的文件夹叫"S905D_Phicomm_N1",进入此文件夹后,选择openwrt_s905d_n1_R24.01.26_k5.15.148-flippy-87+o
这个文件下载即可,文件不用解压
- R24.01.26表示编译的版本
- k5.15.86是内核版本,如果当前内核高或低于5.15也没关系,可以升级或降级内核版本
- flippy是作者名
镜像安装
下载好镜像文件后,打开当前OpenWrt的网页界面,在"系统" -> “晶晨宝盒” -> “手动上传更新”,选择刚刚下载的.7z
文件,等上传完成后,最下方会出现“升级Openwrt固件”的按钮,点击更新即可
“升级Openwrt固件”按钮旁边,有安装的进度提醒,等待几分钟,重新打开OpenWrt的网页界面,理论上就安装成功了。
使用Passwall2
可能是我配置的问题,如果用Passwall就会出现翻墙失败,这里于是使用Passwall2,配置基本与Passwall一致
在Passwall2中添加节点,选择Hysteria2,下面是Hysteria2的配置
Passwall2具体的配置:
Openwrt|Passwall| 【2024-1-1】Pass Wall2(完美配置教程)-OPENWRT专版-恩山无线论坛
DNS设置
远程DNS协议:DoH
远程DNS DoH: CloudFlare
远程DNS出站:远程
FakeDNS:checked
远程查询策略:UseIPv4
Hysteria2的配置
随后,进行Hysteria2的配置,详细的配置参考官网:Full-Client-Config
1 | **地址(支持域名):填写ip |
关于QUIC 流接收窗口
的数值参考官网的设置
系统缓冲区大小
Linux
1 | # 将发送、接收两个缓冲区都设置为 16 MB |
BSD/macOS
1 | sysctl -w kern.ipc.maxsockbuf=20971520 |
流控制接收窗口大小
Hysteria 在客户端和服务器配置中都有以下 QUIC 流控制接收窗口参数:
1 | quic: |
可以根据你的使用情景提高或者降低这些值。强烈建议保持接近 2/5 的流/连接接收窗口比例。 这样可以防止一个或两个阻塞的流卡死整个连接。
端口跳跃
具体查看:https://v2.hysteria.network/zh/docs/advanced/Port-Hopping/
中国用户有时报告运营商会阻断或限速 UDP 连接。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法。
客户端
Hysteria 客户端支持一种特殊的多端口地址格式:
1 | example.com:1234,5678,9012 |
可指定的端口数量没有限制。
客户端将随机选择一个端口进行初始连接,并定期随机跳跃到另一个端口。用于控制时间间隔的选项是 transport
部分中的 hopInterval
:
1 | transport: |
假设服务器确实在所有指定的端口上可达,跳跃过程对上层应用是透明的,不会导致数据丢失/连接断开。
服务器
Hysteria 服务端并不能同时监听多个端口,因此不能在服务器端使用上面的格式作为监听地址。建议配合 iptables 或 nftables 的 DNAT 将端口转发到服务器的监听端口。
1 | # IPv4 |
在这个示例中,服务器监听 443 端口,但客户端可以通过 20000-50000 范围内的任何端口连接。
以下内容,被丢弃了,不要用,用最新Flippy版本的Openwrt系统,可以拥有最新的Passwall并且Hysteria也是比较新的版本
升级Passwall
确定CPU架构
在下载前,先确定自己机器的cpu架构
-
(推荐)使用
lscpu
命令lscpu
命令显示 CPU 架构信息,包括架构类型、核心数等详细信息1
lscpu
-
使用
uname
命令uname -m
可以显示机器的硬件名称。对于大多数 ARM 架构的设备,这个命令会返回类似armv7l
,aarch64
这样的结果,这表示了 CPU 的架构类型。1
uname -m
这里使用lscpu后,输出了以下内容,其中aarch64
和Cortex-A53
是要记住的名字
1 | Architecture: aarch64 |
下载新版Passwall
在软件包下载网站:https://op.dllkids.xyz/packages ,先进入对应的架构文件夹,再下载以下内容对应的版本
1 | brook_20240404-28.ipk shadowsocksr-libev-ssr-local_2.5.6-13.ipk |
比如aarch64_cortex-A53
的cpu架构,就要下载brook_20240404-28_aarch64_cortex-a53.ipk
另外,安装的Openwrt版本低于23.5的,需要安装luci-lua-runtime_git-23.233.52805-dae2684.ipk
,否则后续安装Passwall可能会出错
将这些软件包下载好后,将文件夹压缩成zip格式,再用scp命令复制到Openwrt目录中,
1 | scp passwall.zip root@192.168.6.155:/home/ |
随后执行命令重装Passwall
1 | opkg install ./*.ipk --force-reinstall |
为什么要下载这么多包,因为Passwall依赖于这些包,只安装
luci-app-passwall_git-25.079.46197-05caf0d_all.ipk
是不会安装成功的
重装后,刷新Openwrt网页,此时Passwall的Hysteria 版本应该是【 v2.4.0 】,如果不是,就再重新单独安装下hysteria_2.4.0-33.ipk
如果只想单独安装某个软件,可以在“系统”-> "文件传输"中,将文件上传后,会跳出“安装”的按钮