mirror of
https://github.com/kenzok8/small-package.git
synced 2026-02-06 23:08:07 +08:00
update-12.01
This commit is contained in:
@@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=UnblockNeteaseMusic
|
||||
PKG_BASE_VERSION:=0.27.0-rc.2
|
||||
PKG_RELEASE:=34
|
||||
PKG_RELEASE:=35
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/UnblockNeteaseMusic/server.git
|
||||
PKG_SOURCE_DATE:=2021-11-27
|
||||
PKG_SOURCE_VERSION:=ebea65e628b1693ec5d4f76ea07204b1805fb18b
|
||||
PKG_SOURCE_VERSION:=250cc6bbd483f8fc2d6b99100d8212b12b8daadc
|
||||
PKG_MIRROR_HASH:=skip
|
||||
|
||||
PKG_VERSION:=$(PKG_BASE_VERSION)-$(PKG_SOURCE_DATE)-$(call version_abbrev,$(PKG_SOURCE_VERSION))
|
||||
|
||||
@@ -1,38 +1,41 @@
|
||||
2021-11-28 15:38:25: ------------------- 规则更新 -----------------------
|
||||
2021-11-28 15:38:25: ====================================================
|
||||
2021-11-28 15:38:25: 开始更新koolproxy的规则,请等待...
|
||||
2021-11-28 15:38:25: ---------------------------------------------------------------------------------------
|
||||
2021-11-28 15:38:25: Yhosts规则本地版本号: 202111082343
|
||||
2021-11-28 15:38:25: Yhosts规则在线版本号: 202111082343
|
||||
2021-11-28 15:38:25: 检测到Yhosts本地版本号和在线版本号相同,那还更新个毛啊!
|
||||
2021-11-28 15:38:25: ---------------------------------------------------------------------------------------
|
||||
2021-11-28 15:38:26: Antiad规则本地版本号: 20211126024124
|
||||
2021-11-28 15:38:26: Antiad规则在线版本号: 20211126024124
|
||||
2021-11-28 15:38:26: 检测到 Antiad规则 本地版本号和在线版本号相同,那还更新个毛啊!
|
||||
2021-11-28 15:38:26: ---------------------------------------------------------------------------------------
|
||||
2021-11-28 15:38:26: StevenBlack规则本地版本号: 21 November 2021 16:22:17
|
||||
2021-11-28 15:38:26: StevenBlack规则在线版本号: 21 November 2021 16:22:17
|
||||
2021-11-28 15:38:26: 检测到 StevenBlack规则 本地版本号和在线版本号相同,那还更新个毛啊!
|
||||
2021-11-28 15:38:26: ---------------------------------------------------------------------------------------
|
||||
2021-11-28 15:38:26: AdGuard DNS规则本地版本号: 2021-11-28T12:08:07.794Z
|
||||
2021-11-28 15:38:26: AdGuard DNS规则在线版本号: 2021-11-28T12:08:07.794Z
|
||||
2021-11-28 15:38:26: 检测到 AdGuard DNS规则 本地版本号和在线版本号相同,那还更新个毛啊!
|
||||
2021-11-28 15:38:26: ---------------------------------------------------------------------------------------
|
||||
2021-11-28 15:38:26: ADgk规则本地版本号: 20211127231236
|
||||
2021-11-28 15:38:26: ADgk规则在线版本号: 20211127231236
|
||||
2021-11-28 15:38:26: 检测到 ADgk规则 本地版本号和在线版本号相同,那还更新个毛啊!
|
||||
2021-11-28 15:38:26: 跳过优化 补充规则Yhosts。。。。。
|
||||
2021-11-28 15:38:26: 跳过优化 补充规则Antiad。。。。。
|
||||
2021-11-28 15:38:26: 跳过优化 补充规则StevenBlack。。。。。
|
||||
2021-11-28 15:38:26: 跳过优化 补充规则 AdGuard DNS。。。。。
|
||||
2021-11-28 15:38:26: 跳过优化 ADgk规则。。。。。
|
||||
2021-11-28 15:38:26: 所有规则更新并优化完毕!
|
||||
2021-11-28 15:38:26: ====================================================
|
||||
2021-11-28 15:38:27: -------------------AdGuard规则 version 2021-11-28T12:08:07.794Z
|
||||
2021-11-28 15:38:27: -------------------Antiad规则 version 20211126024124
|
||||
2021-11-28 15:38:27: -------------------Banben规则 version 20211127231236
|
||||
2021-11-28 15:38:27: -------------------Yhosts规则 version 202111082343
|
||||
2021-11-28 15:38:27: -------------------Steven规则 version 21 November 2021 16:22:17
|
||||
2021-11-28 15:38:27: -------------------静态规则 version 2021-10-07 18:00
|
||||
2021-11-28 15:38:27: ------------------- 内置规则更新成功! -------------------
|
||||
2021-11-28 15:38:27: ------------------- 规则更新成功! -------------------
|
||||
2021-11-30 16:17:58: ------------------- 规则更新 -----------------------
|
||||
2021-11-30 16:17:58: ====================================================
|
||||
2021-11-30 16:17:58: 开始更新koolproxy的规则,请等待...
|
||||
2021-11-30 16:17:58: ---------------------------------------------------------------------------------------
|
||||
2021-11-30 16:17:58: Yhosts规则本地版本号: 202111082343
|
||||
2021-11-30 16:17:58: Yhosts规则在线版本号: 202111082343
|
||||
2021-11-30 16:17:58: 检测到Yhosts本地版本号和在线版本号相同,那还更新个毛啊!
|
||||
2021-11-30 16:17:58: ---------------------------------------------------------------------------------------
|
||||
2021-11-30 16:17:58: Antiad规则本地版本号: 20211126024124
|
||||
2021-11-30 16:17:58: Antiad规则在线版本号: 20211129122202
|
||||
2021-11-30 16:17:58: 检测到新版本 Antiad规则 列表,开始更新...
|
||||
2021-11-30 16:17:58: 将临时文件覆盖到原始 Antiad规则 文件
|
||||
2021-11-30 16:17:58: ---------------------------------------------------------------------------------------
|
||||
2021-11-30 16:17:59: StevenBlack规则本地版本号: 21 November 2021 16:22:17
|
||||
2021-11-30 16:17:59: StevenBlack规则在线版本号: 30 November 2021 03:18:10
|
||||
2021-11-30 16:17:59: 检测到新版本 StevenBlack规则 列表,开始更新...
|
||||
2021-11-30 16:17:59: 将临时文件覆盖到原始 StevenBlack规则 文件
|
||||
2021-11-30 16:17:59: ---------------------------------------------------------------------------------------
|
||||
2021-11-30 16:17:59: AdGuard DNS规则本地版本号: 2021-11-28T12:08:07.794Z
|
||||
2021-11-30 16:17:59: AdGuard DNS规则在线版本号: 2021-11-30T14:36:29.130Z
|
||||
2021-11-30 16:17:59: 检测到新版本 AdGuard DNS规则 列表,开始更新...
|
||||
2021-11-30 16:17:59: 将临时文件覆盖到原始 AdGuard DNS规则 文件
|
||||
2021-11-30 16:17:59: ---------------------------------------------------------------------------------------
|
||||
2021-11-30 16:17:59: ADgk规则本地版本号: 20211127231236
|
||||
2021-11-30 16:17:59: ADgk规则在线版本号: 20211127231236
|
||||
2021-11-30 16:17:59: 检测到 ADgk规则 本地版本号和在线版本号相同,那还更新个毛啊!
|
||||
2021-11-30 16:17:59: 跳过优化 补充规则Yhosts。。。。。
|
||||
2021-11-30 16:17:59: 正在优化 补充规则antiad。。。。。
|
||||
2021-11-30 16:17:59: 正在优化 补充规则steven。。。。。
|
||||
2021-11-30 16:18:00: 正在优化 补充规则AdGuard DNS。。。。。
|
||||
2021-11-30 16:18:05: 跳过优化 ADgk规则。。。。。
|
||||
2021-11-30 16:18:05: 所有规则更新并优化完毕!
|
||||
2021-11-30 16:18:05: ====================================================
|
||||
2021-11-30 16:18:07: -------------------AdGuard规则 version 2021-11-30T14:36:29.130Z
|
||||
2021-11-30 16:18:07: -------------------Antiad规则 version 20211129122202
|
||||
2021-11-30 16:18:07: -------------------Banben规则 version 20211127231236
|
||||
2021-11-30 16:18:07: -------------------Yhosts规则 version 202111082343
|
||||
2021-11-30 16:18:07: -------------------Steven规则 version 30 November 2021 03:18:10
|
||||
2021-11-30 16:18:07: -------------------静态规则 version 2021-10-07 18:00
|
||||
2021-11-30 16:18:07: ------------------- 内置规则更新成功! -------------------
|
||||
2021-11-30 16:18:07: ------------------- 规则更新成功! -------------------
|
||||
|
||||
@@ -32,6 +32,7 @@ function index()
|
||||
entry({"admin", "services", "openclash", "ping"}, call("act_ping"))
|
||||
entry({"admin", "services", "openclash", "download_rule"}, call("action_download_rule"))
|
||||
entry({"admin", "services", "openclash", "download_netflix_domains"}, call("action_download_netflix_domains"))
|
||||
entry({"admin", "services", "openclash", "download_disney_domains"}, call("action_download_disney_domains"))
|
||||
entry({"admin", "services", "openclash", "catch_netflix_domains"}, call("action_catch_netflix_domains"))
|
||||
entry({"admin", "services", "openclash", "write_netflix_domains"}, call("action_write_netflix_domains"))
|
||||
entry({"admin", "services", "openclash", "restore"}, call("action_restore_config"))
|
||||
@@ -316,6 +317,11 @@ function download_rule()
|
||||
return state
|
||||
end
|
||||
|
||||
function download_disney_domains()
|
||||
local state = luci.sys.call(string.format('/usr/share/openclash/openclash_download_rule_list.sh "%s" >/dev/null 2>&1',"disney_domains"))
|
||||
return state
|
||||
end
|
||||
|
||||
function download_netflix_domains()
|
||||
local state = luci.sys.call(string.format('/usr/share/openclash/openclash_download_rule_list.sh "%s" >/dev/null 2>&1',"netflix_domains"))
|
||||
return state
|
||||
@@ -706,7 +712,7 @@ function action_toolbar_show()
|
||||
connection = "0"
|
||||
end
|
||||
mem = tonumber(luci.sys.exec(string.format("cat /proc/%s/status 2>/dev/null |grep -w VmRSS |awk '{print $2}'", pid)))
|
||||
cpu = luci.sys.exec(string.format("top -b -n1 |grep -E '(%s|PID)' 2>/dev/null |grep -v grep |awk '{for (i=1;i<=NF;i++) {if ($i ~ /CPU/) num=i}};{print $num}' 2>/dev/null | sed -n '2p' 2>/dev/null", pid))
|
||||
cpu = luci.sys.exec(string.format("top -b -n1 |grep -E '%s' 2>/dev/null |grep -v grep |awk '{for (i=1;i<=NF;i++) {if ($i ~ /clash/) break; else cpu=i}}; {print $cpu}' 2>/dev/null", pid))
|
||||
if mem and cpu then
|
||||
mem = fs.filesize(mem*1024)
|
||||
cpu = string.gsub(cpu, "%%\n", "")
|
||||
@@ -940,6 +946,13 @@ function action_download_netflix_domains()
|
||||
})
|
||||
end
|
||||
|
||||
function action_download_disney_domains()
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json({
|
||||
rule_download_status = download_disney_domains();
|
||||
})
|
||||
end
|
||||
|
||||
function action_refresh_log()
|
||||
luci.http.prepare_content("application/json")
|
||||
local logfile="/tmp/openclash.log"
|
||||
|
||||
@@ -211,7 +211,7 @@ end
|
||||
o:value("DIRECT")
|
||||
o:value("REJECT")
|
||||
|
||||
o = s:option(ListValue, "Disney", translate("Disney"))
|
||||
o = s:option(ListValue, "Disney", translate("Disney Plus"))
|
||||
o:depends("rule_name", "lhie1")
|
||||
o.rmempty = true
|
||||
for groupname in string.gmatch(groupnames, "([^'##\n']+)##") do
|
||||
|
||||
@@ -437,19 +437,19 @@ function custom_rules_2.write(self, section, value)
|
||||
end
|
||||
|
||||
--Stream Enhance
|
||||
o = s:taboption("stream_enhance", Flag, "netflix_domains_prefetch", font_red..bold_on..translate("Prefetch Netflix Domains")..bold_off..font_off)
|
||||
o = s:taboption("stream_enhance", Flag, "stream_domains_prefetch", font_red..bold_on..translate("Prefetch Netflix, Disney Plus Domains")..bold_off..font_off)
|
||||
o.description = translate("Prevent Some Devices From Directly Using IP Access To Cause Unlocking Failure")
|
||||
o.default=0
|
||||
|
||||
o = s:taboption("stream_enhance", Value, "netflix_domains_prefetch_interval", translate("Netflix Domains Prefetch Interval(min)"))
|
||||
o = s:taboption("stream_enhance", Value, "stream_domains_prefetch_interval", translate("Domains Prefetch Interval(min)"))
|
||||
o.default=1440
|
||||
o.datatype = "uinteger"
|
||||
o.description = translate("Will Run Once Immediately After Started, The Interval Does Not Need To Be Too Short (Take Effect Immediately After Commit)")
|
||||
o:depends("netflix_domains_prefetch", "1")
|
||||
o:depends("stream_domains_prefetch", "1")
|
||||
|
||||
o = s:taboption("stream_enhance", DummyValue, "netflix_domains_update", translate("Update Netflix Domains List"))
|
||||
o:depends("netflix_domains_prefetch", "1")
|
||||
o.template = "openclash/download_netflix_domains"
|
||||
o = s:taboption("stream_enhance", DummyValue, "stream_domains_update", translate("Update Domains List"))
|
||||
o:depends("stream_domains_prefetch", "1")
|
||||
o.template = "openclash/download_stream_domains"
|
||||
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select", font_red..bold_on..translate("Auto Select Unlock Proxy")..bold_off..font_off)
|
||||
o.description = translate("Auto Select Proxy For Streaming Unlock, Support Netflix, Disney Plus, HBO And YouTube Premium")
|
||||
@@ -465,7 +465,7 @@ o.description = translate("Automatically Expand The Group When Selected")
|
||||
o.default=0
|
||||
o:depends("stream_auto_select", "1")
|
||||
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_netflix", translate("Netflix Auto Select"))
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_netflix", translate("Netflix"))
|
||||
o.default=1
|
||||
o:depends("stream_auto_select", "1")
|
||||
|
||||
@@ -475,7 +475,7 @@ o.placeholder = "Netflix|奈飞"
|
||||
o.description = translate("It Will Be Searched According To The Keywords When Auto Search Group Fails")
|
||||
o:depends("stream_auto_select_netflix", "1")
|
||||
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_disney", translate("Disney Plus Auto Select"))
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_disney", translate("Disney Plus"))
|
||||
o.default=0
|
||||
o:depends("stream_auto_select", "1")
|
||||
|
||||
@@ -485,7 +485,7 @@ o.placeholder = "Disney|迪士尼"
|
||||
o.description = translate("It Will Be Searched According To The Keywords When Auto Search Group Fails")
|
||||
o:depends("stream_auto_select_disney", "1")
|
||||
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_hbo", translate("HBO Auto Select"))
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_hbo", translate("HBO"))
|
||||
o.default=0
|
||||
o:depends("stream_auto_select", "1")
|
||||
|
||||
@@ -495,7 +495,7 @@ o.placeholder = "HBO"
|
||||
o.description = translate("It Will Be Searched According To The Keywords When Auto Search Group Fails")
|
||||
o:depends("stream_auto_select_hbo", "1")
|
||||
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_ytb", translate("YouTube Premium Auto Select"))
|
||||
o = s:taboption("stream_enhance", Flag, "stream_auto_select_ytb", translate("YouTube Premium"))
|
||||
o.default=0
|
||||
o:depends("stream_auto_select", "1")
|
||||
|
||||
|
||||
@@ -5,7 +5,38 @@
|
||||
var catch_timeout;
|
||||
var catch_out;
|
||||
|
||||
function act_download_rule(btn)
|
||||
function act_download_disney_rule(btn)
|
||||
{
|
||||
btn.disabled = true;
|
||||
btn.value = '<%:Downloading Rule...%> ';
|
||||
XHR.get('<%=luci.dispatcher.build_url("admin", "services", "openclash","download_disney_domains")%>',
|
||||
null,
|
||||
function(x,status)
|
||||
{
|
||||
if ( x && x.status == 200 ) {
|
||||
if(status.rule_download_status=="0")
|
||||
{
|
||||
btn.value = '<%:Downloading Fail%>';
|
||||
}
|
||||
else if (status.rule_download_status=="1")
|
||||
{
|
||||
btn.value = '<%:Downloading Successful%>';
|
||||
}
|
||||
else if (status.rule_download_status=="2")
|
||||
{
|
||||
btn.value = '<%:Rule No Change%>';
|
||||
}
|
||||
}
|
||||
else {
|
||||
btn.value = '<%:Downloading Timeout%>';
|
||||
}
|
||||
}
|
||||
);
|
||||
btn.disabled = false;
|
||||
return false;
|
||||
};
|
||||
|
||||
function act_download_netflix_rule(btn)
|
||||
{
|
||||
btn.disabled = true;
|
||||
btn.value = '<%:Downloading Rule...%> ';
|
||||
@@ -110,8 +141,9 @@
|
||||
//]]></script>
|
||||
|
||||
|
||||
<input type="button" class="btn cbi-button cbi-input-reload" value="<%:Click to Update%>" onclick="return act_download_rule(this)" />
|
||||
<input type="button" class="btn cbi-button cbi-input-reload" value="<%:Click to Catch%>" onclick="return catch_netflix_domains(this)" />
|
||||
<input type="button" class="btn cbi-button cbi-input-reload" value="<%:Netflix%>" onclick="return act_download_netflix_rule(this)" />
|
||||
<input type="button" class="btn cbi-button cbi-input-reload" value="<%:Disney Plus%>" onclick="return act_download_disney_rule(this)" />
|
||||
<input type="button" class="btn cbi-button cbi-input-reload" value="<%:Catch Netflix%>" onclick="return catch_netflix_domains(this)" />
|
||||
<fieldset style="display: none;margin: 0 auto;">
|
||||
<legend id="catch-netflix-state"><%:Collecting data...%></legend>
|
||||
<br />
|
||||
@@ -522,8 +522,8 @@ msgstr "微软服务(Microsoft)"
|
||||
msgid "Netflix"
|
||||
msgstr "奈飞(Netflix)"
|
||||
|
||||
msgid "Disney"
|
||||
msgstr "迪士尼(Disney)"
|
||||
msgid "Disney Plus"
|
||||
msgstr "迪士尼+(Disney Plus)"
|
||||
|
||||
msgid "Bilibili"
|
||||
msgstr "哔哩哔哩(Bilibili)"
|
||||
@@ -2387,17 +2387,17 @@ msgstr "被修改,暂停快速启动..."
|
||||
msgid "Click to Update"
|
||||
msgstr "点击更新规则"
|
||||
|
||||
msgid "Prefetch Netflix Domains"
|
||||
msgstr "实验性:预解析 Netflix 域名"
|
||||
msgid "Prefetch Netflix, Disney Plus Domains"
|
||||
msgstr "实验性:预解析 Netflix、Disney Plus 域名"
|
||||
|
||||
msgid "Prevent Some Devices From Directly Using IP Access To Cause Unlocking Failure"
|
||||
msgstr "防止部分设备直接使用IP访问导致DNS解锁失败"
|
||||
|
||||
msgid "Update Netflix Domains List"
|
||||
msgstr "更新 Netflix 域名列表"
|
||||
msgid "Update Domains List"
|
||||
msgstr "更新域名列表"
|
||||
|
||||
msgid "Netflix Domains Prefetch Interval(min)"
|
||||
msgstr "Netflix 域名预解析间隔(分钟)"
|
||||
msgid "Domains Prefetch Interval(min)"
|
||||
msgstr "域名预解析间隔(分钟)"
|
||||
|
||||
msgid "Tip: Start Prefetch Netflix Domains..."
|
||||
msgstr "提示:开始预解析 Netflix 域名..."
|
||||
@@ -2405,6 +2405,12 @@ msgstr "提示:开始预解析 Netflix 域名..."
|
||||
msgid "Tip: Netflix Domains Prefetch Finished!"
|
||||
msgstr "提示:Netflix 域名预解析完成!"
|
||||
|
||||
msgid "Tip: Start Prefetch Disney Plus Domains..."
|
||||
msgstr "提示:开始预解析 Disney Plus 域名..."
|
||||
|
||||
msgid "Tip: Disney Plus Domains Prefetch Finished!"
|
||||
msgstr "提示:Disney Plus 域名预解析完成!"
|
||||
|
||||
msgid "Persistence Fake-IP"
|
||||
msgstr "Fake-IP 持久化"
|
||||
|
||||
@@ -2429,6 +2435,9 @@ msgstr "抓取结果将自动保存"
|
||||
msgid "Click to Catch"
|
||||
msgstr "手动抓取域名"
|
||||
|
||||
msgid "Catch Netflix"
|
||||
msgstr "手动抓取 Netflix 域名"
|
||||
|
||||
msgid "No domain names were catched..."
|
||||
msgstr "未抓取到任何域名..."
|
||||
|
||||
@@ -2534,18 +2543,6 @@ msgstr "解锁检测失败!开始进行解锁节点自动选择..."
|
||||
msgid "It Will Be Searched According To The Keywords When Auto Search Group Fails"
|
||||
msgstr "策略组自动获取失败时将会根据关键字进行匹配"
|
||||
|
||||
msgid "Netflix Auto Select"
|
||||
msgstr "Netflix 自动选择"
|
||||
|
||||
msgid "Disney Plus Auto Select"
|
||||
msgstr "Disney Plus 自动选择"
|
||||
|
||||
msgid "HBO Auto Select"
|
||||
msgstr "HBO 自动选择"
|
||||
|
||||
msgid "YouTube Premium Auto Select"
|
||||
msgstr "YouTube Premium 自动选择"
|
||||
|
||||
msgid "not support Premium!"
|
||||
msgstr "不支持 Premium!"
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ config openclash 'config'
|
||||
option store_fakeip '1'
|
||||
option custom_fallback_filter '0'
|
||||
option append_wan_dns '1'
|
||||
option netflix_domains_prefetch '0'
|
||||
option stream_domains_prefetch '0'
|
||||
option stream_auto_select '0'
|
||||
option geo_custom_url 'https://cdn.jsdelivr.net/gh/alecthw/mmdb_china_ip_list@release/lite/Country.mmdb'
|
||||
option chnr_custom_url 'https://ispip.clang.cn/all_cn.txt'
|
||||
|
||||
@@ -1203,16 +1203,30 @@ start_run_core()
|
||||
check_interface_name
|
||||
config_reload=$(uci -q get openclash.config.config_reload)
|
||||
#Resore history cache
|
||||
if [ -f "$HISTORY_PATH" ]; then
|
||||
cmp -s "$CACHE_PATH" "$HISTORY_PATH"
|
||||
if [ "$?" -ne "0" ]; then
|
||||
cp "$HISTORY_PATH" "$CACHE_PATH" 2>/dev/null
|
||||
if [ -f "$HISTORY_PATH" ] && [ -f "$HISTORY_PATH_OLD" ]; then
|
||||
if [ "$(date -r $HISTORY_PATH +%s)" -ge "$(date -r $HISTORY_PATH_OLD +%s)" ]; then
|
||||
cmp -s "$CACHE_PATH" "$HISTORY_PATH"
|
||||
if [ "$?" -ne "0" ]; then
|
||||
cp "$HISTORY_PATH" "$CACHE_PATH" 2>/dev/null
|
||||
fi
|
||||
else
|
||||
cmp -s "$CACHE_PATH_OLD" "$HISTORY_PATH_OLD"
|
||||
if [ "$?" -ne "0" ]; then
|
||||
cp "$HISTORY_PATH_OLD" "$CACHE_PATH_OLD" 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ -f "$HISTORY_PATH_OLD" ]; then
|
||||
cmp -s "$CACHE_PATH_OLD" "$HISTORY_PATH_OLD"
|
||||
if [ "$?" -ne "0" ]; then
|
||||
cp "$HISTORY_PATH_OLD" "$CACHE_PATH_OLD" 2>/dev/null
|
||||
else
|
||||
if [ -f "$HISTORY_PATH" ]; then
|
||||
cmp -s "$CACHE_PATH" "$HISTORY_PATH"
|
||||
if [ "$?" -ne "0" ]; then
|
||||
cp "$HISTORY_PATH" "$CACHE_PATH" 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if [ -f "$HISTORY_PATH_OLD" ]; then
|
||||
cmp -s "$CACHE_PATH_OLD" "$HISTORY_PATH_OLD"
|
||||
if [ "$?" -ne "0" ]; then
|
||||
cp "$HISTORY_PATH_OLD" "$CACHE_PATH_OLD" 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ -n "$(pidof clash)" ] && [ "$core_type" != "TUN" ] && [ "$config_reload" != "0" ]; then
|
||||
|
||||
@@ -16,7 +16,13 @@ urlencode() {
|
||||
if [ "$1" == "netflix_domains" ]; then
|
||||
DOWNLOAD_PATH="https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/luci-app-openclash/root/usr/share/openclash/res/Netflix_Domains.list"
|
||||
RULE_FILE_DIR="/usr/share/openclash/res/Netflix_Domains.list"
|
||||
RULE_FILE_NAME="Netflix_Domains"
|
||||
RULE_TYPE="netflix"
|
||||
elif [ "$1" == "disney_domains" ]; then
|
||||
DOWNLOAD_PATH="https://cdn.jsdelivr.net/gh/vernesong/OpenClash@master/luci-app-openclash/root/usr/share/openclash/res/Disney_Plus_Domains.list"
|
||||
RULE_FILE_DIR="/usr/share/openclash/res/Disney_Plus_Domains.list"
|
||||
RULE_FILE_NAME="Disney_Plus_Domains"
|
||||
RULE_TYPE="disney"
|
||||
elif [ -z "$(grep "$RULE_FILE_NAME" /usr/share/openclash/res/rule_providers.list 2>/dev/null)" ]; then
|
||||
DOWNLOAD_PATH=$(grep -F "$RULE_FILE_NAME" /usr/share/openclash/res/game_rules.list |awk -F ',' '{print $2}' 2>/dev/null)
|
||||
RULE_FILE_DIR="/etc/openclash/game_rules/$RULE_FILE_NAME"
|
||||
@@ -35,10 +41,12 @@ urlencode() {
|
||||
|
||||
TMP_RULE_DIR="/tmp/$RULE_FILE_NAME"
|
||||
TMP_RULE_DIR_TMP="/tmp/$RULE_FILE_NAME.tmp"
|
||||
[ "$RULE_TYPE" != "netflix" ] && DOWNLOAD_PATH=$(urlencode "$DOWNLOAD_PATH")
|
||||
[ "$RULE_TYPE" != "netflix" ] && [ "$RULE_TYPE" != "disney" ] && DOWNLOAD_PATH=$(urlencode "$DOWNLOAD_PATH")
|
||||
|
||||
if [ "$RULE_TYPE" = "netflix" ]; then
|
||||
curl -sL --connect-timeout 5 --retry 2 "$DOWNLOAD_PATH" -o "$TMP_RULE_DIR" >/dev/null 2>&1
|
||||
elif [ "$RULE_TYPE" = "disney" ]; then
|
||||
curl -sL --connect-timeout 5 --retry 2 "$DOWNLOAD_PATH" -o "$TMP_RULE_DIR" >/dev/null 2>&1
|
||||
elif [ "$RULE_TYPE" = "game" ]; then
|
||||
if pidof clash >/dev/null; then
|
||||
curl -sL --connect-timeout 5 --retry 2 https://raw.githubusercontent.com/FQrabbit/SSTap-Rule/master/rules/"$DOWNLOAD_PATH" -o "$TMP_RULE_DIR" >/dev/null 2>&1
|
||||
@@ -55,7 +63,7 @@ urlencode() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$?" -eq "0" ] && [ -s "$TMP_RULE_DIR" ] && [ -z "$(grep "404: Not Found" "$TMP_RULE_DIR")" ]; then
|
||||
if [ "$?" -eq "0" ] && [ -s "$TMP_RULE_DIR" ] && [ -z "$(grep "404: Not Found" "$TMP_RULE_DIR")" ] && [ -z "$(grep "Package size exceeded the configured limit" "$TMP_RULE_DIR")" ]; then
|
||||
if [ "$RULE_TYPE" = "game" ]; then
|
||||
cat "$TMP_RULE_DIR" |sed '/^#/d' 2>/dev/null |sed '/^ *$/d' 2>/dev/null |awk '{print " - "$0}' > "$TMP_RULE_DIR_TMP" 2>/dev/null
|
||||
sed -i '1i\payload:' "$TMP_RULE_DIR_TMP" 2>/dev/null
|
||||
|
||||
@@ -12,14 +12,15 @@ disable_masq_cache=$(uci -q get openclash.config.disable_masq_cache)
|
||||
cfg_update_interval=$(uci -q get openclash.config.config_update_interval || echo 60)
|
||||
log_size=$(uci -q get openclash.config.log_size || echo 1024)
|
||||
core_type=$(uci -q get openclash.config.core_type)
|
||||
netflix_domains_prefetch_interval=$(uci -q get openclash.config.netflix_domains_prefetch_interval || echo 1440)
|
||||
stream_domains_prefetch_interval=$(uci -q get openclash.config.stream_domains_prefetch_interval || echo 1440)
|
||||
stream_auto_select_interval=$(uci -q get openclash.config.stream_auto_select_interval || echo 30)
|
||||
NETFLIX_DOMAINS_LIST="/usr/share/openclash/res/Netflix_Domains.list"
|
||||
NETFLIX_DOMAINS_CUSTOM_LIST="/etc/openclash/custom/openclash_custom_netflix_domains.list"
|
||||
DISNEY_DOMAINS_LIST="/usr/share/openclash/res/Disney_Plus_Domains.list"
|
||||
_koolshare=$(cat /usr/lib/os-release 2>/dev/null |grep OPENWRT_RELEASE 2>/dev/null |grep -i koolshare 2>/dev/null)
|
||||
CRASH_NUM=0
|
||||
CFG_UPDATE_INT=1
|
||||
NETFLIX_DOMAINS_PREFETCH=1
|
||||
STREAM_DOMAINS_PREFETCH=1
|
||||
STREAM_AUTO_SELECT=1
|
||||
sleep 60
|
||||
|
||||
@@ -28,8 +29,8 @@ do
|
||||
cfg_update=$(uci -q get openclash.config.auto_update)
|
||||
cfg_update_mode=$(uci -q get openclash.config.config_auto_update_mode)
|
||||
cfg_update_interval_now=$(uci -q get openclash.config.config_update_interval || echo 60)
|
||||
netflix_domains_prefetch=$(uci -q get openclash.config.netflix_domains_prefetch || echo 0)
|
||||
netflix_domains_prefetch_interval_now=$(uci -q get openclash.config.netflix_domains_prefetch_interval || echo 1440)
|
||||
stream_domains_prefetch=$(uci -q get openclash.config.stream_domains_prefetch || echo 0)
|
||||
stream_domains_prefetch_interval_now=$(uci -q get openclash.config.stream_domains_prefetch_interval || echo 1440)
|
||||
stream_auto_select=$(uci -q get openclash.config.stream_auto_select || echo 0)
|
||||
stream_auto_select_interval_now=$(uci -q get openclash.config.stream_auto_select_interval || echo 30)
|
||||
stream_auto_select_netflix=$(uci -q get openclash.config.stream_auto_select_netflix || echo 0)
|
||||
@@ -157,11 +158,11 @@ fi
|
||||
STREAM_AUTO_SELECT=$(expr "$STREAM_AUTO_SELECT" + 1)
|
||||
fi
|
||||
|
||||
##NETFLIX_DNS_PREFETCH
|
||||
if [ "$netflix_domains_prefetch" -eq 1 ]; then
|
||||
[ "$netflix_domains_prefetch_interval" -ne "$netflix_domains_prefetch_interval_now" ] && NETFLIX_DOMAINS_PREFETCH=1 && netflix_domains_prefetch_interval="$netflix_domains_prefetch_interval_now"
|
||||
if [ "$NETFLIX_DOMAINS_PREFETCH" -ne 0 ]; then
|
||||
if [ "$(expr "$NETFLIX_DOMAINS_PREFETCH" % "$netflix_domains_prefetch_interval_now")" -eq 0 ] || [ "$NETFLIX_DOMAINS_PREFETCH" -eq 1 ]; then
|
||||
##STREAM_DNS_PREFETCH
|
||||
if [ "$stream_domains_prefetch" -eq 1 ]; then
|
||||
[ "$stream_domains_prefetch_interval" -ne "$stream_domains_prefetch_interval_now" ] && STREAM_DOMAINS_PREFETCH=1 && stream_domains_prefetch_interval="$stream_domains_prefetch_interval_now"
|
||||
if [ "$STREAM_DOMAINS_PREFETCH" -ne 0 ]; then
|
||||
if [ "$(expr "$STREAM_DOMAINS_PREFETCH" % "$stream_domains_prefetch_interval_now")" -eq 0 ] || [ "$STREAM_DOMAINS_PREFETCH" -eq 1 ]; then
|
||||
LOG_OUT "Tip: Start Prefetch Netflix Domains..."
|
||||
cat "$NETFLIX_DOMAINS_LIST" |while read -r line
|
||||
do
|
||||
@@ -172,9 +173,15 @@ fi
|
||||
[ -n "$line" ] && nslookup $line
|
||||
done >/dev/null 2>&1
|
||||
LOG_OUT "Tip: Netflix Domains Prefetch Finished!"
|
||||
LOG_OUT "Tip: Start Prefetch Disney Plus Domains..."
|
||||
cat "$DISNEY_DOMAINS_LIST" |while read -r line
|
||||
do
|
||||
[ -n "$line" ] && nslookup $line
|
||||
done >/dev/null 2>&1
|
||||
LOG_OUT "Tip: Disney Plus Domains Prefetch Finished!"
|
||||
fi
|
||||
fi
|
||||
NETFLIX_DOMAINS_PREFETCH=$(expr "$NETFLIX_DOMAINS_PREFETCH" + 1)
|
||||
STREAM_DOMAINS_PREFETCH=$(expr "$STREAM_DOMAINS_PREFETCH" + 1)
|
||||
fi
|
||||
|
||||
SLOG_CLEAN
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
vod-akc-eu-south-1.media.dssott.com
|
||||
vod-vzc-eu-south-1.media.dssott.com
|
||||
vod-l3c-na-central-1.media.dssott.com
|
||||
vod-akc-na-central-1.media.dssott.com
|
||||
vod-ftc-na-central-1.media.dssott.com
|
||||
vod-vzc-na-central-1.media.dssott.com
|
||||
vod-l3c-na-east-1.media.dssott.com
|
||||
vod-bgc-na-east-1.media.dssott.com
|
||||
vod-akc-na-east-1.media.dssott.com
|
||||
vod-ftc-na-east-1.media.dssott.com
|
||||
vod-vzc-na-east-1.media.dssott.com
|
||||
vod-bgc-oc-east-1.media.dssott.com
|
||||
vod-l3c-na-west-1.media.dssott.com
|
||||
vod-akc-na-west-1.media.dssott.com
|
||||
vod-ftc-na-west-1.media.dssott.com
|
||||
vod-vzc-na-west-1.media.dssott.com
|
||||
vod-l3c-eu-south-2.media.dssott.com
|
||||
vod-ftc-eu-south-2.media.dssott.com
|
||||
vod-l3c-na-east-2.media.dssott.com
|
||||
vod-akc-na-east-2.media.dssott.com
|
||||
vod-ftc-na-east-2.media.dssott.com
|
||||
vod-vzc-na-east-2.media.dssott.com
|
||||
vod-l3c-oc-east-2.media.dssott.com
|
||||
vod-akc-oc-east-2.media.dssott.com
|
||||
vod-ftc-oc-east-2.media.dssott.com
|
||||
vod-vzc-oc-east-2.media.dssott.com
|
||||
vod-l3c-na-west-2.media.dssott.com
|
||||
vod-akc-na-west-2.media.dssott.com
|
||||
vod-llc-na-west-2.media.dssott.com
|
||||
vod-cmc-na-west-2.media.dssott.com
|
||||
vod-ftc-na-west-2.media.dssott.com
|
||||
vod-vzc-na-west-2.media.dssott.com
|
||||
@@ -604,15 +604,17 @@ do
|
||||
system '${uci_set}obfs_vmess=websocket'
|
||||
#ws-path:
|
||||
if Value['proxies'][$count].key?('ws-path') then
|
||||
path = '${uci_set}path=\"' + Value['proxies'][$count]['ws-path'].to_s + '\"'
|
||||
path = '${uci_set}ws_opts_path=\"' + Value['proxies'][$count]['ws-path'].to_s + '\"'
|
||||
system(path)
|
||||
end
|
||||
#Host:
|
||||
if Value['proxies'][$count].key?('ws-headers') then
|
||||
if Value['proxies'][$count]['ws-headers'].key?('Host') then
|
||||
custom = '${uci_set}custom=\"' + Value['proxies'][$count]['ws-headers']['Host'].to_s + '\"'
|
||||
system '${uci_del}ws_opts_headers >/dev/null 2>&1'
|
||||
Value['proxies'][$count]['ws-headers'].keys.each{
|
||||
|v|
|
||||
custom = '${uci_add}ws_opts_headers=\"' + v.to_s + ': '+ Value['proxies'][$count]['ws-headers'][v].to_s + '\"'
|
||||
system(custom)
|
||||
end
|
||||
}
|
||||
end
|
||||
#ws-opts-path:
|
||||
if Value['proxies'][$count].key?('ws-opts') then
|
||||
|
||||
Reference in New Issue
Block a user