1 Star 0 Fork 1

LemonTree/amdwprprsct

forked from 妙妙呜/amdwprprsct 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Changelog.txt 23.23 KB
一键复制 编辑 原始数据 按行查看 历史
LZ(妙妙呜) 提交于 2023-03-01 14:12 . v3.9.4更新记录
v3.9.4 (2023/3/1)
1.修复初始化校验运营商网段数据定时更新时间参数过程中的bug。
2.优化代码。
3.更新运营商网段数据文件。
v3.9.3 (2023/2/28)
1.优化系统缓存清理控制流程,并将该功能添加进“自动清理路由
表及系统缓存”定时任务中。
2.精简日期时间显示代码,提高取值效率。
3.更新运营商网段数据文件。
v3.9.2 (2023/2/25)
1.在脚本配置文件高级设置中添加“Fancyss服务支持”功能项,
缺省为禁用(5)。若之前在旧版脚本中已使用Fancyss服务,
请在此版脚本中手工设置为启用(0)。
2.在脚本配置文件运行设置中添加“系统缓存清理”功能项,缺省
为启用(0),在脚本执行结束时进行。若影响系统中其他程序
运行,可在该设置中禁用此功能。
3.优化系统缓存清理控制流程。
4.更新运营商网段数据文件。
v3.9.1 (2023/2/22)
1.优化代码,减少数据文件读取及内存IO次数。
2.优化显示输出。
3.适配新版固件中的WireGuard。
4.更新运营商网段数据文件。
v3.9.0 (2023/2/20)
1.加入清理系统缓存机制,在脚本执行完成后清理并释放读写文
件等操作所遗留的无用系统资源。
2.消除不必要的动态脚本生成次数。
3.新增运营商网段数据文件中条目数的显示输出。
4.更新运营商网段数据文件。
v3.8.9 (2023/2/14)
1.适配新版grep命令模块正则表达式中对转义符号的格式要求。
2.在运营商网段数据文件名称前添加"lz_"前缀,防止数据文件
被系统意外删除。
3.优化代码。
4.更新运营商网段数据文件。
v3.8.8 (2022/12/11)
1.发现并修复由于固件系统原因,导致名称由crt开头的运营
商网段数据文件,在一些机型下载完成后,有时会莫名其妙
的被意外删除的问题。
2.更新运营商网段数据文件。
v3.8.7 (2022/12/9)
1.优化分流控制逻辑,修复用户自定义网址/网段数据整合过
程中导致动态分流模式时出口错误的bug。
2.调整“系统负载均衡自动分配IPv4流量动态路由出口出口规
则策略规则优先级”。
3.删除“内网保留IPv4网址/网段列表数据文件”功能。
4.更新运营商网段数据文件。
v3.8.6 (2022/12/6)
1.新增WireGuard虚拟专网服务器双线路接入支持。
梅林388.1_0固件中新增的WireGuard功能目前由于兼容性
原因,启用时会禁用NAT硬件加速,所以请在动态分流模式
下使用该功能,不要静态分流模式下使用。
2.优化代码。
3.更新运营商网段数据文件。
v3.8.5 (2022/12/3)
1.删除不可使用的功能代码。
v3.8.4 (2022/12/2)
1.动态分流模式下的功能均可在静态分流模式下使用,所有
功能已不再受应用模式的限制。
2.优化代码。
v3.8.3 (2022/12/1)
1.新增功能项:
(1)第一WAN口高优先级客户端至预设IPv4目标网址/
网段流量协议端口动态分流
(2)第一WAN口高优先级客户端IPv4网址/网段至预设
IPv4目标网址/网段协议端口动态分流条目列表数
据文件
2.发现并修复动态分流模式下所有运营商网段流量出口都为
第一WAN口时,国外运营商网段流量可能被负载均衡的bug。
3.发现并修复脚本网址信息查询命令执行后,部分变量在系
统内存中未被清除干净的bug。
4.扩展动态分流模式下的网段数据集最大允许条目数,由最
初缺省的65536条调整至极限的42亿多条,够用了吧!你
的机器能扛得住放这么多条数据吗?
5.完善脚本配置文件中的一些功能使用说明。
6.更新运营商网段数据文件。
v3.8.2 (2022/11/25)
1.全面升级和更新脚本中的文件数据筛选提取处理算法,能
够根据配置参数按照策略规则优先级实现流量出口的联动
控制,支持用户在条目列表数据文件中定义一些行为怪异,
甚至荒诞却很有意义和表现力的策略规则,而不会使系统
网络业务故障和崩溃。
2.优化和完善脚本网址信息查询命令代码,能够自动适应用
户自定义流量出口配置,运行结果能够实时匹配当前运行
状态。
3.更新运营商网段数据文件。
v3.8.1 (2022/11/19)
1.新增功能项:
支持一次性的同时实现多种灵活、精准的流量策略。
(1)第一WAN口客户端至预设IPv4目标网址/网段流量
协议端口动态分流
(2)第一WAN口客户端IPv4网址/网段至预设IPv4目标
网址/网段协议端口动态分流条目列表数据文件
(3)第二WAN口客户端至预设IPv4目标网址/网段流量
协议端口动态分流
(4)第二WAN口客户端IPv4网址/网段至预设IPv4目标
网址/网段协议端口动态分流条目列表数据文件
2.更新运营商网段数据文件。
v3.8.0 (2022/11/17)
1.完善和优化域名地址动态分流业务流程及代码。
2.新增功能项:
(1)第一WAN口域名地址动态分流客户端IPv4网址/网
段条目列表数据文件
(2)第二WAN口域名地址动态分流客户端IPv4网址/网
段条目列表数据文件
(3)域名地址预解析
(4)自定义域名地址预解析DNS服务器
(5)域名解析后IPv4地址缓存时间
3.取消功能项:
(1)网址/网段绑定流量出口列表数据处理模式转换条
目数阈值
4.其他代码及显示功能优化。
5.更新配置文件中的部分功能名称和使用说明。
6.更新运营商网段数据文件。
v3.7.9 (2022/11/11)
1.新增动态分流模式下的域名解析IPv4流量分流功能。
2.更新运营商网段数据文件。
v3.7.8 (2022/10/27)
1.修复路由器NVRAM使用状况取值时筛选条件不严密的bug。
2.更新运营商网段数据文件。
v3.7.7 (2022/10/20)
1.改善对老固件的兼容性。
2.解决事件接口在设备故障重启后偶尔注册不上的问题。
3.优化代码。
4.完善显示输出内容的细节。
5.更新运营商网段数据文件。
v3.7.6 (2022/10/9)
1.修复虚拟专网接口事件处理过程中一处导致无法对客户端
流量进行正常负载均衡和分流的bug,有可能造成后续的网络
连接失败。
v3.7.5 (2022/9/30)
1.增加事件接口卸载信息的显示输出,同时添加到系统历史
记录中。
2.终止或暂停运行后,更新运营商网段数据文件脚本运行中
不再重启脚本运行。
3.暂停运行时,不再清除事件接口处理脚本文件,从而减少
对存储的I/O次数。
4.脚本启动时增加脚本工作目录位置的显示输出,并添加到
系统历史记录中,以便在多个位置安装脚本时,能够判别出
当前运行的是哪个目录位置的脚本。
5.完善显示输出内容及格式,将输出到系统历史记录中的内
容与终端显示输出的内容同步一致。
6.更新运营商网段数据文件。
v3.7.4 (2022/9/28)
1.优化代码。上万行代码的脚本,几乎重写一遍。
结合ShellCheck等代码检测工具,细致筛查了全部每一行
代码,采用标准化和规范化的Shell语法对代码进行修改和
完善,修正因语法不当导致的各类bug,彻底清除检测工具
给出的错误、警告、注意等所有等级的全部提示。
在软件业务架构、技术架构不变的前提下,进一步优化和精
简算法,提高了代码执行的可靠性、安全性和高效性。
强化和完善代码逻辑的严密性和安全性,对用户输入/输出
数据设置边界,进行全面清洗和校验,防止参数配置错误导
致脚本后期运行故障。
通过代码编制的标准化、规范化过程,重塑后的脚本更加健
壮,对各型不断升级的固件系统会具有更好的兼容能力和执
行能力。
2.修复各类bug。
3.变更日期显示格式。
4.更新运营商网段数据文件。
v3.7.3 (2022/9/1)
1.修复后台守护进程由于文件路径计算错误,无法调用事
件处理代码,使部分类型的虚拟网客户端接入主机后无法
正常访问外部网络的bug。
2.优化脚本显示输出代码。
3.更新运营商网段数据文件。
v3.7.2 (2022/8/30)
1.v3.7.1版更新记录(Changelog.txt)文件中的
“./lzintall.sh”应为“./lzinstall.sh”,感谢GitHub用
户Kryo123456的指正。
2.去除安装包中的“firewall-start”文件。
说明:
用户在UI窗口中采用复制粘贴的方法手工安装脚本的
过程中,会覆盖目录原有文件,使该文件中用户或其
他第三方应用添加的内容丢失。其实脚本启动时会进
行判断,若此文件不存在,则自动创建;若已存在,
则根据文件中的现有内容添加/更新脚本所需内容,
不会使文件中原有内容丢失。这是脚本已有功能,安
装包中包括此文件已属多余。
3.脚本现已可以安装到路由器USB盘的Entware环境里,能
够与部署在JFFS分区的状态一样的运行。
4.zip压缩格式和tgz压缩格式的安装包中均已包含
lzinstall.sh文件安装脚本。
说明:
安装包可直接上传路由器临时目录,使用SSH终端窗
口进入安装包所在目录,通过Linux解压缩包命令解压,
然后在新获得的文件目录中,运行其中的
lzinstall.sh安装脚本,即可完成脚本的安装/升级。
安装过程不会覆盖用户在脚本目录中自己创建的文件
或在data目录中已有的用户自定义数据文件。
a)zip包解压命令(安装包所在目录内执行):
unzip -o lz_rule-v3.7.2.zip
然后进入解压出的目录lz_rule-v3.7.2内执行:
chmod +x ./lzinstall.sh
b)tgz包解压命令(安装包所在目录内执行):
tar -xzvf lz_rule-v3.7.2.tgz
c)脚本安装命令(解压出的目录lz_rule-v3.7.2内
执行):
安装至路由器/jffs/scripts目录内:
./lzinstall.sh
安装至路由器USB盘/opt/home目录内(需在
路由器内提前用固件内置的amtm终端菜单命
令安装Entware软件仓库集成工具):
./lzinstall.sh entware
d)脚本启动/重启命令:
安装在主机jffs分区内时:
/jffs/scripts/lz/lz_rule.sh
安装在主机USB盘内时:
/opt/home/lz/lz_rule.sh
e)脚本暂停运行命令:
安装在主机jffs分区内时:
/jffs/scripts/lz/lz_rule.sh stop
安装在主机USB盘内时:
/opt/home/lz/lz_rule.sh stop
f)脚本终止运行命令:
安装在主机jffs分区内时:
/jffs/scripts/lz/lz_rule.sh STOP
安装在主机USB盘内时:
/opt/home/lz/lz_rule.sh STOP
g)卸载脚本步骤:
1)执行脚本终止止运行命令:
安装在主机jffs分区内时:
/jffs/scripts/lz/lz_rule.sh STOP
安装在主机USB盘内时:
/opt/home/lz/lz_rule.sh STOP
2)删除脚本文件及目录:
安装在主机jffs分区内时:
rm -r /jffs/scripts/lz
安装在主机USB盘内时:
rm -r /opt/home/lz
若有需要保留的文件或数据,则手工删除
不需要的文件及目录,切勿执行上述删除
命令。
5.优化脚本中的路径控制代码。
6.更新运营商网段数据文件。
v3.7.1 (2022/8/25)
说明:本版依旧是v3.7.1版,原有代码没有改变。
1.新增tar.gz压缩格式的脚本安装包和lzinstall.sh
脚本文件安装脚本。
安装包可直接上传路由器,使用SSH终端窗口进入安装包
所在目录,通过Linux shell命令解压,然后在新获得
的文件目录中,运行其中的lzinstall.sh安装脚本,即
可完成脚本的安装/升级。安装过程不会覆盖用户在脚本
目录中自己创建的文件或在data目录中已有的用户自定义
数据文件。
tar包解压命令(安装包目录内执行):
tar -xzvf lz_rule-v3.7.2.tar.gz
安装脚本命令(解压出的目录内执行):
./lzintall.sh
2.更新运营商网段数据文件。
其他:
开发环境已由Windaows 11平台迁移至VirtualBox虚拟
机上运行的Ubuntu平台,deepin作为备用平台,代码编
辑工具由Notepad++改为Visual Studio Code(呵呵,
煞是熟悉,依稀要奔向传说中用D版VC6单打独斗扯汇编、
码MFC类对象,刨地挖金灌黄汤,淘大粪的绝逼年代了),
测试平台为路由器GT-AX6000,本版新增代码即在此环境
下完成。
v3.7.1 (2022/8/21)
1.修复在多个PPTP客户端接入情况下,当某一个退出后,
系统不能及时释放地址资源,只有PPTP客户端全部退出
才进行清理的问题。
2.将虚拟专网控制逻辑中需要暂存的数据由文件存储改
放在内存中动态处理,可最大程度减少对路由器固态存
储器的I/O操作,避免后台守护进程在轮询检测和处理数
据状态改变的过程中频繁读写影响硬件使用寿命。
v3.7.0 (2022/8/16)
1.取消代码中一处"IPTV机顶盒访问IPTV线路方式”采用
“按服务地址访问”方式时重复的负载均衡拒止控制逻辑,
尽可能的减少数据传输时延。
嘿嘿,上版更新时想多了,煞费苦心、费尽周章的设计
出一套神奇机制,结果局部功能中存在重复处置,不如
之前的逻辑效率高。其实也就多几次I/O,根本体验不
到,就是觉得不完美,改是必须的。
2.更新运营商网段数据文件。
v3.6.9 (2022/8/11)
重要更新!!!
1.对分流控制核心算法进行深度优化,消除内部逻辑冲
突,降低网络延迟,清除流量控制漏洞和客户端网络地
址覆盖死区,提高产品使用的流畅度等用户体验。
2.取消“协议分流”功能。
说明:
相关的协议绑定列表文件(lz_protocols.txt)会
在脚本启动时被删除,如需要保留,请在升级前自
行备份。
该功能不够实用,需在系统中安装协议包及打补丁,
重新配置Linux内核和编译固件后方可使用,非一般
人类可为,反倒是容易激起好奇心较强、自控力弱
的人士不可为而为之的冲动,带来不必要麻烦。不
是所有人都能成为sadog,该干嘛干嘛去吧。
当然,若用户需求强度足够,亦可考虑恢复。
3.取消功能重叠的lz_rule_func_config.sh文件,相关
功能可由脚本配置文件(lz_rule_config.sh)中已有的
“外置脚本设置”功能替代。
注意:
由于脚本启动时会自动删除此文件,从旧版本升级
前,请将此文件中的自定义内容提前备份至他处。
4.清理冗余代码。
5.更新运营商网段数据文件。
v3.6.8 (2022/8/8)
1.实现对IPSec虚拟专网客户端网段的自动获取和处理,
用户无需手工查找其客户端地址/网段并在脚本中进行流
量出口的绑定。
2.完善和优化与虚拟专网服务器相关的代码。
说明:
脚本启动过程中可以识别全部内置虚拟专网服务器
的当前工作状态,自动进行双线路负载均衡工作模
式适配,给予虚拟专网服务器完整功能支持。
3.更新脚本配置文件(lz_rule_config.sh)中与虚拟专
网服务器有关的功能说明及定义。
4.更新运营商网段数据文件。
v3.6.7 (2022/8/1)
1.将启动后台守护进程的任务放进系统定时任务中。
说明:
正常情况下,SSH终端在退出时会将所有在会话窗口
中启动并正在运行的这些进程关闭,而在会话中启
动的后台守护进程则会在窗口关闭后,继续保持运
行,不受影响。
但有些功能不健全的SSH终端,如一些手机上的SSH
简易终端等,不能正确识别和处理后台守护进程,
窗口关闭时,也会将会话中启动的后台守护进程一
并关闭,造成用户通过SSH终端远程启动和维护脚本
时,脚本中启动的后台守护进程在会话期结束后意
外关闭,导致脚本提供的某些敏感功能失效。
本功能将在系统中设置定时任务,脚本启动1分钟后,
定时任务自动启动脚本中的后台守护进程,完成后,
此定时任务自行消亡,避免关闭SSH终端窗口导致后
台守护进程意外关闭的情况发生。
提示:
在SSH终端中启动脚本时,一定要在脚本运行完毕
后再退出会话窗口,否则,所配置的策略分流服务
无法正常运行。
2.去除脚本注释中的敏感词。
v3.6.6 (2022/7/29)
1.新增PPTP虚拟专网服务器双线路接入支持,可在脚本
配置文件(lz_rule_config.sh)“虚拟专网客户端路由
检测更新”功能项中按照说明设置,缺省时为“禁用”。
在路由器上开通DDNS功能后,根据设备性能状况,设置
1~20秒的时间间隔数值即可启动虚拟专网客户端路由后
台守护进程,可在设定的时间间隔内轮询检测PPTP客户
端的远程接入,实现PPTP虚拟专网客户端双线路模式路
由的自动更新和维护。
脚本已支持华硕路由器内置的Open虚拟专网服务器、
PPTP虚拟专网服务器双线路模式时的虚拟专网客户端远
程网络接入,且无需设置即可支持IPSec虚拟专网服务
器的使用。在双线路模式下使用IPSec虚拟专网服务器时,
建议将其客户端在路由器本地的IP地址/网段通过脚本绑
定到某一流量出口,可提高网络访问的流畅性和稳定性。
2.优化客户端设定固定网络出口的负载均衡控制逻辑。
3.完善脚本启动过程中和状态显示命令执行后的显示
内容。
4.更新运营商网段数据文件。
v3.6.5 (2022/6/30)
1.在脚本配置文件(lz_rule_config.sh)中明确说明
“Open虚拟专网客户端访问外网路由器出口”功能仅支
持网络层的TUN虚拟设备接口类型,可收发第三层数据
报文包;无法对采用链路层TAP接口类型的第二层数据
报文包进行路由控制。
2.添加《GNU通用公共许可协议V3.0》文件。
3.更新运营商网段数据文件。
v3.6.4 (2022/6/21)
1.完善和优化与Open虚拟专网服务器之间的接口代码,
使系统负载均衡控制过程能够动态自动适应和处理
Open虚拟专网客户端子网地址资源的变化。
2.取消脚本配置文件(lz_rule_config.sh)
“Open虚拟专网客户端访问外网路由器出口”功能中
“由系统自动分配出口(>2)”的选项。
3.更新运营商网段数据文件。
v3.6.3 (2022/6/14)
1.更新脚本配置文件(lz_rule_config.sh)中“应
用模式”功能说明,明确两种分流模式应用区别。
动态分流模式:
路由器主机内应用的流量出口由设备系统内部
自动分配,不受用户所定义的流量规则控制,
用户规则只作用于路由器内网终端访问外网的
流量。
静态分流模式:
不支持“本地客户端网址/网段分流黑名单列表
数据文件”功能、“协议分流”功能、“端口分流”
功能;路由器主机内部应用的流量出口按用户
所定义的流量规则分配。
2.更新运营商网段数据文件。
v3.6.2
1.优化负载均衡控制代码。静态路由模式下不再
支持链路负载均衡流量出口的应用,若需此功能,
请将应用模式转换为动态路由模式。
2.由于系统内核的原因,定义“本地客户端网址/
网段分流黑名单列表数据文件”功能仅适用于动态
分流模式,在静态分流模式下无效。
3.端口分流变更为只能在动态分流模式下使用。
4.协议分流变更为只能在动态分流模式下使用。
“网址/网段绑定流量出口列表数据处理模式转
换条目数阈值”改为只在动态分流模式下有效。
5.重新定义配置参数“wan_access_port”为“外网
访问路由器主机WAN入口”。
取值范围为:0--第一WAN口;1--第二WAN口。
6.去除脚本启动过程中“Route Host DDNS Export”
的显示项。
7.代码优化。
8.更新运营商网段数据文件。
v3.6.1
1.修复脚本unlock解除运行锁命令代码中的一处
无法彻底清除文件运行同步锁的bug。
2.更新运营商网段数据文件。
提示:
1.脚本启动过程中,由于路由器主机掉电、重启,
操作ctrl+c组合键等原因,极易成启动过程意外
中断,导致下一次启动时,脚本的文件运行同步
锁、数据库锁可能会发生死锁现象,启动过程挂
起,无法正常运行。一旦出现此情况,可在手工
中断脚本进程后,运行脚本的unlock解除运行锁
命令,之后,脚本即可正常启动和运行。
2.使用路由器内置的SPEEDTEST分别测试双WAN口
运营商网络带宽时,为保证得到的结果更为准确,
建议先中断另一路网络,或者是将脚本的应用模
式切换为静态分流模式后,再在路由器SPEEDTEST
界面中选择相应的运营商测速服务器后进行测试。
v3.6.0
1.优化负载均衡控制代码。
2.更新运营商网段数据文件。
建议:
在安装和第一次启动本版代码后,重启一次路由
器,从而恢复和重建一下内存中的系统资源,之
后再次安装则无需此过程。
v3.5.9
完善在动态分流时对用户自定义的静态路由目标
网址/网段流量的负载均衡控制。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/fishhunterplus/amdwprprsct.git
git@gitee.com:fishhunterplus/amdwprprsct.git
fishhunterplus
amdwprprsct
amdwprprsct
master

搜索帮助