From e35b881882d5dddf42e5dd0db79cf7d520fb0668 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sun, 1 Mar 2020 20:48:50 +0800 Subject: [PATCH] luci-app-vssr: bump to v1.16-r4 --- package/ctcgfw/luci-app-vssr/Makefile | 4 +- .../luasrc/model/cbi/vssr/status.lua | 2 +- .../luasrc/model/cbi/vssr/subscription.lua | 33 ++++++++++++----- .../ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po | 5 ++- .../root/usr/share/vssr/subscribe.lua | 37 +++++++++++-------- 5 files changed, 50 insertions(+), 31 deletions(-) diff --git a/package/ctcgfw/luci-app-vssr/Makefile b/package/ctcgfw/luci-app-vssr/Makefile index fd11342c2c..e2a84c9b4f 100644 --- a/package/ctcgfw/luci-app-vssr/Makefile +++ b/package/ctcgfw/luci-app-vssr/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-vssr -PKG_VERSION:=1.15 -PKG_RELEASE:=20200229-4 +PKG_VERSION:=1.16 +PKG_RELEASE:=20200301-4 PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/status.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/status.lua index bcf380415f..d4fa53bc88 100644 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/status.lua +++ b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/status.lua @@ -1,7 +1,7 @@ -- Copyright (C) 2017 yushi studio -- Licensed to the public under the GNU General Public License v3. -local IPK_Version="20200229.1.15" +local IPK_Version="20200301.1.16" local m, s, o local redir_run=0 local reudp_run=0 diff --git a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscription.lua b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscription.lua index 11c5b58bff..8cd69113ef 100644 --- a/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscription.lua +++ b/package/ctcgfw/luci-app-vssr/luasrc/model/cbi/vssr/subscription.lua @@ -1,3 +1,6 @@ +-- Licensed to the public under the GNU General Public License v3. + +local m, s, o local vssr = "vssr" local uci = luci.model.uci.cursor() local server_table = {} @@ -9,6 +12,13 @@ if nixio.fs.access("/etc/dnsmasq.ssr/gfw_list.conf") then gfwmode=1 end +local uci = luci.model.uci.cursor() +local server_count = 0 +uci:foreach("vssr", "servers", function(s) + server_count = server_count + 1 +end) + +local fs = require "nixio.fs" local sys = require "luci.sys" if gfwmode==1 then @@ -51,21 +61,24 @@ o.template = "vssr/update_subscribe" -o = s:option(Button,"delete",translate("Delete all severs")) +o = s:option(Button,"delete",translate("Delete All Subscribe Severs")) o.inputstyle = "reset" - - +o.description = string.format(translate("Server Count") .. ": %d", server_count) o.write = function() - uci:delete_all("vssr", "servers", function(s) return true end) - uci:commit("vssr") - luci.sys.call("uci commit vssr && /etc/init.d/vssr stop") - - luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "vssr", "servers")) - return +uci:delete_all("vssr", "servers", function(s) + if s["hashkey"] then + return true + else + return false + end +end) +uci:save("vssr") +luci.sys.call("uci commit vssr && /etc/init.d/vssr stop") +luci.http.redirect(luci.dispatcher.build_url("admin", "vpn", "vssr", "servers")) +return end - m:section(SimpleSection).template = "vssr/status2" return m diff --git a/package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po b/package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po index c4b3f75bfe..14ac1d95b2 100644 --- a/package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po +++ b/package/ctcgfw/luci-app-vssr/po/zh_Hans/vssr.po @@ -538,7 +538,7 @@ msgid "Auto Update Server subscription, GFW list and CHN route" msgstr "自动更新服务器订阅、GFW列表和 CHN路由表" msgid "Subscribe URL" -msgstr "SS/SSR/V2RAY订阅URL地址" +msgstr "SS/SSR/V2RAY/Trojan订阅URL地址" msgid "Update" msgstr "更新" @@ -851,6 +851,7 @@ msgstr "V2服务器" msgid "SS/SSR/V2RAY Server" msgstr "SS/SSR/V2RAY 服务端" - +msgid "Delete All Subscribe Severs" +msgstr "删除所有订阅服务器节点" diff --git a/package/ctcgfw/luci-app-vssr/root/usr/share/vssr/subscribe.lua b/package/ctcgfw/luci-app-vssr/root/usr/share/vssr/subscribe.lua index d07a0d5996..8c6f99095e 100644 --- a/package/ctcgfw/luci-app-vssr/root/usr/share/vssr/subscribe.lua +++ b/package/ctcgfw/luci-app-vssr/root/usr/share/vssr/subscribe.lua @@ -96,14 +96,8 @@ end -- 处理数据 local function processData(szType, content) local result = { - -- auth_enable = '0', - -- switch_enable = '1', type = szType, local_port = 1234, - -- timeout = 60, -- 不太确定 好像是死的 - -- fast_open = 0, - -- kcp_enable = 0, - -- kcp_port = 0, kcp_param = '--nocomp' } if szType == 'ssr' then @@ -238,6 +232,9 @@ local function processData(szType, content) result.alias = UrlDecode(alias) result.type = "trojan" result.server = host[1] + -- 按照官方的建议 默认验证ssl证书 + result.insecure = "0" + result.tls = "1" if host[2]:find("?") then local query = split(host[2], "?") result.server_port = query[1] @@ -246,10 +243,17 @@ local function processData(szType, content) local t = split(v, '=') params[t[1]] = t[2] end + if params.peer then - result.tls = "1" + -- 未指定peer(sni)默认使用remote addr result.tls_host = params.peer end + + if params.allowInsecure == "1" then + result.insecure = "1" + else + result.insecure = "0" + end else result.server_port = host[2] end @@ -298,10 +302,10 @@ local execute = function() nodes = base64Decode(raw:sub(nEnd + 1, #raw)) nodes = jsonParse(nodes) local extra = { - airport = nodes.airport, - port = nodes.port, - encryption = nodes.encryption, - password = nodes.password + airport = nodes.airport, + port = nodes.port, + encryption = nodes.encryption, + password = nodes.password } local servers = {} -- SS里面包着 干脆直接这样 @@ -338,8 +342,9 @@ local execute = function() result.alias:find("QQ群") or result.alias:find("官网") or result.alias:find("防失联地址") or - not result.server - then + not result.server or + result.server:match("[^0-9a-zA-Z%-%.%s]") -- 中文做地址的 也没有人拿中文域名搞,就算中文域也有Puny Code SB 机场 + then log('丢弃无效节点: ' .. result.type ..' 节点, ' .. result.alias) else log('成功解析: ' .. result.type ..' 节点, ' .. result.alias) @@ -376,11 +381,11 @@ local execute = function() end else if not old.alias then - old.alias = old.server .. ':' .. old.server_port - end + old.alias = old.server .. ':' .. old.server_port + end log('忽略手动添加的节点: ' .. old.alias) end - + end) for k, v in ipairs(nodeResult) do for kk, vv in ipairs(v) do