parent
1990f5d33b
commit
152220f327
@ -50,6 +50,9 @@ s = m:section(TypedSection, "global_subscribe", "")
|
|||||||
s.anonymous = true
|
s.anonymous = true
|
||||||
|
|
||||||
function m.commit_handler(self)
|
function m.commit_handler(self)
|
||||||
|
if self.no_commit then
|
||||||
|
return
|
||||||
|
end
|
||||||
self.uci:foreach(appname, "subscribe_list", function(e)
|
self.uci:foreach(appname, "subscribe_list", function(e)
|
||||||
self:del(e[".name"], "md5")
|
self:del(e[".name"], "md5")
|
||||||
end)
|
end)
|
||||||
@ -122,13 +125,15 @@ o:value("ipv6_only", translate("IPv6 Only"))
|
|||||||
o = s:option(Button, "_stop", translate("Delete All Subscribe Node"))
|
o = s:option(Button, "_stop", translate("Delete All Subscribe Node"))
|
||||||
o.inputstyle = "remove"
|
o.inputstyle = "remove"
|
||||||
function o.write(e, e)
|
function o.write(e, e)
|
||||||
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate > /dev/null 2>&1")
|
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate all-node > /dev/null 2>&1")
|
||||||
|
m.no_commit = true
|
||||||
end
|
end
|
||||||
|
|
||||||
o = s:option(Button, "_update", translate("Manual subscription All"))
|
o = s:option(Button, "_update", translate("Manual subscription All"))
|
||||||
o.inputstyle = "apply"
|
o.inputstyle = "apply"
|
||||||
function o.write(t, n)
|
function o.write(t, n)
|
||||||
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start > /dev/null 2>&1 &")
|
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start > /dev/null 2>&1 &")
|
||||||
|
m.no_commit = true
|
||||||
luci.http.redirect(api.url("log"))
|
luci.http.redirect(api.url("log"))
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -161,17 +166,23 @@ o.validate = function(self, value, t)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
o = s:option(DummyValue, "_node_count")
|
o = s:option(DummyValue, "_node_count", translate("Subscribe Info"))
|
||||||
o.rawhtml = true
|
o.rawhtml = true
|
||||||
o.cfgvalue = function(t, n)
|
o.cfgvalue = function(t, n)
|
||||||
local remark = m:get(n, "remark") or ""
|
local remark = m:get(n, "remark") or ""
|
||||||
|
local str = m:get(n, "rem_traffic") or ""
|
||||||
|
local expired_date = m:get(n, "expired_date") or ""
|
||||||
|
if expired_date ~= "" then
|
||||||
|
str = str .. (str ~= "" and "/" or "") .. expired_date
|
||||||
|
end
|
||||||
|
str = str ~= "" and "<br>" .. str or ""
|
||||||
local num = 0
|
local num = 0
|
||||||
m.uci:foreach(appname, "nodes", function(s)
|
m.uci:foreach(appname, "nodes", function(s)
|
||||||
if s["add_from"] ~= "" and s["add_from"] == remark then
|
if s["add_from"] ~= "" and s["add_from"] == remark then
|
||||||
num = num + 1
|
num = num + 1
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
return string.format("<span title='%s' style='color:red'>%s</span>", remark .. " " .. translate("Node num") .. ": " .. num, num)
|
return string.format("%s%s", translate("Node num") .. ": " .. num, str)
|
||||||
end
|
end
|
||||||
|
|
||||||
o = s:option(Value, "url", translate("Subscribe URL"))
|
o = s:option(Value, "url", translate("Subscribe URL"))
|
||||||
@ -183,12 +194,14 @@ o.inputstyle = "remove"
|
|||||||
function o.write(t, n)
|
function o.write(t, n)
|
||||||
local remark = m:get(n, "remark") or ""
|
local remark = m:get(n, "remark") or ""
|
||||||
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate " .. remark .. " > /dev/null 2>&1")
|
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua truncate " .. remark .. " > /dev/null 2>&1")
|
||||||
|
m.no_commit = true
|
||||||
end
|
end
|
||||||
|
|
||||||
o = s:option(Button, "_update", translate("Manual subscription"))
|
o = s:option(Button, "_update", translate("Manual subscription"))
|
||||||
o.inputstyle = "apply"
|
o.inputstyle = "apply"
|
||||||
function o.write(t, n)
|
function o.write(t, n)
|
||||||
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start " .. n .. " > /dev/null 2>&1 &")
|
luci.sys.call("lua /usr/share/" .. appname .. "/subscribe.lua start " .. n .. " > /dev/null 2>&1 &")
|
||||||
|
m.no_commit = true
|
||||||
luci.http.redirect(api.url("log"))
|
luci.http.redirect(api.url("log"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1021,6 +1021,9 @@ msgstr "节点订阅"
|
|||||||
msgid "Subscribe Remark"
|
msgid "Subscribe Remark"
|
||||||
msgstr "订阅备注(机场)"
|
msgstr "订阅备注(机场)"
|
||||||
|
|
||||||
|
msgid "Subscribe Info"
|
||||||
|
msgstr "订阅信息"
|
||||||
|
|
||||||
msgid "Subscribe URL"
|
msgid "Subscribe URL"
|
||||||
msgstr "订阅网址"
|
msgstr "订阅网址"
|
||||||
|
|
||||||
|
@ -85,6 +85,8 @@ config global_app
|
|||||||
|
|
||||||
config global_subscribe
|
config global_subscribe
|
||||||
option filter_keyword_mode '1'
|
option filter_keyword_mode '1'
|
||||||
|
list filter_discard_list '距离下次重置剩余'
|
||||||
|
list filter_discard_list '套餐到期'
|
||||||
list filter_discard_list '过期时间'
|
list filter_discard_list '过期时间'
|
||||||
list filter_discard_list '剩余流量'
|
list filter_discard_list '剩余流量'
|
||||||
list filter_discard_list 'QQ群'
|
list filter_discard_list 'QQ群'
|
||||||
|
@ -394,6 +394,24 @@ local function trim(text)
|
|||||||
return (sgsub(text, "^%s*(.-)%s*$", "%1"))
|
return (sgsub(text, "^%s*(.-)%s*$", "%1"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- 取机场信息(剩余流量、到期时间)
|
||||||
|
local subscribe_info = {}
|
||||||
|
local function get_subscribe_info(cfgid, value)
|
||||||
|
if type(cfgid) ~= "string" or cfgid == "" or type(value) ~= "string" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
value = value:gsub("%s+", "")
|
||||||
|
local expired_date = value:match("套餐到期:(.+)")
|
||||||
|
local rem_traffic = value:match("剩余流量:(.+)")
|
||||||
|
subscribe_info[cfgid] = subscribe_info[cfgid] or {expired_date = "", rem_traffic = ""}
|
||||||
|
if expired_date then
|
||||||
|
subscribe_info[cfgid]["expired_date"] = expired_date
|
||||||
|
end
|
||||||
|
if rem_traffic then
|
||||||
|
subscribe_info[cfgid]["rem_traffic"] = rem_traffic
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- 处理数据
|
-- 处理数据
|
||||||
local function processData(szType, content, add_mode, add_from)
|
local function processData(szType, content, add_mode, add_from)
|
||||||
--log(content, add_mode, add_from)
|
--log(content, add_mode, add_from)
|
||||||
@ -1310,7 +1328,7 @@ local function truncate_nodes(add_from)
|
|||||||
end)
|
end)
|
||||||
if add_from then
|
if add_from then
|
||||||
uci:foreach(appname, "subscribe_list", function(o)
|
uci:foreach(appname, "subscribe_list", function(o)
|
||||||
if o.remark == add_from then
|
if add_from == "all-node" or add_from == o.remark then
|
||||||
uci:delete(appname, o['.name'], "md5")
|
uci:delete(appname, o['.name'], "md5")
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@ -1469,6 +1487,16 @@ local function update_node(manual)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- 更新机场信息
|
||||||
|
for cfgid, info in pairs(subscribe_info) do
|
||||||
|
for key, value in pairs(info) do
|
||||||
|
if value ~= "" then
|
||||||
|
uci:set(appname, cfgid, key, value)
|
||||||
|
else
|
||||||
|
uci:delete(appname, cfgid, key)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
api.uci_save(uci, appname, true)
|
api.uci_save(uci, appname, true)
|
||||||
|
|
||||||
if next(CONFIG) then
|
if next(CONFIG) then
|
||||||
@ -1500,7 +1528,7 @@ local function update_node(manual)
|
|||||||
luci.sys.call("/etc/init.d/" .. appname .. " restart > /dev/null 2>&1 &")
|
luci.sys.call("/etc/init.d/" .. appname .. " restart > /dev/null 2>&1 &")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function parse_link(raw, add_mode, add_from)
|
local function parse_link(raw, add_mode, add_from, cfgid)
|
||||||
if raw and #raw > 0 then
|
if raw and #raw > 0 then
|
||||||
local nodes, szType
|
local nodes, szType
|
||||||
local node_list = {}
|
local node_list = {}
|
||||||
@ -1562,6 +1590,9 @@ local function parse_link(raw, add_mode, add_from)
|
|||||||
else
|
else
|
||||||
tinsert(node_list, result)
|
tinsert(node_list, result)
|
||||||
end
|
end
|
||||||
|
if add_mode == "2" then
|
||||||
|
get_subscribe_info(cfgid, result.remarks)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end, function (err)
|
end, function (err)
|
||||||
--log(err)
|
--log(err)
|
||||||
@ -1665,7 +1696,7 @@ local execute = function()
|
|||||||
log('订阅:【' .. remark .. '】没有变化,无需更新。')
|
log('订阅:【' .. remark .. '】没有变化,无需更新。')
|
||||||
else
|
else
|
||||||
os.remove("/tmp/" .. cfgid)
|
os.remove("/tmp/" .. cfgid)
|
||||||
parse_link(raw, "2", remark)
|
parse_link(raw, "2", remark, cfgid)
|
||||||
uci:set(appname, cfgid, "md5", new_md5)
|
uci:set(appname, cfgid, "md5", new_md5)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -93,7 +93,7 @@ index eb5527e..133c295 100644
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
diff --git a/luci-app-passwall/root/usr/share/passwall/0_default_config b/luci-app-passwall/root/usr/share/passwall/0_default_config
|
diff --git a/luci-app-passwall/root/usr/share/passwall/0_default_config b/luci-app-passwall/root/usr/share/passwall/0_default_config
|
||||||
index acacfed..427dc3a 100644
|
index 44e540d..0bb5ea7 100644
|
||||||
--- a/luci-app-passwall/root/usr/share/passwall/0_default_config
|
--- a/luci-app-passwall/root/usr/share/passwall/0_default_config
|
||||||
+++ b/luci-app-passwall/root/usr/share/passwall/0_default_config
|
+++ b/luci-app-passwall/root/usr/share/passwall/0_default_config
|
||||||
@@ -32,7 +32,7 @@ config global_haproxy
|
@@ -32,7 +32,7 @@ config global_haproxy
|
||||||
|
Loading…
Reference in New Issue
Block a user