From 7c269d5839552a54fc2cc77c52b9079ea9f57f65 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Wed, 4 Mar 2020 20:42:18 +0800 Subject: [PATCH] luci-app-passwall: sync with upstream source --- package/lienol/luci-app-passwall/Makefile | 4 +- .../luasrc/model/cbi/passwall/acl.lua | 16 +- .../luasrc/model/cbi/passwall/rule.lua | 8 +- .../view/passwall/rule/rule_version.htm | 46 ++++ .../root/usr/share/passwall/iptables.sh | 7 +- .../root/usr/share/passwall/rule_update.lua | 23 +- .../root/usr/share/passwall/rules/chnlist | 217 ++++++++++++++++-- .../root/usr/share/passwall/subscribe.lua | 4 +- 8 files changed, 273 insertions(+), 52 deletions(-) diff --git a/package/lienol/luci-app-passwall/Makefile b/package/lienol/luci-app-passwall/Makefile index 489290bbf2..2b3a731fe0 100644 --- a/package/lienol/luci-app-passwall/Makefile +++ b/package/lienol/luci-app-passwall/Makefile @@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall PKG_VERSION:=3.6 -PKG_RELEASE:=10 -PKG_DATE:=20200303 +PKG_RELEASE:=11 +PKG_DATE:=20200304 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua index c283acc5b3..b53124e72f 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/acl.lua @@ -21,8 +21,8 @@ o.rows = 8 o.wrap = "off" o.cfgvalue = function(self, section) return fs.readfile(w_host_file) or "" end o.write = function(self, section, value) - fs.writefile(w_host_file, value:gsub("\r\n", "\n"):gsub("http://", ""):gsub( - "https://", "")) + fs.writefile(w_host_file, value:gsub("\r\n", "\n"):gsub("https://", ""):gsub( + "http://", "")) end o.remove = function(self, section, value) fs.writefile(w_host_file, "") end @@ -36,8 +36,8 @@ o.rows = 8 o.wrap = "off" o.cfgvalue = function(self, section) return fs.readfile(w_ip_file) or "" end o.write = function(self, section, value) - fs.writefile(w_ip_file, value:gsub("\r\n", "\n"):gsub("http://", ""):gsub( - "https://", "")) + fs.writefile(w_ip_file, value:gsub("\r\n", "\n"):gsub("https://", ""):gsub( + "http://", "")) end o.remove = function(self, section, value) fs.writefile(w_ip_file, "") end @@ -52,8 +52,8 @@ o.rows = 8 o.wrap = "off" o.cfgvalue = function(self, section) return fs.readfile(b_host_file) or "" end o.write = function(self, section, value) - fs.writefile(b_host_file, value:gsub("\r\n", "\n"):gsub("http://", ""):gsub( - "https://", "")) + fs.writefile(b_host_file, value:gsub("\r\n", "\n"):gsub("https://", ""):gsub( + "http://", "")) end o.remove = function(self, section, value) fs.writefile(b_host_file, "") end @@ -67,8 +67,8 @@ o.rows = 8 o.wrap = "off" o.cfgvalue = function(self, section) return fs.readfile(b_ip_file) or "" end o.write = function(self, section, value) - fs.writefile(b_ip_file, value:gsub("\r\n", "\n"):gsub("http://", ""):gsub( - "https://", "")) + fs.writefile(b_ip_file, value:gsub("\r\n", "\n"):gsub("https://", ""):gsub( + "http://", "")) end o.remove = function(self, section, value) fs.writefile(b_ip_file, "") end diff --git a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/rule.lua b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/rule.lua index d0b0921a47..a72cefb89b 100644 --- a/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/rule.lua +++ b/package/lienol/luci-app-passwall/luasrc/model/cbi/passwall/rule.lua @@ -3,15 +3,14 @@ local e = require "luci.sys" m = Map("passwall") -- [[ Rule Settings ]]-- ---[[ s = m:section(TypedSection, "global_rules", translate("Rule status")) s.anonymous = true s:append(Template("passwall/rule/rule_version")) + +--[[ o = s:option(Flag, "adblock", translate("Enable adblock")) o.rmempty = false - -o = s:option(Value, "adblock_url", translate("adblock_url")) -o.default = "https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt" +]]-- ---- Auto Update o = s:option(Flag, "auto_update", translate("Enable auto update rules")) @@ -31,7 +30,6 @@ o = s:option(ListValue, "time_update", translate("Day update rules")) for e = 0, 23 do o:value(e, e .. translate("oclock")) end o.default = 0 o:depends("auto_update", 1) ---]] -- [[ Subscribe Settings ]]-- s = m:section(TypedSection, "global_subscribe", translate("Node Subscribe"), diff --git a/package/lienol/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm b/package/lienol/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm index 3002d43486..2447822083 100644 --- a/package/lienol/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm +++ b/package/lienol/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm @@ -1,5 +1,14 @@ <% +local api = require "luci.model.cbi.passwall.api.api" local dsp = require "luci.dispatcher" + +local gfwlist_version = api.uci_get_type("global_rules", "gfwlist_version") +local chnroute_version = api.uci_get_type("global_rules", "chnroute_version") +local chnlist_version = api.uci_get_type("global_rules", "chnlist_version") + +local gfwlist_update = api.uci_get_type("global_rules", "gfwlist_update", "1") == "1" and "checked='checked'" or "" +local chnroute_update = api.uci_get_type("global_rules", "chnroute_update", "1") == "1" and "checked='checked'" or "" +local chnlist_update = api.uci_get_type("global_rules", "chnlist_update", "1") == "1" and "checked='checked'" or "" -%>
+
+ +
+
+ 【 <%=gfwlist_version%> 】 + /> +
+
+
+ +
+ +
+
+ 【 <%=chnroute_version%> 】 + /> +
+
+
+ +
+ +
+
+ 【 <%=chnlist_version%> 】 + /> +
+
+
+
+
\ No newline at end of file diff --git a/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh b/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh index 88c540edf2..2aeb5e0aaa 100755 --- a/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh +++ b/package/lienol/luci-app-passwall/root/usr/share/passwall/iptables.sh @@ -202,11 +202,12 @@ filter_vpsip() { local top_host=$(echo ${server%.*} | awk -F '.' '{print $NF}') [ "$suffix" == "$top_host" ] && continue [ -n "$suffix" -a -n "$top_host" ] && tmp="$top_host.$suffix" - is_gfwlist=$(cat $TMP_DNSMASQ_PATH/gfwlist.conf | grep -c "$tmp") - [ "$is_gfwlist" == 0 ] && { + [ "tmp" == "google.com" ] && continue + #is_gfwlist=$(cat $TMP_DNSMASQ_PATH/gfwlist.conf | grep -c "$tmp") + #[ "$is_gfwlist" == 0 ] && { has=$([ -f "$TMP_DNSMASQ_PATH/vpsiplist_host.conf" ] && cat $TMP_DNSMASQ_PATH/vpsiplist_host.conf | grep "$server") [ -z "$has" ] && echo "$server" | sed -e "/^$/d" | sed "s/^/ipset=&\//g" | sed "s/$/\/&vpsiplist/g" | sort | awk '{if ($0!=line) print;line=$0}' >> $TMP_DNSMASQ_PATH/vpsiplist_host.conf - } + #} fi } } diff --git a/package/lienol/luci-app-passwall/root/usr/share/passwall/rule_update.lua b/package/lienol/luci-app-passwall/root/usr/share/passwall/rule_update.lua index 844b8c9b92..b10bad162c 100644 --- a/package/lienol/luci-app-passwall/root/usr/share/passwall/rule_update.lua +++ b/package/lienol/luci-app-passwall/root/usr/share/passwall/rule_update.lua @@ -39,7 +39,7 @@ local function wget(url, file) return trim(stdout) end -local rule_path = "/etc/config/" .. name .. "_rule" +local rule_path = "/usr/share/" .. name .. "/rules" local url_main = "https://raw.githubusercontent.com/hq450/fancyss/master/rules" local reboot = 0 local gfwlist_update = 0 @@ -70,14 +70,15 @@ if version then local new_version = luci.sys.exec("echo -n $(echo '" .. gfwlist .. "' | awk '{print $1}')") local new_md5 = luci.sys.exec("echo -n $(echo '" .. gfwlist .. "' | awk '{print $3}')") if new_version ~= "" and new_md5 ~= "" then + local old_version = ucic:get_first(name, 'global_rules', "gfwlist_version", "nil") local old_md5 = luci.sys.exec("echo -n $(md5sum " .. rule_path .. "/gfwlist.conf | awk '{print $1}')") - if old_md5 ~= new_md5 then + if old_md5 ~= new_md5 or old_version ~= new_version then log("开始更新gfwlist...") wget(url_main .. "/gfwlist.conf", "/tmp/gfwlist_tmp") local download_md5 = luci.sys.exec("echo -n $([ -f '/tmp/gfwlist_tmp' ] && md5sum /tmp/gfwlist_tmp | awk '{print $1}')") if download_md5 == new_md5 then luci.sys.exec("mv -f /tmp/gfwlist_tmp " .. rule_path .. "/gfwlist.conf") - uci.set(name, ucic:get_first(name, 'global_rules'), "gfwlist_version", new_version) + ucic:set(name, ucic:get_first(name, 'global_rules'), "gfwlist_version", new_version) ucic:commit(name) reboot = 1 log("更新gfwlist成功...") @@ -95,14 +96,15 @@ if version then local new_version = luci.sys.exec("echo -n $(echo '" .. chnroute .. "' | awk '{print $1}')") local new_md5 = luci.sys.exec("echo -n $(echo '" .. chnroute .. "' | awk '{print $3}')") if new_version ~= "" and new_md5 ~= "" then + local old_version = ucic:get_first(name, 'global_rules', "chnroute_version", "nil") local old_md5 = luci.sys.exec("echo -n $(md5sum " .. rule_path .. "/chnroute | awk '{print $1}')") - if old_md5 ~= new_md5 then + if old_md5 ~= new_md5 or old_version ~= new_version then log("开始更新chnroute...") wget(url_main .. "/chnroute.txt", "/tmp/chnroute_tmp") local download_md5 = luci.sys.exec("echo -n $([ -f '/tmp/chnroute_tmp' ] && md5sum /tmp/chnroute_tmp | awk '{print $1}')") if download_md5 == new_md5 then luci.sys.exec("mv -f /tmp/chnroute_tmp " .. rule_path .. "/chnroute") - uci.set(name, ucic:get_first(name, 'global_rules'), "chnroute_version", new_version) + ucic:set(name, ucic:get_first(name, 'global_rules'), "chnroute_version", new_version) ucic:commit(name) reboot = 1 log("更新chnroute成功...") @@ -120,14 +122,15 @@ if version then local new_version = luci.sys.exec("echo -n $(echo '" .. chnlist .. "' | awk '{print $1}')") local new_md5 = luci.sys.exec("echo -n $(echo '" .. chnlist .. "' | awk '{print $3}')") if new_version ~= "" and new_md5 ~= "" then + local old_version = ucic:get_first(name, 'global_rules', "chnlist_version", "nil") local old_md5 = luci.sys.exec("echo -n $(md5sum " .. rule_path .. "/chnlist | awk '{print $1}')") - if old_md5 ~= new_md5 then + if old_md5 ~= new_md5 or old_version ~= new_version then log("开始更新chnlist...") wget(url_main .. "/cdn.txt", "/tmp/chnlist_tmp") local download_md5 = luci.sys.exec("echo -n $([ -f '/tmp/chnlist_tmp' ] && md5sum /tmp/chnlist_tmp | awk '{print $1}')") if download_md5 == new_md5 then luci.sys.exec("mv -f /tmp/chnlist_tmp " .. rule_path .. "/chnlist") - uci.set(name, ucic:get_first(name, 'global_rules'), "chnlist_version", new_version) + ucic:set(name, ucic:get_first(name, 'global_rules'), "chnlist_version", new_version) ucic:commit(name) reboot = 1 log("更新chnlist成功...") @@ -140,9 +143,9 @@ if version then end end end -uci.set(name, ucic:get_first(name, 'global_rules'), "gfwlist_update", gfwlist_update) -uci.set(name, ucic:get_first(name, 'global_rules'), "chnroute_update", chnroute_update) -uci.set(name, ucic:get_first(name, 'global_rules'), "chnlist_update", chnlist_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "gfwlist_update", gfwlist_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "chnroute_update", chnroute_update) +ucic:set(name, ucic:get_first(name, 'global_rules'), "chnlist_update", chnlist_update) ucic:commit(name) if reboot == 1 then diff --git a/package/lienol/luci-app-passwall/root/usr/share/passwall/rules/chnlist b/package/lienol/luci-app-passwall/root/usr/share/passwall/rules/chnlist index 98dabbe5d4..4f755332c9 100644 --- a/package/lienol/luci-app-passwall/root/usr/share/passwall/rules/chnlist +++ b/package/lienol/luci-app-passwall/root/usr/share/passwall/rules/chnlist @@ -2192,6 +2192,7 @@ 189read.net 189sec.com 189share.com +189smarthome.com 189store.com 189works.com 189xc.com @@ -2918,6 +2919,7 @@ 263ytx.com 263zw.com 264006.com +265.com 265660.com 26595.com 265958.com @@ -3089,6 +3091,7 @@ 2lieqi.com 2m2j.com 2manhua.com +2mdn.net 2mjob.com 2mm.tv 2mmei.net @@ -3461,7 +3464,6 @@ 360118.com 3602wan.com 360500.com -3607.com 36099.com 360abc.com 360aiyi.com @@ -4285,7 +4287,6 @@ 462546.com 46412.com 4647.org -465400.net 4658.net 466.com 46644.com @@ -5392,11 +5393,11 @@ 52khs.com 52klz.com 52kma.com -52kpop.com 52laodong.com 52liaoshen.com 52lieshou.com 52life.cc +52linglong.com 52lion.com 52lishi.com 52luckystar.com @@ -5643,7 +5644,6 @@ 555yst.com 555zw.com 5566.net -5566xs.com 5567.cc 5567.me 5568293.com @@ -7941,7 +7941,6 @@ 91cdkey.com 91ceshi.com 91cha.com -91chinatown.com 91chuxue.com 91clt.com 91cpm.com @@ -8823,20 +8822,25 @@ a0bi.com a0c00.com a0c77.com a1-anti-ddos.com +a1.mzstatic.com a1166.com a135.net a166.com a1714.com a1dy.com +a2.mzstatic.com a2048.com a21fs.com a21yishion.com a22.com a2dongman.com a2kindle.com +a3.mzstatic.com a3721.store a3p4.com +a4.mzstatic.com a4s6.com +a5.mzstatic.com a5.net a5805.com a5idc.net @@ -9107,6 +9111,8 @@ adbxb.com adbyby.com adc-cn.org adccd.com +adcdownload.apple.com +adcdownload.apple.com.akadns.net adchitu.net adconfer.com add-urlfree.com @@ -9193,6 +9199,7 @@ adsagedsp.com adsame.com adscover.com adsensor.org +adservice.google.com adsfhn.com adshuzhan.com adslr.com @@ -9278,6 +9285,7 @@ afd6.com afdian.net afdiancdn.com afdsc.com +afdvr.com afengseo.com afengsoft.com afenxi.com @@ -9310,6 +9318,7 @@ agcloudcs.com agctc.com agdns.cc age06.com +agefans.tv agemiracles.com agenge.com agenow.com @@ -10660,6 +10669,7 @@ apoyl.com apozh.com app-123.com app-echo.com +app-measurement.com app-sage.com app-store.name app-web-seo-aso.com @@ -10724,6 +10734,8 @@ appkaifa.com appkefu.com appkg.com applaudads.com +appldnld.apple.com +appldnld.g.aaplimg.com apple-lg4.com apple110.com apple21.com @@ -10752,6 +10764,8 @@ appnz.com appotronics.com apppoo.com appresource.net +apps.apple.com +apps.mzstatic.com apps.samsung.com apps121.com appscan.io @@ -12242,14 +12256,15 @@ bdxiaodai.com bdxx.net bdydns.com bdydns.net -bdyf2.com -bdyf3.com bdysite.com bdyxzx.com be-xx.com be1scrm.com be90.com beaacc.com +beacons.gcp.gvt2.com +beacons.gvt2.com +beacons3.gvt2.com beadwallet.com bearead.com beargoo.com @@ -14122,7 +14137,6 @@ budingtv.com budkr.com budongnvren.com budou.com -budusu.com bufan.com buffst.com bug200.com @@ -14424,6 +14438,8 @@ c-sky.com c-sz.com c-t.work c-yl.com +c.admob.com +c.android.clients.google.com c.citic c0594.com c0de4fun.com @@ -14509,6 +14525,7 @@ cabplink.com cabxgw.com cacfo.com cacg.cc +cache.pack.google.com cachecn.com cachecn.net cachekit.com @@ -15284,6 +15301,10 @@ cdmoz.org cdn-789.com cdn-cdn.net cdn-chuang.com +cdn-cn1.apple-mapkit.com +cdn-cn2.apple-mapkit.com +cdn-cn3.apple-mapkit.com +cdn-cn4.apple-mapkit.com cdn-css.com cdn-discuz.com cdn-files.net @@ -15292,6 +15313,7 @@ cdn-okzyw.com cdn-speed.com cdn-tudou.com cdn-v.com +cdn.apple-mapkit.com cdn.bid cdn.jsdelivr.net cdn.marketplaceimages.windowsphone.com @@ -15301,14 +15323,18 @@ cdn.shanghai.nyu.edu cdn007.com cdn08.com cdn1-okzy.com +cdn1.apple-mapkit.com cdn2-okzy.com +cdn2.apple-mapkit.com cdn20.com cdn20.info cdn20.org cdn2000.com +cdn3.apple-mapkit.com cdn30.com cdn30.org cdn4-okzy.com +cdn4.apple-mapkit.com cdn55.net cdn56.com cdn7-okzy.com @@ -15370,6 +15396,9 @@ cdren.com cdren.net cdrtvu.com cdryny.com +cds-cdn.v.aaplimg.com +cds.apple.com +cds.apple.com.akadns.net cdsb.com cdsb.mobi cdsbf.com @@ -15990,6 +16019,7 @@ chebao360.com checheboke.com chechong.com check.cc +checkin.gstatic.com checkip.pw checkoo.com checkpass.net @@ -17603,7 +17633,19 @@ cl-hs.com cl-kongtiao.com cl0438.com cl0907.com +cl1-cdn.origin-apple.com.akadns.net +cl1.apple.com +cl2-cn.apple.com +cl2.apple.com +cl2.apple.com.edgekey.net.globalredir.akadns.net +cl3-cdn.origin-apple.com.akadns.net +cl3.apple.com cl3000.com +cl4-cdn.origin-apple.com.akadns.net +cl4-cn.apple.com +cl4.apple.com +cl5-cdn.origin-apple.com.akadns.net +cl5.apple.com cl597.com clady.cc claiks.com @@ -17637,11 +17679,15 @@ click-v.com click369.com clickclaro.xyz clickearnbtc.com +clickserve.dartsearch.net clickstyle.net clicksun.net clickwifi.net client-download.steampowered.com client51.com +clientflow.apple.com +clientflow.apple.com.akadns.net +clientservices.googleapis.com cliffordtrading.com cliim.com cliim.net @@ -17709,6 +17755,8 @@ cloudphotoes.com cloudroom.com cloudsation.com cloudsea.org +cloudsee.com +cloudseeplus.com cloudseetech.com cloudserver01.com cloudsgis.com @@ -18803,6 +18851,8 @@ comvps.com conans.cc concox.net config.unityads.unity3d.com +configuration.apple.com +configuration.apple.com.akadns.net confuciusinstitute.net cong9184.com congan.wang @@ -18812,6 +18862,7 @@ congrongfund.com congyicn.com congzao.com congzhi.com +connectivitycheck.gstatic.com conoha.vip conohavps.com conpak.com.hk @@ -19240,6 +19291,7 @@ crimoon.net crispstata.com crjfw.com crl.globalsign.net +crl.pki.goog crlcn.com crlf0710.com crlg.com @@ -19345,6 +19397,7 @@ cshnkj.com cshu360.com cshxdc.com cshzw.com +csi.gstatic.com csiaexpo.com csic-711.com csic-ljtech.com @@ -19416,6 +19469,7 @@ csswgq.com cssxt.com cssyq.com cssyzxx.com +cstat.apple.com cstccloud.org cstea.org cstech.ltd @@ -20591,6 +20645,7 @@ dctxf.com dcv.so dcxnews.com dczou.com +dd-cdn.origin-apple.com.akadns.net dd-img.com dd-kan.com dd-vending.com @@ -21534,6 +21589,8 @@ dl-origin.ubnt.com dl-rc.com dl.delivery.mp.microsoft.com dl.djicdn.com +dl.google.com +dl.l.google.com dl.ubnt.com dl0679.com dl0728.com @@ -22035,6 +22092,7 @@ doubaojf.com doubean.com doubimm.net doubiy.com +doubleclick.net douboshi.net doubozhibo.com douc.cc @@ -22147,6 +22205,7 @@ downhot.com downjoy.com downkr.com downkuai.com +download.developer.apple.com download.mcafee.com download.microsoft.com download.parallels.com @@ -25607,6 +25666,8 @@ font168.com font5.com font6.com fontke.com +fonts.googleapis.com +fonts.gstatic.com foodbk.com foodbuyervip.com foodgx.com @@ -26281,7 +26342,6 @@ g2b2b.com g2g1.com g2us.com g312.com -g312.net g32365.com g3d.org g3img.com @@ -27267,7 +27327,6 @@ globalmil.com globalpingbao.com globalrich.net globalscanner.com -globalsign.com globalsigncdn.com globalsources.com globalstech.com @@ -27591,9 +27650,15 @@ goods-brand.com goodstudydayup.com goodun.org goodwan.net +google-analytics.com +googleadservices.com googleadsl.com +googleanalytics.com googlebridge.com googlefonts.net +googlesyndication.com +googletagmanager.com +googletagservices.com googlevip8.com googleyixia.com googlo.me @@ -27838,6 +27903,8 @@ gruntjs.net grvape.com gryu.net grzmz.com +gs-loc-cn.apple.com +gs-loc.apple.com gs.ww.np.dl.playstation.net gs14.com gs2.ww.prod.dl.playstation.net @@ -27867,7 +27934,21 @@ gskyty.com gsmpers.com gsmyi.com gsnyjszg.com +gsp10-ssl-cn.ls.apple.com +gsp11-cn.ls.apple.com +gsp12-cn.ls.apple.com +gsp13-cn.ls.apple.com +gsp4-cn.ls.apple.com +gsp4-cn.ls.apple.com.edgekey.net +gsp4-cn.ls.apple.com.edgekey.net.globalredir.akadns.net +gsp5-cn.ls.apple.com gspcc.com +gspe19-cn-ssl.ls.apple.com +gspe19-cn.ls-apple.com.akadns.net +gspe19-cn.ls.apple.com +gspe21-ssl.ls.apple.com +gspe21.ls.apple.com +gspe35-ssl.ls.apple.com gspz8.com gsqx.com gsrecv.com @@ -27915,6 +27996,7 @@ gtk2.com gtkzh.com gtlrxt.com gtm-a1b2.com +gtm.oasisfeng.com gtmlufax.com gtn9.com gto365.com @@ -29930,6 +30012,7 @@ heisldg.com heitao.com heitao.me heitao2014.com +heixi.com heixiaozi.com heiyaheiya.com heiyan.com @@ -30664,7 +30747,6 @@ hmkjn.com hmlan.com hmltec.com hmnst.com -hmp33.com hmplay.com hmq350.com hmsce.org @@ -32535,7 +32617,6 @@ i1she.com i2ya.com i360mall.com i36j.com -i3baby.com i3done.com i3dpworld.com i3geek.com @@ -32820,6 +32901,8 @@ ickey.cc ickimg.com iclicash.com iclickstatic.com +icloud-cdn.icloud.com.akadns.net +icloud.cdn-apple.com icloudnews.net iclouds.work icloverlabs.com @@ -33519,6 +33602,9 @@ imagerysolution.com images-cache.com images-cn-8.ssl-images-amazon.com images-cn.ssl-images-amazon.com +images.apple.com +images.apple.com.akadns.net +images.apple.com.edgekey.net.globalredir.akadns.net images.benchmarkemail.com images.samsung.com imageter.com @@ -33536,6 +33622,7 @@ imalljoy.com imandarin.net imarketchina.com imaschina.com +imasdk.googleapis.com imatchic.com imatlas.com imbackr.com @@ -33819,6 +33906,12 @@ inicoapp.com inidc.net inimc.com ininin.com +init-p01md-lb.push-apple.com.akadns.net +init-p01md.apple.com +init-p01st-lb.push-apple.com.akadns.net +init-p01st.push.apple.com +init-s01st-lb.push-apple.com.akadns.net +init-s01st.push.apple.com initadmin.net initialview.com inja.com @@ -33946,6 +34039,7 @@ ios.dog ios1234.com ios666.com ios8.app +iosapps.itunes.g.aaplimg.com iosappx.com iosask.com iosfengwo.com @@ -34018,6 +34112,7 @@ ipfeibiao.com ipfen.com ipfsbit.com ipgoal.com +iphone-ld.apple.com iphonediule.com iphonespirit.com iphp8.com @@ -34036,7 +34131,6 @@ iplaypython.com iplaysoft.com iplua.com ipmay.com -ipmhw.com ipmph.com ipmtalk.com ipo.hk @@ -34109,7 +34203,6 @@ iqxbf.com iqxedu.com iqycamp.com iqying.com -iqyone.com iranshao.com iraoping.com iray.me @@ -34148,8 +34241,18 @@ iruixing.com irukou.com irunyan.com is-programmer.com +is1-ssl.mzstatic.com +is1.mzstatic.com +is2-ssl.mzstatic.com +is2.mzstatic.com is26.com +is3-ssl.mzstatic.com +is3.mzstatic.com is36.com +is4-ssl.mzstatic.com +is4.mzstatic.com +is5-ssl.mzstatic.com +is5.mzstatic.com is777.com isaced.com isadba.com @@ -34507,7 +34610,10 @@ ituba.cc itugo.com ituibar.com ituite.com +itunes-apple.com.akadns.net +itunes.apple.com itunesappstore.net +itunesconnect.apple.com itushuo.com itutu.tv ituu.net @@ -36501,6 +36607,8 @@ jourlib.org journeyui.com jourserv.com jouypub.com +jovcloud.com +jovetech.com jowto.com joy9.cc joy95.com @@ -38082,6 +38190,7 @@ kgogame.com kgs.com.hk kgula.com kguowai.com +kh.google.com khanarabia.com khdatasolutions.com khdmw.com @@ -38090,6 +38199,18 @@ khews.com khgxvxd.com khlgauqt2000.com khlysc.com +khm.google.com +khm.googleapis.com +khm0.google.com +khm0.googleapis.com +khm1.google.com +khm1.googleapis.com +khm2.google.com +khm2.googleapis.com +khm3.google.com +khm3.googleapis.com +khmdb.google.com +khmdb.googleapis.com khonshop.com khotyn.com khqihuo.com @@ -38493,9 +38614,12 @@ koofang.com koofun.com kookong.com koolbao.com +koolddns.com kooldns.com koolearn.com koolproxy.com +koolshare.cn +koolshare.io koolyun.com koorun.com koosec.com @@ -43116,6 +43240,9 @@ meshiot.com mesince.com mesky.net mesresearch.com +mesu-cdn.apple.com.akadns.net +mesu-china.apple.com.akadns.net +mesu.apple.com mesule.com metacd.com metajs.info @@ -43892,7 +44019,6 @@ mobibal.com mobibao.com mobibrw.com mobike.com -mobile-dad.com mobile-ease.com mobile-open.com mobileanjian.com @@ -44464,7 +44590,6 @@ mudongguang.com mudooc.com mudoudou.net mudu.tv -mufengs.com muftc.com mugeda.com mugisama.com @@ -44491,6 +44616,7 @@ muse-ui.org muse100.com mushapi.com mushshen.com +music.apple.com music163.com music4x.com musicbody.net @@ -44548,7 +44674,6 @@ mvmpg.com mvoodfekicyt9pup1vyhvtgwjajuavdmljcbmoqiujhd8zqsk5seoc.org mvote.net mvpdj.com -mvxz.net mvyxws.com mw1950.com mwap8.com @@ -46319,6 +46444,7 @@ ocooca.com ocpan.org ocrmaker.com ocsp.globalsign.com +ocsp.pki.goog ocsp2.globalsign.com oct-and.com oct-asia.com @@ -46827,6 +46953,8 @@ osbzr.com oscarma.com oscartutor.com oscarzhoud.com +oscdn.apple.com +oscdn.origin-apple.com.akadns.net oschina.com oschina.io oschina.net @@ -47094,6 +47222,7 @@ paddlewaver.com padh.net padsj.com paedu.net +pagead-googlehosted.l.google.com pageadmin.net pagechoice.com pagechoice.net @@ -47148,10 +47277,11 @@ pamss.net pan-elektron.com pan115.com pan58.com -pan66.com pan8.net panabit.com panbaidu.com +pancake.apple.com +pancake.cdn-apple.com.akadns.net panchuang.net pancishe.com panda.tv @@ -47628,6 +47758,7 @@ philm.cc phnamedns.com phnixpool.com pho.so +phobos.apple.com phodal.com phoemix.net phoenixos.com @@ -48432,6 +48563,7 @@ process-safety-lab.com processon.com procivi.net procurmax.com +prod-support.apple-support.akadns.net product1.djicdn.com productivity.wiki profparks.com @@ -50730,6 +50862,7 @@ rebatesme.com rebcenter.com rebo5566.com reborncodinglife.com +recaptcha.net recgo.com rechaos.com recolighting.com @@ -50756,6 +50889,7 @@ redianzixun.com rediao.com redicecn.com redidc.com +redirector.gvt1.com redisbook.com redisdoc.com redisfans.com @@ -51537,6 +51671,8 @@ s-mob.com s-mumu.com s-reader.com s-ts.net +s.mzstatic.com +s1.mzstatic.com s135.com s163.com s1905.com @@ -51544,11 +51680,15 @@ s1979.com s1craft.com s1d.cc s1s2-028.com +s2.mzstatic.com +s3.mzstatic.com s350gg.com s350kk.com s3graphics.com +s4.mzstatic.com s4g5.com s4yd.com +s5.mzstatic.com s5217.com s5217.net s575.com @@ -51581,6 +51721,8 @@ sae-china.org saebbs.com saeedamrollahi.com saf588.com +safebrowsing-cache.google.com +safebrowsing.googleapis.com safecenter.com safecn.net safehoo.com @@ -52130,7 +52272,6 @@ sdtvjiankang.com sdtxmq.com sduod.com sdutacm.org -sdwanghan.com sdwanping.com sdwdxl.com sdwebseo.com @@ -52399,6 +52540,7 @@ sesliayaz.com set5g.com seteuid0.com setphp.com +settings.crashlytics.com setuw.com seuic.com seutex.com @@ -54720,7 +54862,6 @@ sooyuu.com soozhu.com sopaimai.com sopanbar.com -sopanpan.com sopanxia.com soperson.com sopopo.com @@ -55075,6 +55216,8 @@ ssjlicai.com ssjxx.com ssjzw.com ssky123.com +ssl-google-analytics.l.google.com +ssl.gstatic.com ssl.travelzoo.com ssl.tzoo-img.com sslaaa.com @@ -55252,6 +55395,7 @@ stnts.com sto2.cc sto80.com stockhn.com +stocks-sparkline-lb.apple.com.akadns.net stockstar.com stockwei.com stockxp.com @@ -55267,9 +55411,14 @@ stoneu.com stonexp.com stor-age.com storagesemicon.com +store.apple.com +store.apple.com.edgekey.net +store.apple.com.edgekey.net.globalredir.akadns.net store.dji.com store.nike.com store.samsung.com +store.storeimages.apple.com.akadns.net +store.storeimages.cdn-apple.com storeedgefd.dsx.mp.microsoft.com stormcodec.com stormluke.me @@ -55623,7 +55772,9 @@ suplaz.com supoin.com supool.com suppig.net +support-china.apple-support.akadns.net support-cn.samsung.com +support.apple.com support.lenovo.com supreme007.com supumall.com @@ -55635,6 +55786,7 @@ surdoc.net sure56.com suremotoo.site surface-ser.com +surplusvalue.club surroundtm.com sursen.com sursenelec.com @@ -55702,8 +55854,14 @@ swaqds.com swarma.net swatou.com swbbsc.com +swcatalog-cdn.apple.com.akadns.net +swcatalog.apple.com +swcdn.apple.com +swcdn.g.aaplimg.com swchina.org swcpu.com +swdist.apple.com +swdist.apple.com.akadns.net sweetalkos.com sweetdan.com sweeterthandespair.com @@ -55746,6 +55904,8 @@ swordtt.com swotbbs.com swothouse.com swsbw.com +swscan-cdn.apple.com.akadns.net +swscan.apple.com swsm.net swsmu.com swstsg.com @@ -57925,11 +58085,14 @@ toohun.com tool.cx tool.la tool.lu +toolbarqueries.google.com tooless.org toolinbox.net toolmall.com toolmao.com toolnb.com +tools.google.com +tools.l.google.com tooming.com toomoss.com toon.mobi @@ -58194,6 +58357,7 @@ transensesoft.com transformer-cn.com transfu.com transfun.net +translate.googleapis.com translation-dictionary.net translationchina.com transn.com @@ -59480,6 +59644,9 @@ upcdn.net upchina.com upchinapro.com upchinaproduct.com +update.googleapis.com +updates-http.cdn-apple.com +updates-http.cdn-apple.com.akadns.net updba.com updrv.com upepsi.com @@ -59835,6 +60002,8 @@ vaeliu.com vaikan.com vakku.com valcell.com +valid.apple.com +valid.origin-apple.com.akadns.net validform.club valinbl.com valinresources.com @@ -63403,12 +63572,15 @@ www-657000.com www-689777.com www-706705.com www-api.ibm.com +www-googletagmanager.l.google.com www-ssl.intel.com www.adobe.com www.agoda.com www.akamai.com www.amd.com -www.bing.com +www.apple.com +www.apple.com.edgekey.net +www.apple.com.edgekey.net.globalredir.akadns.net www.cc www.cg www.com.my @@ -63417,6 +63589,7 @@ www.dell.com www.dji.com www.djivideos.com www.ericsson.com +www.gstatic.com www.htc.com www.htcsense.com www.htcvive.com @@ -64332,7 +64505,6 @@ xiao84.com xiao89.com xiaoa.name xiaoacha.com -xiaoaiba.com xiaobai.com xiaobaibk.com xiaobaifile.com @@ -68780,7 +68952,6 @@ yuanxuxu.com yuanyangaobei.com yuanyanglw.com yuanyi.biz -yuanyi188.com yuanyinshiye.com yuanyintang.com yuanyoutao.com diff --git a/package/lienol/luci-app-passwall/root/usr/share/passwall/subscribe.lua b/package/lienol/luci-app-passwall/root/usr/share/passwall/subscribe.lua index c195dc50e1..7e2df6fdca 100644 --- a/package/lienol/luci-app-passwall/root/usr/share/passwall/subscribe.lua +++ b/package/lienol/luci-app-passwall/root/usr/share/passwall/subscribe.lua @@ -459,7 +459,9 @@ local function parse_link(raw, remark, md5_str, manual) result.remarks:find("QQ群") or result.remarks:find("官网") or not result.address or - result.address:match("[^0-9a-zA-Z%-%.%s]") -- 中文做地址的 也没有人拿中文域名搞,就算中文域也有Puny Code SB 机场 + result.address:match("[^0-9a-zA-Z%-%_%.%s]") or -- 中文做地址的 也没有人拿中文域名搞,就算中文域也有Puny Code SB 机场 + not result.address:find("%.") or -- 虽然没有.也算域,不过应该没有人会这样干吧 + result.address:sub(#result.address) == "." -- 结尾是. then log('丢弃无效节点: ' .. result.type ..' 节点, ' .. result.remarks) else