Skip to content

Commit

Permalink
v4.5.6
Browse files Browse the repository at this point in the history
1.修复两处函数名称错误。
2.完善和优化代码。
3.在 Web UI 中添加捐助支持页面。
  • Loading branch information
larsonzh authored Aug 13, 2024
1 parent e7adb9f commit 804af31
Show file tree
Hide file tree
Showing 17 changed files with 207 additions and 161 deletions.
10 changes: 6 additions & 4 deletions source_codes/install.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# install.sh v4.5.5
# install.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

# LZ RULE script for Asuswrt-Merlin Router
Expand All @@ -11,7 +11,7 @@

#BEGIN

LZ_VERSION=v4.5.5
LZ_VERSION=v4.5.6
TIMEOUT=10
CURRENT_PATH="${0%/*}"
[ "${CURRENT_PATH:0:1}" != '/' ] && CURRENT_PATH="$( pwd )${CURRENT_PATH#*.}"
Expand Down Expand Up @@ -308,10 +308,12 @@ lz_mount_web_ui() {
chmod -R 775 "${PATH_WEB_LZR}"/* > /dev/null 2>&1
rm -f "${PATH_WEB_LZR}/"* > /dev/null 2>&1
ln -s "${PATH_JS}/lz_policy_routing.js" "${PATH_WEB_LZR}/lz_policy_routing.js" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/favicon.png" "${PATH_WEB_LZR}/favicon.png" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/InternetScan.gif" "${PATH_WEB_LZR}/InternetScan.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/alipay.png" "${PATH_WEB_LZR}/alipay.png" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/arrow-down.gif" "${PATH_WEB_LZR}/arrow-down.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/arrow-top.gif" "${PATH_WEB_LZR}/arrow-top.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/favicon.png" "${PATH_WEB_LZR}/favicon.png" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/InternetScan.gif" "${PATH_WEB_LZR}/InternetScan.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/wechat.png" "${PATH_WEB_LZR}/wechat.png" > /dev/null 2>&1
ln -s "/jffs/scripts/firewall-start" "${PATH_WEB_LZR}/LZRState.html" > /dev/null 2>&1
ln -s "/jffs/scripts/service-event" "${PATH_WEB_LZR}/LZRService.html" > /dev/null 2>&1
ln -s "/jffs/scripts/openvpn-event" "${PATH_WEB_LZR}/LZROpenvpn.html" > /dev/null 2>&1
Expand Down
5 changes: 5 additions & 0 deletions source_codes/lz/Changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
v4.5.6 (2024/8/13)
1.修复两处函数名称错误。
2.完善和优化代码。
3.在 Web UI 中添加捐助支持页面。

v4.5.5 (2024/8/12)
1.深度优化路由控制流程,解决多个功能同时启用后,
相互间存在逻辑冲突的问题。
Expand Down
2 changes: 1 addition & 1 deletion source_codes/lz/configs/lz_rule_config.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_rule_config.sh v4.5.5
# lz_rule_config.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

# 本软件采用CIDR(无类别域间路由,Classless Inter-Domain Routing)技术,是一个在Internet上创建附加地
Expand Down
2 changes: 1 addition & 1 deletion source_codes/lz/func/lz_clear_custom_scripts_data.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_clear_custom_scripts_data.sh v4.5.5
# lz_clear_custom_scripts_data.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

## 清除用户自定义脚本数据
Expand Down
5 changes: 1 addition & 4 deletions source_codes/lz/func/lz_define_global_variables.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_define_global_variables.sh v4.5.5
# lz_define_global_variables.sh v4.5.6
# By LZ 妙妙呜 ([email protected])
# QnkgTFog5aaZ5aaZ5ZGc77yI6Juk6J+G5aKp5YS/77yJ(首次运行标识,切勿修改)

Expand Down Expand Up @@ -431,9 +431,6 @@ route_local_subnet=""
[ -n "${route_static_subnet}" ] && route_local_subnet="${route_static_subnet%.*}.0"
[ "${route_static_subnet}" != "${route_static_subnet##*/}" ] && route_local_subnet="${route_local_subnet}/${route_static_subnet##*/}"

## 静态分流模式整体通道推送命令是否执行(0--未执行;1--已执行)
command_from_all_executed="0"

## 系统负载均衡防火墙过滤规则链是否存在(384固件使用)
balance_chain_existing=0

Expand Down
2 changes: 1 addition & 1 deletion source_codes/lz/func/lz_initialize_config.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_initialize_config.sh v4.5.5
# lz_initialize_config.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

## 初始化脚本配置
Expand Down
2 changes: 1 addition & 1 deletion source_codes/lz/func/lz_rule_address_query.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_rule_address_query.sh v4.5.5
# lz_rule_address_query.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

## 网址信息查询脚本
Expand Down
215 changes: 102 additions & 113 deletions source_codes/lz/func/lz_rule_func.sh

Large diffs are not rendered by default.

57 changes: 39 additions & 18 deletions source_codes/lz/func/lz_rule_status.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_rule_status.sh v4.5.5
# lz_rule_status.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

## 显示脚本运行状态脚本
Expand Down Expand Up @@ -172,7 +172,7 @@ lz_print_src_to_dst_ipv4_address_list_status() {
## $1--全路径网段数据文件名
## 返回值:
## IPv4源地址至目标地址协议端口数据列表
lz_print_src_to_dst_port_ip_list_status() {
lz_print_src_to_dst_port_ipv4_address_list_status() {
local local_regex='^[[:space:]]*(([0-9]{1,3}[\.]){3}[0-9]{1,3}([\/][0-9]{1,2}){0,1})([[:space:]][[:space:]]*(([0-9]{1,3}[\.]){3}[0-9]{1,3}([\/][0-9]{1,2}){0,1})([[:space:]][[:space:]]*(tcp|udp|udplite|sctp)([[:space:]][[:space:]]*((([1-9][0-9]*|[1-9][0-9]*[\:][1-9][0-9]*)[\,])*([1-9][0-9]*|[1-9][0-9]*[\:][1-9][0-9]*)|all)([[:space:]][[:space:]]*((([1-9][0-9]*|[1-9][0-9]*[\:][1-9][0-9]*)[\,])*([1-9][0-9]*|[1-9][0-9]*[\:][1-9][0-9]*)|all)){0,1}){0,1}){0,1}){0,1}$'
grep -E "${local_regex}" "${1}" \
| tr '[:A-Z:]' '[:a-z:]' \
Expand Down Expand Up @@ -314,7 +314,7 @@ lz_get_unkonwn_ipv4_src_dst_addr_data_file_item_status() {
lz_get_unkonwn_ipv4_src_dst_addr_port_data_file_item_status() {
local retval="1"
[ -s "${1}" ] && {
retval="$( lz_print_src_to_dst_port_ip_list_status "${1}" | awk ' NF == "1" && $1 == "0.0.0.0/0" {print "0"; exit} \
retval="$( lz_print_src_to_dst_port_ipv4_address_list_status "${1}" | awk ' NF == "1" && $1 == "0.0.0.0/0" {print "0"; exit} \
NF == "2" && $1 == "0.0.0.0/0" && $2 == "0.0.0.0/0" {print "0"; exit}' )"
[ -z "${retval}" ] && retval="1"
}
Expand Down Expand Up @@ -1787,23 +1787,44 @@ lz_output_ispip_status_info() {
echo "$(lzdate)" [$$]: " HighSrcLst-1 Primary WAN${local_primary_wan_hd} ${local_item_count}" | tee -ai "${STATUS_LOG}" 2> /dev/null
local_exist="1"
}
[ "${status_high_wan_1_src_to_dst_addr_port}" = "0" ] \
&& local_item_count="$( lz_get_iptables_fwmark_item_total_number_status "${STATUS_HIGH_CLIENT_DEST_PORT_FWMARK_0}" "${STATUS_CUSTOM_PREROUTING_CONNMARK_CHAIN}" )" \
&& [ "${local_item_count}" -gt "0" ] && {
echo "$(lzdate)" [$$]: " HSrcToDstPrt-1 Primary WAN ${local_item_count}" | tee -ai "${STATUS_LOG}" 2> /dev/null
local_exist="1"
[ "${status_high_wan_1_src_to_dst_addr_port}" = "0" ] && {
local_hd=" "
if lz_get_unkonwn_ipv4_src_dst_addr_port_data_file_item_status "${status_high_wan_1_src_to_dst_addr_port_file}"; then
local_item_count="1"
local_hd="${local_primary_wan_hd}"
else
local_item_count="$( lz_get_iptables_fwmark_item_total_number_status "${STATUS_HIGH_CLIENT_DEST_PORT_FWMARK_0}" "${CUSTOM_PREROUTING_CONNMARK_CHAIN}" )"
fi
[ "${local_item_count}" -gt "0" ] && {
echo "$(lzdate)" [$$]: " HSrcToDstPrt-1 Primary WAN${local_hd} ${local_item_count}" | tee -ai "${STATUS_LOG}" 2> /dev/null
local_exist="1"
}
}
[ "${status_wan_2_src_to_dst_addr_port}" = "0" ] \
&& local_item_count="$( lz_get_iptables_fwmark_item_total_number_status "${STATUS_CLIENT_DEST_PORT_FWMARK_1}" "${STATUS_CUSTOM_PREROUTING_CONNMARK_CHAIN}" )" \
&& [ "${local_item_count}" -gt "0" ] && {
echo "$(lzdate)" [$$]: " SrcToDstPrt-2 Secondary WAN ${local_item_count}" | tee -ai "${STATUS_LOG}" 2> /dev/null
local_exist="1"
[ "${status_wan_2_src_to_dst_addr_port}" = "0" ] && {
local_hd=" "
if lz_get_unkonwn_ipv4_src_dst_addr_port_data_file_item_status "${status_wan_2_src_to_dst_addr_port_file}"; then
local_item_count="1"
local_hd="${local_secondary_wan_hd}"
else
local_item_count="$( lz_get_iptables_fwmark_item_total_number_status "${STATUS_CLIENT_DEST_PORT_FWMARK_1}" "${CUSTOM_PREROUTING_CONNMARK_CHAIN}" )"
fi
[ "${local_item_count}" -gt "0" ] && {
echo "$(lzdate)" [$$]: " SrcToDstPrt-2 Secondary WAN${local_hd} ${local_item_count}" | tee -ai "${STATUS_LOG}" 2> /dev/null
local_exist="1"
}
}
[ "${status_wan_1_src_to_dst_addr_port}" = "0" ] \
&& local_item_count="$( lz_get_iptables_fwmark_item_total_number_status "${STATUS_CLIENT_DEST_PORT_FWMARK_0}" "${STATUS_CUSTOM_PREROUTING_CONNMARK_CHAIN}" )" \
&& [ "${local_item_count}" -gt "0" ] && {
echo "$(lzdate)" [$$]: " SrcToDstPrt-1 Primary WAN ${local_item_count}" | tee -ai "${STATUS_LOG}" 2> /dev/null
local_exist="1"
[ "${status_wan_1_src_to_dst_addr_port}" = "0" ] && {
local_hd=" "
if lz_get_unkonwn_ipv4_src_dst_addr_port_data_file_item_status "${status_wan_1_src_to_dst_addr_port_file}"; then
local_item_count="1"
local_hd="${local_primary_wan_hd}"
else
local_item_count="$( lz_get_iptables_fwmark_item_total_number_status "${CLIENT_DEST_PORT_FWMARK_0}" "${CUSTOM_PREROUTING_CONNMARK_CHAIN}" )"
fi
[ "${local_item_count}" -gt "0" ] && {
echo "$(lzdate)" [$$]: " SrcToDstPrt-1 Primary WAN${local_hd} ${local_item_count}" | tee -ai "${STATUS_LOG}" 2> /dev/null
local_exist="1"
}
}
[ -n "$( ipset -q -n list "${STATUS_DOMAIN_SET_1}" )" ] && {
echo -e "$(lzdate)" [$$]: " DomainNmLst-2 Secondary WAN $( lz_get_ipv4_data_file_item_total_status "${status_wan_2_domain_client_src_addr_file}" )\t$( lz_get_domain_data_file_item_total_status "${status_wan_2_domain_file}" )" | tee -ai "${STATUS_LOG}" 2> /dev/null
Expand Down
4 changes: 2 additions & 2 deletions source_codes/lz/func/lz_vpn_daemon.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_vpn_daemon.sh v4.5.5
# lz_vpn_daemon.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

## 虚拟专网客户端路由刷新处理后台守护进程脚本
Expand All @@ -10,7 +10,7 @@
#BEGIN

## 版本号
LZ_VERSION=v4.5.5
LZ_VERSION=v4.5.6

## 项目接口文件部署路径
PATH_INTERFACE="${0%/*}"
Expand Down
Binary file added source_codes/lz/images/alipay.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source_codes/lz/images/wechat.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 8 additions & 1 deletion source_codes/lz/interface/lz_rule_service.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_rule_service.sh v4.5.5
# lz_rule_service.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

## 服务接口脚本
Expand Down Expand Up @@ -127,6 +127,13 @@ case "${2}" in
iptables -t mangle -L LZOUTPUT -v -n --line-numbers 2> /dev/null
} >> "${PATH_LZ}/tmp/iptables.log"
count="$(( count + 1 ))"
if iptables -t mangle -L LZOUTPUT 2> /dev/null | grep -qw "^LZOPCNMK"; then
{
printf "\n"
iptables -t mangle -L LZOPCNMK -v -n --line-numbers 2> /dev/null
} >> "${PATH_LZ}/tmp/iptables.log"
count="$(( count + 1 ))"
fi
fi
fi
if iptables -L FORWARD 2> /dev/null | grep -q "^Chain FORWARD" \
Expand Down
17 changes: 13 additions & 4 deletions source_codes/lz/js/lz_policy_routing.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
# lz_policy_routing.js v4.5.5
# lz_policy_routing.js v4.5.6
# By LZ 妙妙呜 ([email protected])
# LZ JavaScript for Asuswrt-Merlin Router
Expand Down Expand Up @@ -448,7 +448,16 @@ function checkDNSIPaddrField(ptr) {
checkIPaddress(ptr);
}

let divLabelArray = { "Basic" : [ "基础", "0", "0", "basicConfig" ], "Advanced" : [ "高级", "1", "0", "advancedConfig" ], "Runtime" : [ "运行", "2", "0", "runtimeConfig" ], "IPTV" : [ "IPTV", "3", "0", "iPTVConfig" ], "InsertScript" : [ "外置脚本", "4", "0", "insertScriptConfig" ], "Tools" : [ "工具", "5", "0", "scriptTools" ] };
let divLabelArray = {
"Basic" : [ "基础", "0", "0", "basicConfig" ],
"Advanced" : [ "高级", "1", "0", "advancedConfig" ],
"Runtime" : [ "运行", "2", "0", "runtimeConfig" ],
"IPTV" : [ "IPTV", "3", "0", "iPTVConfig" ],
"InsertScript" : [ "外置脚本", "4", "0", "insertScriptConfig" ],
"Tools" : [ "工具", "5", "0", "scriptTools" ],
"Donation" : [ "捐助", "6", "0", "Donation" ]
};

function inithideDivPage() {
for (let key in divLabelArray) {
if (divLabelArray.hasOwnProperty(key)) {
Expand Down Expand Up @@ -485,14 +494,14 @@ function genSwitchMenu(_arrayList, _currentItem) {
let right_css = "border-top-right-radius:8px;border-bottom-right-radius:8px;";
let gen_pressed_content = function(_itemArray, _cssMode) {
let pressed_code = "";
pressed_code += "<div style='width:110px;height:30px;float:left;" + _cssMode + "' class='block_filter_pressed'>";
pressed_code += "<div style='width:100px;height:30px;float:left;" + _cssMode + "' class='block_filter_pressed'>";
pressed_code += "<div style='text-align:center;padding-top:5px;font-size:14px'>" + _itemArray[0] + "</div>";
pressed_code += "</div>";
return pressed_code;
};
let gen_not_pressed_content = function(_itemArray, _cssMode) {
let not_pressed_code = "";
not_pressed_code += "<div style='cursor:pointer;width:110px;height:30px;float:left;" + _cssMode + "' onclick='switchDivPage(" + _itemArray[1] + ");' class='block_filter'>";
not_pressed_code += "<div style='cursor:pointer;width:100px;height:30px;float:left;" + _cssMode + "' onclick='switchDivPage(" + _itemArray[1] + ");' class='block_filter'>";
not_pressed_code += "<div class='block_filter_name'>" + _itemArray[0] + "</div>";
not_pressed_code += "</div>";
return not_pressed_code;
Expand Down
10 changes: 6 additions & 4 deletions source_codes/lz/lz_rule.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# lz_rule.sh v4.5.5
# lz_rule.sh v4.5.6
# By LZ 妙妙呜 ([email protected])

# 本软件采用CIDR(无类别域间路由,Classless Inter-Domain Routing)技术,是一个在Internet上创建附加地
Expand Down Expand Up @@ -86,7 +86,7 @@
## -------------全局数据定义及初始化-------------------

## 版本号
LZ_VERSION=v4.5.5
LZ_VERSION=v4.5.6

## 运行状态查询命令
SHOW_STATUS="status"
Expand Down Expand Up @@ -982,10 +982,12 @@ lz_mount_web_ui() {
sed -i -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' -e '/^$/d' "${PATH_WEBS}/LZ_Policy_Routing_Content.asp" > /dev/null 2>&1
rm -f "${PATH_WEB_LZR}/"* > /dev/null 2>&1
ln -s "${PATH_JS}/lz_policy_routing.js" "${PATH_WEB_LZR}/lz_policy_routing.js" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/favicon.png" "${PATH_WEB_LZR}/favicon.png" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/InternetScan.gif" "${PATH_WEB_LZR}/InternetScan.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/alipay.png" "${PATH_WEB_LZR}/alipay.png" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/arrow-down.gif" "${PATH_WEB_LZR}/arrow-down.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/arrow-top.gif" "${PATH_WEB_LZR}/arrow-top.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/favicon.png" "${PATH_WEB_LZR}/favicon.png" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/InternetScan.gif" "${PATH_WEB_LZR}/InternetScan.gif" > /dev/null 2>&1
ln -s "${PATH_IMAGES}/wechat.png" "${PATH_WEB_LZR}/wechat.png" > /dev/null 2>&1
ln -s "${PATH_BOOTLOADER}/${BOOTLOADER_NAME}" "${PATH_WEB_LZR}/LZRState.html" > /dev/null 2>&1
ln -s "${PATH_BOOTLOADER}/${SERVICE_EVENT_NAME}" "${PATH_WEB_LZR}/LZRService.html" > /dev/null 2>&1
ln -s "${PATH_BOOTLOADER}/${OPENVPN_EVENT_NAME}" "${PATH_WEB_LZR}/LZROpenvpn.html" > /dev/null 2>&1
Expand Down
10 changes: 6 additions & 4 deletions source_codes/lz/uninstall.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# uninstall.sh v4.5.5
# uninstall.sh v4.5.6
# By LZ ([email protected])

# LZ RULE script for Asuswrt-Merlin Router
Expand All @@ -8,7 +8,7 @@

#BEGIN

LZ_VERSION=v4.5.5
LZ_VERSION=v4.5.6
TIMEOUT=10
CURRENT_PATH="${0%/*}"
[ "${CURRENT_PATH:0:1}" != '/' ] && CURRENT_PATH="$( pwd )${CURRENT_PATH#*.}"
Expand Down Expand Up @@ -75,10 +75,12 @@ rm -f "${CURRENT_PATH}/func/lz_rule_func.sh" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/func/lz_rule_status.sh" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/func/lz_vpn_daemon.sh" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/js/lz_policy_routing.js" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/favicon.png" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/InternetScan.gif" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/alipay.png" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/arrow-down.gif" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/arrow-top.gif" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/favicon.png" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/InternetScan.gif" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/images/wechat.png" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/webs/LZ_Policy_Routing_Content.asp" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/interface/lz_rule_service.sh" > /dev/null 2>&1
rm -f "${CURRENT_PATH}/data/lz_all_cn_cidr.txt" > /dev/null 2>&1
Expand Down
18 changes: 15 additions & 3 deletions source_codes/lz/webs/LZ_Policy_Routing_Content.asp
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
url: '/ext/lzr/LZRGlobal.html',
dataType: 'text',
success: function(response) {
// v4.5.5
// v4.5.6
retVal = (response.match(/QnkgTFog5aaZ5aaZ5ZGc77yI6Juk6J[\+]G5aKp5YS[\/]77yJ/m) != null) ? true : false;
}
});
Expand Down Expand Up @@ -109,7 +109,7 @@
<input type="hidden" name="preferred_lang" id="preferred_lang" value="<% nvram_get("preferred_lang"); %>">
<input type="hidden" name="firmver" value="<% nvram_get('firmver'); %>">
<input type="hidden" name="amng_custom" id="amng_custom" value="">
<div>&nbsp;</div>
<div><br /></div>
<div class="formfonttitle">外部网络(WAN) - 策略路由(IPv4)</div>
<div style="margin:10px 0 10px 5px;" class="splitLine"></div>
<div class="formfontdesc">
Expand Down Expand Up @@ -1188,8 +1188,20 @@
<textarea cols="63" rows="27" wrap="off" readonly="readonly" id="toolsTextArea" class="textarea_ssh_table" style="width:99%; font-family:'Courier New', Courier, mono; font-size:11px;background-color:black;"></textarea>
</div>
</div>
<div id="Donation" style="display:none;">
<table width="100%" border="1" align="center" cellpadding="4" cellspacing="0" bordercolor="#6b8fa3" class="FormTable"></table>
<div class="formfontdesc">
<p align="center">
<br />
<img src="/ext/lzr/wechat.png" alt="wechat.png" height="400px" title="别在乎数字,没有支持就无法前进。" onmouseover="over_var=1;" onmouseout="over_var=0;">
&nbsp;&nbsp;
<img src="/ext/lzr/alipay.png" alt="alipay.png" height="400px" title="别在乎数字,没有支持就无法前进。" onmouseover="over_var=1;" onmouseout="over_var=0;">
</p>
<p style="margin-left:55px;"><br />小众需求,专业品质。开源不易,欢迎投喂!😘<br /><br /></p>
</div>
</div>
<div class="apply_gen">
<input name="button" type="button" class="button_gen" onclick="applyRule()" value="应用本页面设置"/>
<input name="button" type="button" class="button_gen" onclick="applyRule()" value="应用本页面设置"/>
</div>
</form>
<form method="post" name="scriptActionsForm" action="/start_apply.htm" target="hidden_frame">
Expand Down

0 comments on commit 804af31

Please sign in to comment.