|
本帖最后由 duoluosimeng 于 2024-1-22 21:04 编辑
前言
本文以红米AX5为例主要因为其闪存为256M,本身不能完整刷机,目前最好的刷机方案是舍弃wifi驱动,更不要说添加插件了
在研究发现大部分路由器web功能是由nginx进行提供的,可以通过修改nginx配置让nginx提供静态文件的支持
本方案适用于一切使用nginx作为web服务的路由器,但固化方案可能不一样
前提准备
1. 路由器必须获取到ssh或者telnet
2. winscp软件(主要是上传源用的)
思路与分析
查询小米最新版本系统的nginx配置信息发现,小米十分贴心个将web相关的配置文件分了出来,小米路由器web配置位于
- \etc\nginx\miwifi-webinitrd.conf
复制代码 在这个配置底部添加location即可生效
添加配置:
- location /iptv {
- alias /data/iptv/;
- }
复制代码 具体方案
使用ssh或elnet连接到路由器
- # 切切换到data目录
- cd /data
- # 建立静态文件夹
- mkdir iptv
- # 将将iptv源放在这个目录下(使用winscp即可)
复制代码 根据原理:
写出shell
- echo "location /iptv { alias /data/iptv/;}" >> /etc/nginx/miwifi-webinitrd.conf
- nginx -s reload
复制代码 nginx -s reload是nginx重启服务的命令
我不怎么会固化,这边参考了一下论坛内gsls200808大神的ssh固化方案
https://www.right.com.cn/forum/f ... 0&highlight=AX3000T
固化的本质是建立一个sh文件,将这个文件写入到自启里面,完成固化
我这边水平有限只能分开做
- mkdir /data/auto_ssh && cd /data/auto_ssh
- vi auto_nginx.sh
复制代码 这边直接就在auto_ssh目录下创建文件了,反正固化的脚本已经在这里了
创建auto_nginx.sh
添加执行权限:
将写出的shell保存到里面
然后单独运行固化
- uci set firewall.auto_nginx=include
- uci set firewall.auto_nginx.type='script'
- uci set firewall.auto_nginx.path="/data/auto_ssh/auto_nginx.sh"
- uci set firewall.auto_nginx.enabled='1'
- uci commit firewall
复制代码 然后/data/iptv目录下文件可以通过,http://ip地址/iptv/文件名(要带扩展名) 访问
后记
因为是软固化,如果路由器系统升级的话可能会丢失配置,除非禁止升级
因为是直接修改可玩性就比较多了,nginx的功能都可以使用,比如反向代理之类的都可以用
目前站内的ipv4代理ipv6的方案也是可以的用,我这边没有进行尝试,但路由器那个cpu性能,我感觉可能扛不住。
ipv4代理ipv6方案:
https://www.right.com.cn/forum/f ... 299&highlight=nginx
后续
貌似发现一个bug,路由器设定定时重启不会导致文件复原,会导致nginx配置文件因启动计划写入两次导致nginx无法启动
|
|