update-12.01

This commit is contained in:
github-actions[bot]
2021-12-01 09:05:13 +08:00
parent f42ccfe2de
commit d71b2d5fb8
13 changed files with 209 additions and 101 deletions

View File

@@ -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))

View File

@@ -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: ------------------- 规则更新成功! -------------------

View File

@@ -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"

View File

@@ -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

View File

@@ -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")

View File

@@ -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 />

View File

@@ -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"

View File

@@ -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'

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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