luci-app-passwall: bump to 3.9-61

This commit is contained in:
CN_SZTL 2020-09-20 00:12:26 +08:00
parent 0ff8b3a6c7
commit e6291ef4d8
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
11 changed files with 51 additions and 59 deletions

View File

@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=3.9
PKG_RELEASE:=60
PKG_DATE:=20200917
PKG_RELEASE:=61
PKG_DATE:=20200919
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -73,7 +73,7 @@ o:value("default", translate("Default"))
o:value("disable", translate("No Proxy"))
o:value("global", translate("Global Proxy"))
o:value("gfwlist", translate("GFW List"))
o:value("chnroute", translate("Game Mode") .. "" .. translate("Not China List") .. "")
o:value("chnroute", translate("Game Mode"))
o:value("returnhome", translate("China List"))
---- TCP No Redir Ports

View File

@ -249,26 +249,28 @@ o.rmempty = false
o:value("disable", translate("No Proxy"))
o:value("global", translate("Global Proxy"))
o:value("gfwlist", translate("GFW List"))
o:value("chnroute", translate("Game Mode") .. "" .. translate("Not China List") .. "")
o:value("chnroute", translate("Game Mode"))
o:value("returnhome", translate("China List"))
---- Localhost TCP Proxy Mode
o = s:taboption("Proxy", ListValue, "localhost_tcp_proxy_mode", translate("Router Localhost") .. "TCP" .. translate("Proxy Mode"))
-- o.description = translate("The server client can also use this rule to scientifically surf the Internet.")
o:value("default", translate("Default"))
o:value("global", translate("Global Proxy"))
o:value("gfwlist", translate("GFW List"))
o:value("chnroute", translate("Not China List"))
o:value("global", translate("Global Proxy"))
o:value("returnhome", translate("China List"))
o.default = "default"
o.rmempty = false
---- Localhost UDP Proxy Mode
o = s:taboption("Proxy", ListValue, "localhost_udp_proxy_mode", translate("Router Localhost") .. "UDP" .. translate("Proxy Mode"))
o:value("disable", translate("No Proxy"))
o:value("default", translate("Default"))
o:value("gfwlist", translate("GFW List"))
o:value("chnroute", translate("Game Mode") .. "" .. translate("Not China List") .. "")
o:value("global", translate("Global Proxy"))
o:value("gfwlist", translate("GFW List"))
o:value("chnroute", translate("Game Mode"))
o:value("returnhome", translate("China List"))
o:value("disable", translate("No Proxy"))
o.default = "default"
o.rmempty = false
@ -287,7 +289,10 @@ function s.create(e, t)
end
o = s:option(DummyValue, "status", translate("Status"))
o.template = appname .. "/global/socks_status"
o.rawhtml = true
o.cfgvalue = function(t, n)
return string.format('<font class="_status" socks_id="%s"></font>', n)
end
---- Enable
o = s:option(Flag, "enabled", translate("Enable"))
@ -306,9 +311,6 @@ o.default = 9050
o.datatype = "port"
o.rmempty = false
---- Tips
--m:append(Template(appname .. "/global/tips"))
m:append(Template(appname .. "/global/footer"))
--[[

View File

@ -133,10 +133,15 @@ end
---- Ping
o = s:option(DummyValue, "ping", translate("Latency"))
o.width = "8%"
if not nodes_ping:find("auto_ping") then
o.template = appname .. "/node_list/ping"
else
o.template = appname .. "/node_list/auto_ping"
o.rawhtml = true
o.cfgvalue = function(t, n)
local result = "---"
if not nodes_ping:find("auto_ping") then
result = string.format('<span class="ping"><a href="javascript:void(0)" onclick="javascript:ping_node(\'%s\',this)">Ping</a></span>', n)
else
result = string.format('<span class="ping_value" cbiid="%s">---</span>', n)
end
return result
end
m:append(Template(appname .. "/node_list/node_list"))

View File

@ -34,8 +34,10 @@ e.width = "5%"
e.rmempty = false
e = t:option(DummyValue, "status", translate("Status"))
e.template = "passwall/server/users_status"
e.value = translate("Collecting data...")
e.rawhtml = true
e.cfgvalue = function(t, n)
return string.format('<font class="_users_status">%s</font>', translate("Collecting data..."))
end
e = t:option(DummyValue, "remarks", translate("Remarks"))
e.width = "15%"

View File

@ -1,3 +0,0 @@
<%+cbi/valueheader%>
<font class="_status" socks_id="<%=section%>"></font>
<%+cbi/valuefooter%>

View File

@ -1,3 +0,0 @@
<%+cbi/valueheader%>
<span class="auto_ping_value" cbiid="<%=section%>">---</span>
<%+cbi/valuefooter%>

View File

@ -34,6 +34,9 @@ table td, .table .td {
._select {
background: #dad8d8;
}
.ping a:hover{
text-decoration : underline;
}
</style>
<script type="text/javascript">
@ -239,9 +242,9 @@ table td, .table .td {
/* 自动Ping */
var nodes = [];
const auto_ping_value = document.getElementsByClassName('auto_ping_value');
for (var i = 0; i < auto_ping_value.length; i++) {
var cbi_id = auto_ping_value[i].getAttribute("cbiid");
const ping_value = document.getElementsByClassName('ping_value');
for (var i = 0; i < ping_value.length; i++) {
var cbi_id = ping_value[i].getAttribute("cbiid");
var full = get_address_full(cbi_id);
if (full != null) {
var flag = false;
@ -277,15 +280,15 @@ table td, .table .td {
var strs = dom.indexs.split(",");
for (var i = 0; i < strs.length; i++) {
if (result.ping == null || result.ping.trim() == "") {
auto_ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
} else {
var ping = parseInt(result.ping);
if (ping < 100)
auto_ping_value[strs[i]].innerHTML = "<font style='color:green'>" + result.ping + " ms" + "</font>";
ping_value[strs[i]].innerHTML = "<font style='color:green'>" + result.ping + " ms" + "</font>";
else if (ping < 200)
auto_ping_value[strs[i]].innerHTML = "<font style='color:#fb9a05'>" + result.ping + " ms" + "</font>";
ping_value[strs[i]].innerHTML = "<font style='color:#fb9a05'>" + result.ping + " ms" + "</font>";
else if (ping >= 200)
auto_ping_value[strs[i]].innerHTML = "<font style='color:red'>" + result.ping + " ms" + "</font>";
ping_value[strs[i]].innerHTML = "<font style='color:red'>" + result.ping + " ms" + "</font>";
}
}
}
@ -295,7 +298,7 @@ table td, .table .td {
function(x) {
var strs = dom.indexs.split(",");
for (var i = 0; i < strs.length; i++) {
auto_ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
}
res();
}
@ -333,15 +336,15 @@ table td, .table .td {
var strs = indexs.split(",");
for (var i = 0; i < strs.length; i++) {
if (result.ping == null || result.ping.trim() == "") {
auto_ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
} else {
var ping = parseInt(result.ping);
if (ping < 100)
auto_ping_value[strs[i]].innerHTML = "<font style='color:green'>" + result.ping + " ms" + "</font>";
ping_value[strs[i]].innerHTML = "<font style='color:green'>" + result.ping + " ms" + "</font>";
else if (ping < 200)
auto_ping_value[strs[i]].innerHTML = "<font style='color:#fb9a05'>" + result.ping + " ms" + "</font>";
ping_value[strs[i]].innerHTML = "<font style='color:#fb9a05'>" + result.ping + " ms" + "</font>";
else if (ping >= 200)
auto_ping_value[strs[i]].innerHTML = "<font style='color:red'>" + result.ping + " ms" + "</font>";
ping_value[strs[i]].innerHTML = "<font style='color:red'>" + result.ping + " ms" + "</font>";
}
}
}
@ -351,7 +354,7 @@ table td, .table .td {
function(x) {
var strs = indexs.split(",");
for (var i = 0; i < strs.length; i++) {
auto_ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
ping_value[strs[i]].innerHTML = "<font style='color:red'><%:Timeout%></font>";
}
index++;
return auto_ping();

View File

@ -1,11 +0,0 @@
<style>
.ping a:hover{
text-decoration : underline;
}
</style>
<%+cbi/valueheader%>
<span class="ping">
<a href="javascript:void(0)" onclick="javascript:ping_node('<%=section%>',this)">Ping</a>
</span>
<%+cbi/valuefooter%>

View File

@ -1,3 +0,0 @@
<%+cbi/valueheader%>
<font class="_users_status" hint="<%=self:cfgvalue(section)%>">--</font>
<%+cbi/valuefooter%>

View File

@ -844,9 +844,9 @@ add_dnsmasq() {
hosts_foreach "servers" host_from_url | grep -v "google.c" | grep '[a-zA-Z]$' | sort -u | gen_dnsmasq_items "vpsiplist" "${fwd_dns}" "${TMP_DNSMASQ_PATH}/01-vpsiplist_host.conf"
echolog " - [$?]节点列表中的域名(vpsiplist)${fwd_dns:-默认}"
#始终用国内DNS解析直连白名单列表
#始终用国内DNS解析直连白名单列表
fwd_dns="${LOCAL_DNS}"
#如果使用Chinadns-NG直接交给Chinadns-NG处理
#如果使用ChinaDNS-NG则直接交给它处理
[ "$CHINADNS_NG" = "1" ] && unset fwd_dns
#如果没使用chnlist直接使用默认DNS
[ "${USE_CHNLIST}" = "0" ] && unset fwd_dns
@ -858,9 +858,9 @@ add_dnsmasq() {
fwd_dns="${LOCAL_DNS}"
[ -n "${returnhome}" ] || [ -n "${chnlist}" ] && {
[ -n "${global}" ] && unset fwd_dns
#如果使用Chinadns-NG直接交给Chinadns-NG处理
#如果使用Chinadns-NG直接交给处理
[ "$CHINADNS_NG" = "1" ] && unset fwd_dns
#如果使用回国模式,设置dns为远程DNS。
#如果使用回国模式,设置DNS为远程DNS。
[ -n "${returnhome}" ] && fwd_dns="${TUN_DNS}"
sort -u "${RULES_PATH}/chnlist" | gen_dnsmasq_items "chnroute" "${fwd_dns}" "${TMP_DNSMASQ_PATH}/chinalist_host.conf"
echolog " - [$?]中国域名表(chnroute)${fwd_dns:-默认}"
@ -869,7 +869,7 @@ add_dnsmasq() {
#始终使用远程DNS解析代理黑名单列表
fwd_dns="${TUN_DNS}"
#如果使用Chinadns-NG直接交给Chinadns-NG处理
#如果使用Chinadns-NG直接交给处理
[ "$CHINADNS_NG" = "1" ] && unset fwd_dns
#如果使用chnlist直接使用默认DNS
[ "${USE_CHNLIST}" = "1" ] && unset fwd_dns
@ -881,7 +881,7 @@ add_dnsmasq() {
#如果没有使用回国模式
[ -z "${returnhome}" ] && {
fwd_dns="${TUN_DNS}"
#如果使用Chinadns-NG直接交给Chinadns-NG处理
#如果使用Chinadns-NG直接交给处理
[ "$CHINADNS_NG" = "1" ] && unset fwd_dns
#如果使用chnlist直接使用默认DNS
[ "${USE_CHNLIST}" = "1" ] && unset fwd_dns
@ -893,7 +893,7 @@ add_dnsmasq() {
#如果开启了通过代理订阅
[ "$(config_t_get global_subscribe subscribe_proxy 0)" = "1" ] && {
fwd_dns="${TUN_DNS}"
#如果使用Chinadns-NG直接交给Chinadns-NG处理
#如果使用Chinadns-NG直接交给处理
[ "$CHINADNS_NG" = "1" ] && unset fwd_dns
#如果使用chnlist直接使用默认DNS
[ "${USE_CHNLIST}" = "1" ] && unset fwd_dns
@ -912,7 +912,7 @@ add_dnsmasq() {
#兼容旧版dnsmasq
echo "conf-dir=${TMP_DNSMASQ_PATH}" > "${DNSMASQ_PATH}/dnsmasq-${CONFIG}.conf"
[ "${USE_CHNLIST}" = "1" ] && servers="${TUN_DNS}"
[ "${USE_CHNLIST}" = "1" ] && [ -z "${returnhome}" ] && [ -n "${chnlist}" ] && servers="${TUN_DNS}"
[ -n "${chnlist}" ] && msg="中国列表以外"
[ -n "${returnhome}" ] && msg="中国列表"
[ -n "${global}" ] && msg="全局"