mirror of
https://github.com/kenzok8/small-package.git
synced 2026-02-07 23:27:13 +08:00
update 2023-04-15 16:19:43
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-openclash
|
||||
PKG_VERSION:=0.45.103
|
||||
PKG_VERSION:=0.45.109
|
||||
PKG_RELEASE:=beta
|
||||
PKG_MAINTAINER:=vernesong <https://github.com/vernesong/OpenClash>
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@ local function corecv()
|
||||
if not nixio.fs.access(dev_core_path) then
|
||||
return "0"
|
||||
else
|
||||
return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $2}'",dev_core_path))
|
||||
return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $2}'", dev_core_path))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -241,7 +241,7 @@ local function coretuncv()
|
||||
if not nixio.fs.access(tun_core_path) then
|
||||
return "0"
|
||||
else
|
||||
return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $2}'",tun_core_path))
|
||||
return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $2}'", tun_core_path))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -249,7 +249,7 @@ local function coremetacv()
|
||||
if not nixio.fs.access(meta_core_path) then
|
||||
return "0"
|
||||
else
|
||||
return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $3}'",meta_core_path))
|
||||
return luci.sys.exec(string.format("%s -v 2>/dev/null |awk -F ' ' '{print $3}' |head -1", meta_core_path))
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ for n,m in ipairs(fs.glob("/etc/openclash/game_rules/*"))do
|
||||
h=fs.stat(m)
|
||||
if h then
|
||||
g[n]={}
|
||||
g[n].num=string.format(n)
|
||||
g[n].name=fs.basename(m)
|
||||
g[n].mtime=os.date("%Y-%m-%d %H:%M:%S",h.mtime)
|
||||
g[n].size=fs.filesize(h.size)
|
||||
@@ -26,6 +27,7 @@ rule_form=SimpleForm("game_rules_file_list",translate("Game Rules File List"))
|
||||
rule_form.reset=false
|
||||
rule_form.submit=false
|
||||
tb2=rule_form:section(Table,g)
|
||||
nu2=tb2:option(DummyValue,"num",translate("Serial Number"))
|
||||
nm2=tb2:option(DummyValue,"name",translate("File Name"))
|
||||
mt2=tb2:option(DummyValue,"mtime",translate("Update Time"))
|
||||
sz2=tb2:option(DummyValue,"size",translate("Size"))
|
||||
|
||||
@@ -76,7 +76,7 @@ form=SimpleForm("filelist")
|
||||
form.reset=false
|
||||
form.submit=false
|
||||
tb=form:section(Table,e)
|
||||
nu=tb:option(DummyValue,"num",translate("Order Number"))
|
||||
nu=tb:option(DummyValue,"num",translate("Serial Number"))
|
||||
st=tb:option(DummyValue,"exist",translate("State"))
|
||||
st.template="openclash/cfg_check"
|
||||
nm=tb:option(DummyValue,"name",translate("Rule Name"))
|
||||
|
||||
@@ -96,7 +96,7 @@ o.default = "150"
|
||||
o.rmempty = true
|
||||
o:depends("type", "url-test")
|
||||
|
||||
o = s:option(Value, "policy_filter", translate("Provider Filter").." "..translate("(Only Meta Core)"))
|
||||
o = s:option(Value, "policy_filter", translate("Provider Filter"))
|
||||
o.rmempty = true
|
||||
o.placeholder = "bgp|sg"
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ for x,y in ipairs(fs.glob("/etc/openclash/proxy_provider/*"))do
|
||||
r=fs.stat(y)
|
||||
if r then
|
||||
p[x]={}
|
||||
p[x].num=string.format(x)
|
||||
p[x].name=fs.basename(y)
|
||||
p[x].mtime=os.date("%Y-%m-%d %H:%M:%S",r.mtime)
|
||||
p[x].size=fs.filesize(r.size)
|
||||
@@ -26,6 +27,7 @@ proxy_form=SimpleForm("proxy_provider_file_list",translate("Proxy Provider File
|
||||
proxy_form.reset=false
|
||||
proxy_form.submit=false
|
||||
tb1=proxy_form:section(Table,p)
|
||||
nu1=tb1:option(DummyValue,"num",translate("Serial Number"))
|
||||
nm1=tb1:option(DummyValue,"name",translate("File Name"))
|
||||
mt1=tb1:option(DummyValue,"mtime",translate("Update Time"))
|
||||
sz1=tb1:option(DummyValue,"size",translate("Size"))
|
||||
|
||||
@@ -14,6 +14,7 @@ for n,m in ipairs(fs.glob("/etc/openclash/rule_provider/*"))do
|
||||
h=fs.stat(m)
|
||||
if h then
|
||||
g[n]={}
|
||||
g[n].num=string.format(n)
|
||||
g[n].name=fs.basename(m)
|
||||
g[n].mtime=os.date("%Y-%m-%d %H:%M:%S",h.mtime)
|
||||
g[n].size=fs.filesize(h.size)
|
||||
@@ -26,6 +27,7 @@ rule_form=SimpleForm("rule_provider_file_list",translate("Rule Providers File Li
|
||||
rule_form.reset=false
|
||||
rule_form.submit=false
|
||||
tb2=rule_form:section(Table,g)
|
||||
nu2=tb2:option(DummyValue,"num",translate("Serial Number"))
|
||||
nm2=tb2:option(DummyValue,"name",translate("File Name"))
|
||||
mt2=tb2:option(DummyValue,"mtime",translate("Update Time"))
|
||||
sz2=tb2:option(DummyValue,"size",translate("Size"))
|
||||
|
||||
@@ -81,7 +81,7 @@ form=SimpleForm("filelist")
|
||||
form.reset=false
|
||||
form.submit=false
|
||||
tb=form:section(Table,e)
|
||||
nu=tb:option(DummyValue,"num",translate("Order Number"))
|
||||
nu=tb:option(DummyValue,"num",translate("Serial Number"))
|
||||
st=tb:option(DummyValue,"exist",translate("State"))
|
||||
st.template="openclash/cfg_check"
|
||||
tp=tb:option(DummyValue,"rule_type",translate("Rule Type"))
|
||||
|
||||
@@ -335,7 +335,6 @@ o:depends("type", "ssr")
|
||||
|
||||
-- AlterId
|
||||
o = s:option(Value, "alterId", translate("AlterId"))
|
||||
o.datatype = "port"
|
||||
o.default = "32"
|
||||
o.rmempty = true
|
||||
o:depends("type", "vmess")
|
||||
@@ -384,6 +383,7 @@ o:value("tls")
|
||||
o:value("http")
|
||||
o:value("websocket", translate("websocket (ws)"))
|
||||
o:value("shadow-tls", translate("shadow-tls")..translate("(Only Meta Core)"))
|
||||
o:value("restls", translate("restls")..translate("(Only Meta Core)"))
|
||||
o:depends("type", "ss")
|
||||
|
||||
o = s:option(ListValue, "obfs_snell", translate("obfs-mode"))
|
||||
@@ -428,12 +428,25 @@ o:depends("obfs", "tls")
|
||||
o:depends("obfs", "http")
|
||||
o:depends("obfs", "websocket")
|
||||
o:depends("obfs", "shadow-tls")
|
||||
o:depends("obfs", "restls")
|
||||
o:depends("obfs_snell", "tls")
|
||||
o:depends("obfs_snell", "http")
|
||||
|
||||
o = s:option(Value, "obfs_password", translate("obfs-password"))
|
||||
o.rmempty = true
|
||||
o:depends("obfs", "shadow-tls")
|
||||
o:depends("obfs", "restls")
|
||||
|
||||
o = s:option(ListValue, "obfs_version_hint", translate("version-hint"))
|
||||
o.rmempty = true
|
||||
o:value("tls13")
|
||||
o:value("tls12")
|
||||
o:depends("obfs", "restls")
|
||||
|
||||
o = s:option(Value, "obfs_restls_script", translate("restls-script"))
|
||||
o.rmempty = true
|
||||
o:depends("obfs", "restls")
|
||||
o.placeholder = translate("1000?100<1,500~100,350~100,600~100,400~200")
|
||||
|
||||
-- vmess路径
|
||||
o = s:option(Value, "path", translate("path"))
|
||||
@@ -580,7 +593,6 @@ o:depends("type", "hysteria")
|
||||
|
||||
-- [[ headers ]]--
|
||||
o = s:option(DynamicList, "http_headers", translate("headers"))
|
||||
o.description = translate("Only Meta Core")
|
||||
o.rmempty = true
|
||||
o.placeholder = translate("User-Agent: okhttp/3.11.0 Dalvik/2.1.0 ...... ")
|
||||
o:depends("type", "http")
|
||||
@@ -736,6 +748,7 @@ o = s:option(Value, "fingerprint", translate("Fingerprint")..translate("(Only Me
|
||||
o.rmempty = true
|
||||
o:depends("type", "hysteria")
|
||||
o:depends("type", "socks5")
|
||||
o:depends("type", "http")
|
||||
o:depends("type", "trojan")
|
||||
o:depends("type", "vless")
|
||||
o:depends({type = "ss", obfs = "websocket"})
|
||||
@@ -748,12 +761,14 @@ o:depends({type = "vmess", obfs_vmess = "grpc"})
|
||||
o = s:option(ListValue, "client_fingerprint", translate("Client Fingerprint")..translate("(Only Meta Core)"))
|
||||
o.rmempty = true
|
||||
o:value("none")
|
||||
o:value("random")
|
||||
o:value("chrome")
|
||||
o:value("firefox")
|
||||
o:value("safari")
|
||||
o.default = "random"
|
||||
o:value("ios")
|
||||
o.default = "none"
|
||||
o:depends("type", "vless")
|
||||
o:depends({type = "ss", obfs = "restls"})
|
||||
o:depends({type = "ss", obfs = "shadow-tls"})
|
||||
o:depends({type = "trojan", obfs_vmess = "grpc"})
|
||||
o:depends({type = "vmess", obfs_vmess = "websocket"})
|
||||
o:depends({type = "vmess", obfs_vmess = "http"})
|
||||
|
||||
@@ -48,7 +48,7 @@ s:tab("debug", translate("Debug Logs"))
|
||||
s:tab("dlercloud", translate("Dler Cloud"))
|
||||
|
||||
o = s:taboption("op_mode", Flag, "enable_meta_core", font_red..bold_on..translate("Enable Meta Core")..bold_off..font_off)
|
||||
o.description = font_red..bold_on..translate("Some Premium Core Features are Unavailable, For Other More Useful Functions Go Wiki:")..bold_off..font_off.." ".."<a href='javascript:void(0)' onclick='javascript:return winOpen(\"https://clashmeta.gitbook.io/meta/\")'>https://clashmeta.gitbook.io/meta/</a>"
|
||||
o.description = font_red..bold_on..translate("Some Premium Core Features are Unavailable, For Other More Useful Functions Go Wiki:")..bold_off..font_off.." ".."<a href='javascript:void(0)' onclick='javascript:return winOpen(\"https://clash-meta.wiki/\")'>https://clash-meta.wiki/</a>"
|
||||
o.default = 0
|
||||
|
||||
o = s:taboption("op_mode", ListValue, "en_mode", font_red..bold_on..translate("Select Mode")..bold_off..font_off)
|
||||
@@ -219,7 +219,7 @@ o.datatype = "ipmask"
|
||||
o.description = translate("In The Fake-IP Mode, Only Pure IP Requests Are Supported")
|
||||
|
||||
o = s:taboption("lan_ac", DynamicList, "lan_ac_black_ports", translate("Lan Bypassed Port List"))
|
||||
o.datatype = "port"
|
||||
o.datatype = "or(port, portrange)"
|
||||
o.placeholder = translate("5000 or 1234-2345")
|
||||
o:value("5000", translate("5000(NAS)"))
|
||||
o.description = "1."..translate("The Traffic From The Local Specified Port Will Not Pass The Core, Try To Set When The Bypass Gateway Forwarding Fails").."<br>".."2."..translate("In The Fake-IP Mode, Only Pure IP Requests Are Supported")
|
||||
@@ -1082,6 +1082,27 @@ o = s:taboption("ipv6", Flag, "ipv6_enable", translate("Proxy IPv6 Traffic"))
|
||||
o.description = font_red..bold_on..translate("The Gateway and DNS of The Connected Device Must be The Router IP, Disable IPv6 DHCP To Avoid Abnormal Connection If You Do Not Use")..bold_off..font_off
|
||||
o.default = 0
|
||||
|
||||
o = s:taboption("ipv6", ListValue, "ipv6_mode", translate("IPv6 Proxy Mode"))
|
||||
o:value("0", translate("TProxy Mode"))
|
||||
o:value("1", translate("Redirect Mode"))
|
||||
o:value("2", translate("TUN Mode")..translate("(Only Meta Core)"))
|
||||
o.default = "0"
|
||||
o:depends("ipv6_enable", "1")
|
||||
|
||||
o = s:taboption("ipv6", ListValue, "stack_type_v6", translate("Select Stack Type"))
|
||||
o.description = translate("Select Stack Type For TUN Mode, According To The Running Speed on Your Machine")
|
||||
o:depends({ipv6_mode= "2", en_mode = "redir-host"})
|
||||
o:depends({ipv6_mode= "2", en_mode = "fake-ip"})
|
||||
o:value("system", translate("System "))
|
||||
o:value("gvisor", translate("Gvisor"))
|
||||
o.default = "system"
|
||||
|
||||
o = s:taboption("ipv6", Flag, "enable_v6_udp_proxy", translate("Proxy UDP Traffics"))
|
||||
o.description = translate("The Servers Must Support UDP forwarding").."<br>"..font_red..bold_on..translate("If Docker is Installed, UDP May Not Forward Normally")..bold_off..font_off
|
||||
o:depends("ipv6_mode", "0")
|
||||
o:depends("ipv6_mode", "1")
|
||||
o.default = 1
|
||||
|
||||
o = s:taboption("ipv6", Flag, "ipv6_dns", translate("IPv6 DNS Resolve"))
|
||||
o.description = translate("Enable to Resolve IPv6 DNS Requests")
|
||||
o.default = 0
|
||||
|
||||
@@ -108,12 +108,13 @@
|
||||
.card .general h1 {
|
||||
font-size: 30px;
|
||||
text-align: center;
|
||||
margin-left: -12%;
|
||||
padding-top: 5px;
|
||||
margin: 0 0 0 -12%;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.card .general .dler-info {
|
||||
top: 20%;
|
||||
top: 22%;
|
||||
width: 90%;
|
||||
height: 70%;
|
||||
display: flex;
|
||||
@@ -124,6 +125,7 @@
|
||||
.card .general .dler-info p {
|
||||
padding: 8px !important;
|
||||
text-align: center;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.card .general .dler-info div {
|
||||
@@ -190,10 +192,11 @@
|
||||
|
||||
.card .general .more {
|
||||
float: right;
|
||||
bottom: 0;
|
||||
top: 88%;
|
||||
right: 0;
|
||||
font-size: 15px;
|
||||
line-height: 20px;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -90,15 +90,15 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
padding: 0 1px;
|
||||
border-right: 1px solid #dddddd;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#tab-header-<%=self.config%>-<%=self.sectiontype%> ul li a{
|
||||
float: unset !important;
|
||||
padding: unset !important;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#tab-header-<%=self.config%>-<%=self.sectiontype%> ul li.cbi-tab > a{
|
||||
@@ -174,6 +174,9 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
<%- end -%>
|
||||
<%- end -%>
|
||||
<%- for i, k in pairs(self.children) do if not k.optional then -%>
|
||||
<%- if i == 1 then -%>
|
||||
<th class="cbi-section-table-cell"><%:Serial Number%></th>
|
||||
<%- end -%>
|
||||
<th class="cbi-section-table-cell"<%=width(k)%>>
|
||||
<%- if k.titleref then -%><a title="<%=self.titledesc or translate('Go to relevant configuration page')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
|
||||
<%-=k.title-%>
|
||||
@@ -202,6 +205,7 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
<%- end -%>
|
||||
</tr>
|
||||
<%- local isempty = true
|
||||
local num = 1
|
||||
for i, k in ipairs(self:cfgsections()) do
|
||||
section = k
|
||||
while true do
|
||||
@@ -219,6 +223,10 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
<% if not self.anonymous then -%>
|
||||
<th><h3><%=(type(self.sectiontitle) == "function") and self:sectiontitle(section) or k%></h3></th>
|
||||
<%- end %>
|
||||
<td class="cbi-section-table-cell">
|
||||
<p><%=num%></p>
|
||||
<% num = num + 1 -%>
|
||||
</td>
|
||||
<%-
|
||||
for k, node in ipairs(self.children) do
|
||||
if not node.optional then
|
||||
|
||||
@@ -57,15 +57,15 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
padding: 0 1px;
|
||||
border-right: 1px solid #dddddd;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#tab-header-<%=self.config%>-<%=self.sectiontype%> ul li a{
|
||||
float: unset !important;
|
||||
padding: unset !important;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#tab-header-<%=self.config%>-<%=self.sectiontype%> ul li.cbi-tab > a{
|
||||
@@ -123,6 +123,9 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
<%- end -%>
|
||||
<%- end -%>
|
||||
<%- for i, k in pairs(self.children) do if not k.optional then -%>
|
||||
<%- if i == 1 then -%>
|
||||
<th class="cbi-section-table-cell"><%:Serial Number%></th>
|
||||
<%- end -%>
|
||||
<th class="cbi-section-table-cell"<%=width(k)%>>
|
||||
<%- if k.titleref then -%><a title="<%=self.titledesc or translate('Go to relevant configuration page')%>" class="cbi-title-ref" href="<%=k.titleref%>"><%- end -%>
|
||||
<%-=k.title-%>
|
||||
@@ -151,6 +154,7 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
<%- end -%>
|
||||
</tr>
|
||||
<%- local isempty = true
|
||||
local num = 1
|
||||
for i, k in ipairs(self:cfgsections()) do
|
||||
section = k
|
||||
while true do
|
||||
@@ -164,6 +168,10 @@ local sectiontype = "_"..self.config.."_"..string.match(self.sectiontype, "[%w_]
|
||||
<% if not self.anonymous then -%>
|
||||
<th><h3><%=(type(self.sectiontitle) == "function") and self:sectiontitle(section) or k%></h3></th>
|
||||
<%- end %>
|
||||
<td class="cbi-section-table-cell">
|
||||
<p><%=num%></p>
|
||||
<% num = num + 1 -%>
|
||||
</td>
|
||||
<%-
|
||||
for k, node in ipairs(self.children) do
|
||||
if not node.optional then
|
||||
|
||||
@@ -984,7 +984,7 @@ msgstr "已下载"
|
||||
msgid "Not Exist"
|
||||
msgstr "未下载"
|
||||
|
||||
msgid "Order Number"
|
||||
msgid "Serial Number"
|
||||
msgstr "序号"
|
||||
|
||||
msgid "Game Rules Manage"
|
||||
@@ -1638,7 +1638,7 @@ msgstr "版本内核没有更新,停止继续操作!"
|
||||
msgid "Start Downloading Third Party Rules in Use..."
|
||||
msgstr "开始下载使用中的第三方规则..."
|
||||
|
||||
msgid "Warrning: Multiple Other-Rules-Configurations Enabled, Ignore..."
|
||||
msgid "Warning: Multiple Other-Rules-Configurations Enabled, Ignore..."
|
||||
msgstr "警告:检测到启用了多个第三方规则配置,忽略后续配置..."
|
||||
|
||||
msgid "Download Successful, Start Preprocessing Rule File..."
|
||||
@@ -3349,4 +3349,31 @@ msgid "Delete Specify Subscribe infos sources url successfully!"
|
||||
msgstr "已删除指定的订阅信息来源地址!"
|
||||
|
||||
msgid "Specify subscribe infos sources url failed:"
|
||||
msgstr "指定新的订阅信息来源地址失败:"
|
||||
msgstr "指定新的订阅信息来源地址失败:"
|
||||
|
||||
msgid "IPv6 Proxy Mode"
|
||||
msgstr "IPv6 代理模式"
|
||||
|
||||
msgid "TProxy Mode"
|
||||
msgstr "TProxy 模式"
|
||||
|
||||
msgid "Redirect Mode"
|
||||
msgstr "Redirect 模式"
|
||||
|
||||
msgid "TUN Mode"
|
||||
msgstr "TUN 模式"
|
||||
|
||||
msgid "TUN Mode"
|
||||
msgstr "TUN 模式"
|
||||
|
||||
msgid "Tip: IPv6 Proxy Mode is Redirect..."
|
||||
msgstr "提示:IPv6 代理模式为 Redirect..."
|
||||
|
||||
msgid "Tip: IPv6 Proxy Mode is TUN..."
|
||||
msgstr "提示:IPv6 代理模式为 TUN..."
|
||||
|
||||
msgid "Tip: IPv6 Proxy Mode is TProxy..."
|
||||
msgstr "提示:IPv6 代理模式为 TProxy..."
|
||||
|
||||
msgid "Warning: Only Meta Core Support IPv6 Tun Mode, Use TProxy Instead..."
|
||||
msgstr "警告:只有 Meta 内核支持 IPv6 Tun 模式,使用 TProxy 模式代替..."
|
||||
File diff suppressed because it is too large
Load Diff
@@ -112,6 +112,7 @@ swdist.apple.com
|
||||
#Google
|
||||
lens.l.google.com
|
||||
stun.l.google.com
|
||||
na.b.g-tun.com
|
||||
#Netflix
|
||||
+.nflxvideo.net
|
||||
#FinalFantasy XIV Worldwide Server & CN Server
|
||||
|
||||
@@ -185,5 +185,14 @@ fi
|
||||
uci -q set openclash.config.enable=0
|
||||
uci -q commit openclash
|
||||
|
||||
#set uhttpd && HTTP_MAX_CONTENT for large file edit
|
||||
uci -q set uhttpd.main.max_requests=50
|
||||
uci -q set uhttpd.main.max_connections=100
|
||||
uci -q set uhttpd.main.script_timeout=3600
|
||||
uci -q commit uhttpd
|
||||
sed -i '/.*kB maximum content size*/c\HTTP_MAX_CONTENT = 1024*1024' /usr/lib/lua/luci/http.lua >/dev/null 2>&1
|
||||
|
||||
/etc/init.d/uhttpd restart >/dev/null 2>&1
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
||||
|
||||
@@ -11,7 +11,7 @@ del_lock() {
|
||||
}
|
||||
|
||||
TIME=$(date "+%Y-%m-%d-%H")
|
||||
CHTIME=$(date "+%Y-%m-%d-%H" -r "/tmp/clash_last_version")
|
||||
CHTIME=$(date "+%Y-%m-%d-%H" -r "/tmp/clash_last_version" 2>/dev/null)
|
||||
LAST_OPVER="/tmp/clash_last_version"
|
||||
RELEASE_BRANCH=$(uci -q get openclash.config.release_branch || echo "master")
|
||||
github_address_mod=$(uci -q get openclash.config.github_address_mod || echo 0)
|
||||
|
||||
@@ -42,7 +42,7 @@ case $CORE_TYPE in
|
||||
fi
|
||||
;;
|
||||
"Meta")
|
||||
CORE_CV=$($meta_core_path -v 2>/dev/null |awk -F ' ' '{print $3}')
|
||||
CORE_CV=$($meta_core_path -v 2>/dev/null |awk -F ' ' '{print $3}' |head -1)
|
||||
CORE_LV=$(sed -n 3p /tmp/clash_last_version 2>/dev/null)
|
||||
;;
|
||||
*)
|
||||
|
||||
@@ -31,18 +31,18 @@ enable_rule_proxy=$(uci -q get openclash.config.enable_rule_proxy)
|
||||
en_mode=$(uci -q get openclash.config.en_mode)
|
||||
RAW_CONFIG_FILE=$(uci -q get openclash.config.config_path)
|
||||
CONFIG_FILE="/etc/openclash/$(uci -q get openclash.config.config_path |awk -F '/' '{print $5}' 2>/dev/null)"
|
||||
core_type=$(uci -q get openclash.config.core_version)
|
||||
core_model=$(uci -q get openclash.config.core_version)
|
||||
cpu_model=$(opkg status libc 2>/dev/null |grep 'Architecture' |awk -F ': ' '{print $2}' 2>/dev/null)
|
||||
core_version=$(/etc/openclash/core/clash -v 2>/dev/null |awk -F ' ' '{print $2}' 2>/dev/null)
|
||||
core_tun_version=$(/etc/openclash/core/clash_tun -v 2>/dev/null |awk -F ' ' '{print $2}' 2>/dev/null)
|
||||
core_meta_version=$(/etc/openclash/core/clash_meta -v 2>/dev/null |awk -F ' ' '{print $3}' 2>/dev/null)
|
||||
core_meta_version=$(/etc/openclash/core/clash_meta -v 2>/dev/null |awk -F ' ' '{print $3}' |head -1 2>/dev/null)
|
||||
servers_update=$(uci -q get openclash.config.servers_update)
|
||||
mix_proxies=$(uci -q get openclash.config.mix_proxies)
|
||||
op_version=$(opkg status luci-app-openclash 2>/dev/null |grep 'Version' |awk -F 'Version: ' '{print "v"$2}')
|
||||
china_ip_route=$(uci -q get openclash.config.china_ip_route)
|
||||
common_ports=$(uci -q get openclash.config.common_ports)
|
||||
router_self_proxy=$(uci -q get openclash.config.router_self_proxy)
|
||||
core_type=$(uci -q get openclash.config.core_type)
|
||||
core_type=$(uci -q get openclash.config.core_type || echo "Dev")
|
||||
da_password=$(uci -q get openclash.config.dashboard_password)
|
||||
cn_port=$(uci -q get openclash.config.cn_port)
|
||||
lan_ip=$(uci -q get network.lan.ipaddr |awk -F '/' '{print $1}' 2>/dev/null || ip address show $(uci -q -p /tmp/state get network.lan.ifname || uci -q -p /tmp/state get network.lan.device) | grep -w "inet" 2>/dev/null |grep -Eo 'inet [0-9\.]+' | awk '{print $2}' || ip addr show 2>/dev/null | grep -w 'inet' | grep 'global' | grep 'brd' | grep -Eo 'inet [0-9\.]+' | awk '{print $2}' | head -n 1)
|
||||
@@ -149,8 +149,6 @@ kmod-ipt-nat: $(ts_re "$(opkg status kmod-ipt-nat 2>/dev/null |grep 'Status' |aw
|
||||
EOF
|
||||
fi
|
||||
|
||||
EOF
|
||||
|
||||
#core
|
||||
cat >> "$DEBUG_LOG" <<-EOF
|
||||
|
||||
@@ -160,7 +158,7 @@ EOF
|
||||
if pidof clash >/dev/null; then
|
||||
cat >> "$DEBUG_LOG" <<-EOF
|
||||
运行状态: 运行中
|
||||
内核:$core_type
|
||||
运行内核:$core_type
|
||||
进程pid: $(pidof clash)
|
||||
运行权限: `getpcaps $(pidof clash)`
|
||||
运行用户: $(ps |grep "/etc/openclash/clash" |grep -v grep |awk '{print $2}' 2>/dev/null)
|
||||
@@ -170,11 +168,11 @@ cat >> "$DEBUG_LOG" <<-EOF
|
||||
运行状态: 未运行
|
||||
EOF
|
||||
fi
|
||||
if [ "$core_type" = "0" ]; then
|
||||
core_type="未选择架构"
|
||||
if [ "$core_model" = "0" ]; then
|
||||
core_model="未选择架构"
|
||||
fi
|
||||
cat >> "$DEBUG_LOG" <<-EOF
|
||||
已选择的架构: $core_type
|
||||
已选择的架构: $core_model
|
||||
|
||||
#下方无法显示内核版本号时请确认您的内核版本是否正确或者有无权限
|
||||
EOF
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
TIME=$(date "+%Y-%m-%d-%H")
|
||||
CHTIME=$(date "+%Y-%m-%d-%H" -r "/tmp/openclash_last_version")
|
||||
CHTIME=$(date "+%Y-%m-%d-%H" -r "/tmp/openclash_last_version" 2>/dev/null)
|
||||
LAST_OPVER="/tmp/openclash_last_version"
|
||||
RELEASE_BRANCH=$(uci -q get openclash.config.release_branch || echo "master")
|
||||
OP_CV=$(rm -f /var/lock/opkg.lock && opkg status luci-app-openclash 2>/dev/null |grep 'Version' |awk -F '-' '{print $1}' |awk -F 'Version: ' '{print $2}' |awk -F '.' '{print $2$3}' 2>/dev/null)
|
||||
|
||||
@@ -24,6 +24,7 @@ DISNEY_DOMAINS_LIST="/usr/share/openclash/res/Disney_Plus_Domains.list"
|
||||
china_ip_route=$(uci -q get openclash.config.china_ip_route)
|
||||
en_mode=$(uci -q get openclash.config.en_mode)
|
||||
fakeip_range=$(uci -q get openclash.config.fakeip_range || echo "198.18.0.1/16")
|
||||
ipv6_mode=$(uci -q get openclash.config.ipv6_mode || echo 0)
|
||||
CRASH_NUM=0
|
||||
CFG_UPDATE_INT=1
|
||||
STREAM_DOMAINS_PREFETCH=1
|
||||
@@ -137,6 +138,12 @@ if [ "$enable" -eq 1 ]; then
|
||||
if [ "$core_type" == "TUN" ] || [ "$core_type" == "Meta" ]; then
|
||||
ip route replace default dev utun table "$PROXY_ROUTE_TABLE" 2>/dev/null
|
||||
ip rule add fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" 2>/dev/null
|
||||
if [ "$ipv6_mode" -eq 2 ] && [ "$ipv6_enable" -eq 1 ]; then
|
||||
ip -6 rule del oif utun table 2022 >/dev/null 2>&1
|
||||
ip -6 route del default dev utun table 2022 >/dev/null 2>&1
|
||||
ip -6 route replace default dev utun table "$PROXY_ROUTE_TABLE" >/dev/null 2>&1
|
||||
ip -6 rule add fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
sleep 60
|
||||
continue
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -8,9 +8,9 @@
|
||||
<meta name="description" content="Clash web port" />
|
||||
<!--meta name="external-controller" content="http://secret@example.com:9090"-->
|
||||
<title>Clash</title>
|
||||
<script type="module" crossorigin src="./assets/index-6ac9f125.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="./assets/vendor-076c6210.js">
|
||||
<link rel="stylesheet" href="./assets/index-7e15a32d.css">
|
||||
<script type="module" crossorigin src="./assets/index-5e90ca00.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="./assets/vendor-827b5617.js">
|
||||
<link rel="stylesheet" href="./assets/index-6d88662b.css">
|
||||
<link rel="manifest" href="./manifest.webmanifest"><script id="vite-plugin-pwa:inline-sw">if('serviceWorker' in navigator) {window.addEventListener('load', () => {navigator.serviceWorker.register('./sw.js', { scope: './' })})}</script></head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
|
||||
@@ -1 +1 @@
|
||||
if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()})).then((()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(i,t)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let o={};const l=e=>n(e,r),d={module:{uri:r},exports:o,require:l};s[r]=Promise.all(i.map((e=>d[e]||l(e)))).then((e=>(t(...e),o)))}}define(["./workbox-e0782b83"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"assets/index-6ac9f125.js",revision:null},{url:"assets/index-7e15a32d.css",revision:null},{url:"assets/vendor-076c6210.js",revision:null},{url:"index.html",revision:"5ec6a3429b8a0efec76ec9e1f172bdf7"},{url:"manifest.webmanifest",revision:"d3dd1da0aa7614180924343e65244285"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));
|
||||
if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()})).then((()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(i,t)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let o={};const l=e=>n(e,r),u={module:{uri:r},exports:o,require:l};s[r]=Promise.all(i.map((e=>u[e]||l(e)))).then((e=>(t(...e),o)))}}define(["./workbox-e0782b83"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"assets/index-5e90ca00.js",revision:null},{url:"assets/index-6d88662b.css",revision:null},{url:"assets/vendor-827b5617.js",revision:null},{url:"index.html",revision:"8a88884cb5c5c813a9c93f716b87206a"},{url:"manifest.webmanifest",revision:"d3dd1da0aa7614180924343e65244285"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
._root_165du_1,._section_165du_2{display:grid;grid-template-columns:repeat(auto-fill,minmax(345px,1fr));max-width:900px;gap:5px}@media screen and (min-width: 30em){._root_165du_1,._section_165du_2{gap:15px}}._root_165du_1,._section_165du_2{padding:6px 15px 10px}@media screen and (min-width: 30em){._root_165du_1,._section_165du_2{padding:10px 40px 15px}}._wrapSwitch_165du_26{height:40px;display:flex;align-items:center}._sep_165du_32{max-width:900px;padding:0 15px}@media screen and (min-width: 30em){._sep_165du_32{padding:0 40px}}._sep_165du_32>div{border-top:1px dashed #373737}._label_165du_45{padding:11px 0}._fieldset_1ghjp_1{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap}._input_1ghjp_9+._cnt_1ghjp_9{border:1px solid transparent;border-radius:8px;cursor:pointer;margin-right:5px;margin-bottom:5px}._input_1ghjp_9:focus+._cnt_1ghjp_9{border-color:#387cec}._input_1ghjp_9:checked+._cnt_1ghjp_9{border-color:#387cec}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
._root_v2s4h_1,._section_v2s4h_2{display:grid;grid-template-columns:repeat(auto-fill,minmax(345px,1fr));max-width:900px;gap:5px}@media screen and (min-width: 30em){._root_v2s4h_1,._section_v2s4h_2{gap:15px}}._root_v2s4h_1,._section_v2s4h_2{padding:6px 15px 10px}@media screen and (min-width: 30em){._root_v2s4h_1,._section_v2s4h_2{padding:10px 40px 15px}}._wrapSwitch_v2s4h_26{height:40px;display:flex;align-items:center}._sep_v2s4h_32{max-width:900px;padding:0 15px}@media screen and (min-width: 30em){._sep_v2s4h_32{padding:0 40px}}._sep_v2s4h_32>div{border-top:1px dashed #373737}._label_v2s4h_45{padding:11px 0}._fieldset_1ghjp_1{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap}._input_1ghjp_9+._cnt_1ghjp_9{border:1px solid transparent;border-radius:8px;cursor:pointer;margin-right:5px;margin-bottom:5px}._input_1ghjp_9:focus+._cnt_1ghjp_9{border-color:#387cec}._input_1ghjp_9:checked+._cnt_1ghjp_9{border-color:#387cec}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{j as e,b,i as y,r as l}from"./index-3e6aad90.js";const E="_spining_4i8sg_1",F="_spining_keyframes_4i8sg_1",M={spining:E,spining_keyframes:F},{useState:j}=y;function B({children:s}){return e("span",{className:M.spining,children:s})}const H={right:10,bottom:10},L=({children:s,...n})=>e("button",{type:"button",...n,className:"rtf--ab",children:s}),v=({children:s,...n})=>e("button",{type:"button",className:"rtf--mb",...n,children:s}),O={bottom:24,right:24},R=({event:s="hover",style:n=O,alwaysShowTitle:o=!1,children:f,icon:g,mainButtonStyles:h,onClick:p,text:d,..._})=>{const[a,r]=j(!1),c=o||!a,u=()=>r(!0),m=()=>r(!1),k=()=>s==="hover"&&u(),x=()=>s==="hover"&&m(),N=t=>p?p(t):(t.persist(),s==="click"?a?m():u():null),$=(t,i)=>{t.persist(),r(!1),setTimeout(()=>{i(t)},1)},C=()=>l.Children.map(f,(t,i)=>l.isValidElement(t)?b("li",{className:`rtf--ab__c ${"top"in n?"top":""}`,children:[l.cloneElement(t,{"data-testid":`action-button-${i}`,"aria-label":t.props.text||`Menu button ${i+1}`,"aria-hidden":c,tabIndex:a?0:-1,...t.props,onClick:I=>{t.props.onClick&&$(I,t.props.onClick)}}),t.props.text&&e("span",{className:`${"right"in n?"right":""} ${o?"always-show":""}`,"aria-hidden":c,children:t.props.text})]}):null);return e("ul",{onMouseEnter:k,onMouseLeave:x,className:`rtf ${a?"open":"closed"}`,"data-testid":"fab",style:n,..._,children:b("li",{className:"rtf--mb__c",children:[e(v,{onClick:N,style:h,"data-testid":"main-button",role:"button","aria-label":"Floating menu",tabIndex:0,children:g}),d&&e("span",{className:`${"right"in n?"right":""} ${o?"always-show":""}`,"aria-hidden":c,children:d}),e("ul",{children:C()})]})})};export{L as A,R as F,B as I,H as p};
|
||||
@@ -1 +0,0 @@
|
||||
import{j as e,b,i as y,r as l}from"./index.171f553a.js";const F="_spining_4i8sg_1",M="_spining_keyframes_4i8sg_1",j={spining:F,spining_keyframes:M},{useState:v}=y;function B({children:s}){return e("span",{className:j.spining,children:s})}const H={right:10,bottom:10},L=({children:s,...n})=>e("button",{type:"button",...n,className:"rtf--ab",children:s}),E=({children:s,...n})=>e("button",{type:"button",className:"rtf--mb",...n,children:s}),O={bottom:24,right:24},R=({event:s="hover",style:n=O,alwaysShowTitle:o=!1,children:f,icon:g,mainButtonStyles:h,onClick:p,text:d,..._})=>{const[a,r]=v(!1),c=o||!a,u=()=>r(!0),m=()=>r(!1),x=()=>s==="hover"&&u(),k=()=>s==="hover"&&m(),N=t=>p?p(t):(t.persist(),s==="click"?a?m():u():null),$=(t,i)=>{t.persist(),r(!1),setTimeout(()=>{i(t)},1)},C=()=>l.exports.Children.map(f,(t,i)=>l.exports.isValidElement(t)?b("li",{className:`rtf--ab__c ${"top"in n?"top":""}`,children:[l.exports.cloneElement(t,{"data-testid":`action-button-${i}`,"aria-label":t.props.text||`Menu button ${i+1}`,"aria-hidden":c,tabIndex:a?0:-1,...t.props,onClick:I=>{t.props.onClick&&$(I,t.props.onClick)}}),t.props.text&&e("span",{className:`${"right"in n?"right":""} ${o?"always-show":""}`,"aria-hidden":c,children:t.props.text})]}):null);return e("ul",{onMouseEnter:x,onMouseLeave:k,className:`rtf ${a?"open":"closed"}`,"data-testid":"fab",style:n,..._,children:b("li",{className:"rtf--mb__c",children:[e(E,{onClick:N,style:h,"data-testid":"main-button",role:"button","aria-label":"Floating menu",tabIndex:0,children:g}),d&&e("span",{className:`${"right"in n?"right":""} ${o?"always-show":""}`,"aria-hidden":c,children:d}),e("ul",{children:C()})]})})};export{L as A,R as F,B as I,H as p};
|
||||
@@ -0,0 +1 @@
|
||||
import{r as m,R as f,k as d,j as n,b as g,e as b,J as P,K as R,y as L,L as N,u as w,C as z,S as C,N as W,O,h as j,P as k,i as I,c as E}from"./index-3e6aad90.js";import{a as $,F}from"./index.esm-37f2c08f.js";import{r as M,s as A,f as B}from"./logs-08774dd8.js";import{d as D}from"./debounce-c1ba2006.js";import{u as H}from"./useRemainingViewPortHeight-175c2a6c.js";import{F as K,p as q}from"./Fab-169bb281.js";import{P as J,a as V}from"./play-30aef65c.js";function v(){return v=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},v.apply(this,arguments)}function Y(e,r){if(e==null)return{};var t=G(e,r),o,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)o=s[a],!(r.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(t[o]=e[o])}return t}function G(e,r){if(e==null)return{};var t={},o=Object.keys(e),a,s;for(s=0;s<o.length;s++)a=o[s],!(r.indexOf(a)>=0)&&(t[a]=e[a]);return t}var x=m.forwardRef(function(e,r){var t=e.color,o=t===void 0?"currentColor":t,a=e.size,s=a===void 0?24:a,l=Y(e,["color","size"]);return f.createElement("svg",v({ref:r,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:o,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),f.createElement("circle",{cx:"11",cy:"11",r:"8"}),f.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}))});x.propTypes={color:d.string,size:d.oneOfType([d.string,d.number])};x.displayName="Search";const Q=x,U="_RuleSearch_1oz2t_1",X="_RuleSearchContainer_1oz2t_5",Z="_inputWrapper_1oz2t_10",ee="_input_1oz2t_10",te="_iconWrapper_1oz2t_35",p={RuleSearch:U,RuleSearchContainer:X,inputWrapper:Z,input:ee,iconWrapper:te};function oe({dispatch:e,searchText:r,updateSearchText:t}){const[o,a]=m.useState(r),s=m.useCallback(i=>{e(t(i))},[e,t]),l=m.useMemo(()=>D(s,300),[s]),h=i=>{a(i.target.value),l(i.target.value)};return n("div",{className:p.RuleSearch,children:g("div",{className:p.RuleSearchContainer,children:[n("div",{className:p.inputWrapper,children:n("input",{type:"text",value:o,onChange:h,className:p.input})}),n("div",{className:p.iconWrapper,children:n(Q,{size:20})})]})})}const re=e=>({searchText:P(e),updateSearchText:R}),ae=b(re)(oe),ne="_logMeta_7a1x3_1",se="_logType_7a1x3_8",ce="_logTime_7a1x3_18",ie="_logText_7a1x3_24",le="_logsWrapper_7a1x3_37",pe="_logPlaceholder_7a1x3_51",ge="_logPlaceholderIcon_7a1x3_64",he="_search_7a1x3_68",c={logMeta:ne,logType:se,logTime:ce,logText:ie,logsWrapper:le,logPlaceholder:pe,logPlaceholderIcon:ge,search:he},{useCallback:S,memo:ue,useEffect:de}=I,_=30,me={debug:"#28792c",info:"var(--bg-log-info-tag)",warning:"#b99105",error:"#c11c1c"};function fe({time:e,even:r,payload:t,type:o}){const a=E({even:r},"log");return n("div",{className:a,children:g("div",{className:c.logMeta,children:[n("div",{className:c.logTime,children:e}),n("div",{className:c.logType,style:{backgroundColor:me[o]},children:o}),n("div",{className:c.logText,children:t})]})})}function _e(e,r){return r[e].id}const ve=ue(({index:e,style:r,data:t})=>{const o=t[e];return n("div",{style:r,children:n(fe,{...o})})},$);function xe({dispatch:e,logLevel:r,apiConfig:t,logs:o,logStreamingPaused:a}){const s=L(),l=S(()=>{a?M({...t,logLevel:r}):A(),s.app.updateAppConfig("logStreamingPaused",!a)},[t,r,a,s.app]),h=S(T=>e(N(T)),[e]);de(()=>{B({...t,logLevel:r},h)},[t,r,h]);const[i,y]=H(),{t:u}=w();return g("div",{children:[n(z,{title:u("Logs")}),n("div",{className:c.search,children:n(ae,{})}),n("div",{ref:i,style:{paddingBottom:_},children:o.length===0?g("div",{className:c.logPlaceholder,style:{height:y-_},children:[n("div",{className:c.logPlaceholderIcon,children:n(C,{width:200,height:200})}),n("div",{children:u("no_logs")})]}):g("div",{className:c.logsWrapper,children:[n(F,{height:y-_,width:"100%",itemCount:o.length,itemSize:80,itemData:o,itemKey:_e,children:ve}),n(K,{icon:a?n(J,{size:16}):n(V,{size:16}),mainButtonStyles:a?{background:"#e74c3c"}:{},style:q,text:u(a?"Resume Refresh":"Pause Refresh"),onClick:l})]})})]})}const ye=e=>({logs:W(e),logLevel:O(e),apiConfig:j(e),logStreamingPaused:k(e)}),we=b(ye)(xe);export{we as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{r as m,b as l,j as t,k as u,e as y,J as T,K as b,y as P,L,u as R,C as N,S as z,N as C,O as W,h as w,P as k,i as j,c as I}from"./index.171f553a.js";import{a as O,F}from"./index.esm.e4dd1508.js";import{r as M,s as $,f as A}from"./logs.43986220.js";import{d as B}from"./debounce.c2d20996.js";import{u as D}from"./useRemainingViewPortHeight.7395542b.js";import{F as E,p as H}from"./Fab.ef67ff10.js";import{P as K,a as q}from"./play.7b1a5f99.js";function J(e,n){if(e==null)return{};var r=V(e,n),a,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)a=s[o],!(n.indexOf(a)>=0)&&(!Object.prototype.propertyIsEnumerable.call(e,a)||(r[a]=e[a]))}return r}function V(e,n){if(e==null)return{};var r={},a=Object.keys(e),o,s;for(s=0;s<a.length;s++)o=a[s],!(n.indexOf(o)>=0)&&(r[o]=e[o]);return r}var f=m.exports.forwardRef(function(e,n){var r=e.color,a=r===void 0?"currentColor":r,o=e.size,s=o===void 0?24:o,p=J(e,["color","size"]);return l("svg",{ref:n,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:a,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...p,children:[t("circle",{cx:"11",cy:"11",r:"8"}),t("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]})});f.propTypes={color:u.exports.string,size:u.exports.oneOfType([u.exports.string,u.exports.number])};f.displayName="Search";const Y=f,G="_RuleSearch_1oz2t_1",Q="_RuleSearchContainer_1oz2t_5",U="_inputWrapper_1oz2t_10",X="_input_1oz2t_10",Z="_iconWrapper_1oz2t_35",h={RuleSearch:G,RuleSearchContainer:Q,inputWrapper:U,input:X,iconWrapper:Z};function ee({dispatch:e,searchText:n,updateSearchText:r}){const[a,o]=m.exports.useState(n),s=m.exports.useCallback(i=>{e(r(i))},[e,r]),p=m.exports.useMemo(()=>B(s,300),[s]),g=i=>{o(i.target.value),p(i.target.value)};return t("div",{className:h.RuleSearch,children:l("div",{className:h.RuleSearchContainer,children:[t("div",{className:h.inputWrapper,children:t("input",{type:"text",value:a,onChange:g,className:h.input})}),t("div",{className:h.iconWrapper,children:t(Y,{size:20})})]})})}const te=e=>({searchText:T(e),updateSearchText:b}),oe=y(te)(ee),re="_logMeta_7a1x3_1",ae="_logType_7a1x3_8",ne="_logTime_7a1x3_18",se="_logText_7a1x3_24",ce="_logsWrapper_7a1x3_37",ie="_logPlaceholder_7a1x3_51",le="_logPlaceholderIcon_7a1x3_64",pe="_search_7a1x3_68",c={logMeta:re,logType:ae,logTime:ne,logText:se,logsWrapper:ce,logPlaceholder:ie,logPlaceholderIcon:le,search:pe},{useCallback:v,memo:he,useEffect:ge}=j,_=30,de={debug:"#28792c",info:"var(--bg-log-info-tag)",warning:"#b99105",error:"#c11c1c"};function ue({time:e,even:n,payload:r,type:a}){const o=I({even:n},"log");return t("div",{className:o,children:l("div",{className:c.logMeta,children:[t("div",{className:c.logTime,children:e}),t("div",{className:c.logType,style:{backgroundColor:de[a]},children:a}),t("div",{className:c.logText,children:r})]})})}function me(e,n){return n[e].id}const _e=he(({index:e,style:n,data:r})=>{const a=r[e];return t("div",{style:n,children:t(ue,{...a})})},O);function fe({dispatch:e,logLevel:n,apiConfig:r,logs:a,logStreamingPaused:o}){const s=P(),p=v(()=>{o?M({...r,logLevel:n}):$(),s.app.updateAppConfig("logStreamingPaused",!o)},[r,n,o,s.app]),g=v(S=>e(L(S)),[e]);ge(()=>{A({...r,logLevel:n},g)},[r,n,g]);const[i,x]=D(),{t:d}=R();return l("div",{children:[t(N,{title:d("Logs")}),t("div",{className:c.search,children:t(oe,{})}),t("div",{ref:i,style:{paddingBottom:_},children:a.length===0?l("div",{className:c.logPlaceholder,style:{height:x-_},children:[t("div",{className:c.logPlaceholderIcon,children:t(z,{width:200,height:200})}),t("div",{children:d("no_logs")})]}):l("div",{className:c.logsWrapper,children:[t(F,{height:x-_,width:"100%",itemCount:a.length,itemSize:80,itemData:a,itemKey:me,children:_e}),t(E,{icon:o?t(K,{size:16}):t(q,{size:16}),mainButtonStyles:o?{background:"#e74c3c"}:{},style:H,text:d(o?"Resume Refresh":"Pause Refresh"),onClick:p})]})})]})}const xe=e=>({logs:C(e),logLevel:W(e),apiConfig:w(e),logStreamingPaused:k(e)}),Re=y(xe)(fe);export{Re as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
._FlexCenter_1380a_1{display:flex;justify-content:center;align-items:center}._header_1y9js_1{display:flex;align-items:center}._header_1y9js_1:focus{outline:none}._header_1y9js_1 ._arrow_1y9js_8{display:inline-flex;-webkit-transform:rotate(0deg);transform:rotate(0);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}._header_1y9js_1 ._arrow_1y9js_8._isOpen_1y9js_13{-webkit-transform:rotate(180deg);transform:rotate(180deg)}._header_1y9js_1 ._arrow_1y9js_8:focus{outline:var(--color-focus-blue) solid 1px}._btn_1y9js_20{margin-left:5px}._qty_1y9js_25{font-family:var(--font-normal);font-size:.75em;margin-left:3px;padding:2px 7px;display:inline-flex;justify-content:center;align-items:center;background-color:var(--bg-near-transparent);border-radius:30px}._header_5pmv2_1{margin-bottom:12px}._groupHead_5pmv2_5{display:flex;flex-wrap:wrap;align-items:center}._action_5pmv2_11{margin:0 5px}._proxy_8ev0l_1{margin:3px;padding:5px;position:relative;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;outline:none;border:1px solid transparent;max-width:200px;background-color:var(--color-bg-proxy)}._proxy_8ev0l_1:focus{border:1px solid var(--color-focus-blue)}@media screen and (min-width: 30em){._proxy_8ev0l_1{min-width:200px;border-radius:10px;padding:10px}}._proxy_8ev0l_1._now_8ev0l_25{background-color:var(--color-focus-blue);color:#ddd}._proxy_8ev0l_1._error_8ev0l_29{opacity:.5}._proxy_8ev0l_1._selectable_8ev0l_32{transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;cursor:pointer}._proxy_8ev0l_1._selectable_8ev0l_32:hover{border-color:hsl(0deg,0%,var(--card-hover-border-lightness))}._proxyType_8ev0l_40{font-family:var(--font-mono);font-size:.6em;margin-right:3px}@media screen and (min-width: 30em){._proxyType_8ev0l_40{font-size:.85em}}._row_8ev0l_51{display:flex;align-items:center;justify-content:space-between}._proxyName_8ev0l_57{width:100%;margin-bottom:5px;font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._proxySmall_8ev0l_66{--size: 13px;width:var(--size);height:var(--size);border-radius:50%;position:relative}._proxySmall_8ev0l_66._now_8ev0l_25{--size: 15px}._proxySmall_8ev0l_66._now_8ev0l_25:before{--size-dot: 7px;content:"";position:absolute;width:var(--size-dot);height:var(--size-dot);background-color:#fff;border:1px solid var(--color-proxy-dot-selected-ind-bo);border-radius:4px;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}._proxySmall_8ev0l_66._selectable_8ev0l_32{transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;cursor:pointer}._proxySmall_8ev0l_66._selectable_8ev0l_32:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}._proxyLatency_hz69v_1{border-radius:20px;color:#eee;font-size:.6em}@media screen and (min-width: 30em){._proxyLatency_hz69v_1{font-size:.85em}}._list_1oy7w_1{display:flex;flex-wrap:wrap;margin:8px 0 8px -3px}._listSummaryView_1oy7w_8{margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,13px);grid-gap:10px;place-items:center;max-width:900px}._updatedAt_1rx92_1{margin-bottom:12px}._updatedAt_1rx92_1 small{color:#777}._main_1rx92_8{padding:10px 15px}@media screen and (min-width: 30em){._main_1rx92_8{padding:10px 40px}}._head_1rx92_17{display:flex;align-items:center;flex-wrap:wrap}._action_1rx92_23{margin:0 5px;display:grid;grid-template-columns:auto auto;gap:10px;place-items:center}._refresh_1rx92_31{display:flex;justify-content:center;align-items:center;cursor:pointer}._labeledInput_cmki0_1{max-width:85vw;width:400px;display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:13px 0}hr{height:1px;background-color:var(--color-separator);border:none;outline:none;margin:1rem 0px}._overlay_uuk3b_1{background-color:#0009}._cnt_uuk3b_5{position:absolute;background-color:var(--bg-modal);color:var(--color-text);line-height:1.4;opacity:.6;transition:all .3s ease;-webkit-transform:translate(-50%,-50%) scale(1.2);transform:translate(-50%,-50%) scale(1.2);box-shadow:#0000001f 0 4px 4px,#0000003d 0 16px 32px}._afterOpen_uuk3b_16{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}._topBar_jgy4z_1{position:-webkit-sticky;position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:1;background-color:var(--color-background2);-webkit-backdrop-filter:blur(36px);backdrop-filter:blur(36px)}._topBarRight_jgy4z_13{display:flex;align-items:center;flex-wrap:wrap;flex:1;justify-content:flex-end;margin-right:20px}._textFilterContainer_jgy4z_22{max-width:350px;min-width:150px;flex:1;margin-right:8px}._group_jgy4z_29{padding:10px 15px}@media screen and (min-width: 30em){._group_jgy4z_29{padding:10px 40px}}
|
||||
._FlexCenter_1380a_1{display:flex;justify-content:center;align-items:center}._header_1y9js_1{display:flex;align-items:center}._header_1y9js_1:focus{outline:none}._header_1y9js_1 ._arrow_1y9js_8{display:inline-flex;-webkit-transform:rotate(0deg);transform:rotate(0);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}._header_1y9js_1 ._arrow_1y9js_8._isOpen_1y9js_13{-webkit-transform:rotate(180deg);transform:rotate(180deg)}._header_1y9js_1 ._arrow_1y9js_8:focus{outline:var(--color-focus-blue) solid 1px}._btn_1y9js_20{margin-left:5px}._qty_1y9js_25{font-family:var(--font-normal);font-size:.75em;margin-left:3px;padding:2px 7px;display:inline-flex;justify-content:center;align-items:center;background-color:var(--bg-near-transparent);border-radius:30px}._header_5pmv2_1{margin-bottom:12px}._groupHead_5pmv2_5{display:flex;flex-wrap:wrap;align-items:center}._action_5pmv2_11{margin:0 5px}._proxy_ryc3j_1{margin:3px;padding:5px;position:relative;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;outline:none;border:1px solid transparent;max-width:200px;background-color:var(--color-bg-proxy)}._proxy_ryc3j_1:focus{border:1px solid var(--color-focus-blue)}@media screen and (min-width: 30em){._proxy_ryc3j_1{min-width:200px;border-radius:10px;padding:10px}}._proxy_ryc3j_1._now_ryc3j_25{background-color:var(--color-focus-blue);color:#ddd}._proxy_ryc3j_1._error_ryc3j_29{opacity:.5}._proxy_ryc3j_1._selectable_ryc3j_32{transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;cursor:pointer}._proxy_ryc3j_1._selectable_ryc3j_32:hover{border-color:hsl(0deg,0%,var(--card-hover-border-lightness))}._proxyType_ryc3j_40{font-family:var(--font-mono);font-size:.6em;margin-right:3px}@media screen and (min-width: 30em){._proxyType_ryc3j_40{font-size:.85em}}._row_ryc3j_51{display:flex;align-items:center;justify-content:space-between}._proxyName_ryc3j_57{width:100%;margin-bottom:5px;font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._proxySmall_ryc3j_66{--size: 13px;width:var(--size);height:var(--size);border-radius:50%;position:relative}._proxySmall_ryc3j_66._now_ryc3j_25{--size: 15px}._proxySmall_ryc3j_66._now_ryc3j_25:before{--size-dot: 7px;content:"";position:absolute;width:var(--size-dot);height:var(--size-dot);background-color:#fff;border:1px solid var(--color-proxy-dot-selected-ind-bo);border-radius:4px;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}._proxySmall_ryc3j_66._selectable_ryc3j_32{transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;cursor:pointer}._proxySmall_ryc3j_66._selectable_ryc3j_32:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}._proxyLatency_pw0sa_1{border-radius:20px;color:#eee;font-size:.6em}@media screen and (min-width: 30em){._proxyLatency_pw0sa_1{font-size:.85em}}._list_1oy7w_1{display:flex;flex-wrap:wrap;margin:8px 0 8px -3px}._listSummaryView_1oy7w_8{margin:14px 0;display:grid;grid-template-columns:repeat(auto-fill,13px);grid-gap:10px;place-items:center;max-width:900px}._updatedAt_919yi_1{margin-bottom:12px}._updatedAt_919yi_1 small{color:#777}._main_919yi_8{padding:10px 15px}@media screen and (min-width: 30em){._main_919yi_8{padding:10px 40px}}._head_919yi_17{display:flex;align-items:center;flex-wrap:wrap}._action_919yi_23{margin:0 5px;display:grid;grid-template-columns:auto auto;gap:10px;place-items:center}._refresh_919yi_31{display:flex;justify-content:center;align-items:center;cursor:pointer}._labeledInput_cmki0_1{max-width:85vw;width:400px;display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:13px 0}hr{height:1px;background-color:var(--color-separator);border:none;outline:none;margin:1rem 0px}._overlay_uuk3b_1{background-color:#0009}._cnt_uuk3b_5{position:absolute;background-color:var(--bg-modal);color:var(--color-text);line-height:1.4;opacity:.6;transition:all .3s ease;-webkit-transform:translate(-50%,-50%) scale(1.2);transform:translate(-50%,-50%) scale(1.2);box-shadow:#0000001f 0 4px 4px,#0000003d 0 16px 32px}._afterOpen_uuk3b_16{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}._topBar_16fpp_1{position:-webkit-sticky;position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:1;background-color:var(--color-background2);-webkit-backdrop-filter:blur(36px);backdrop-filter:blur(36px)}._topBarRight_16fpp_13{display:flex;align-items:center;flex-wrap:wrap;flex:1;justify-content:flex-end;margin-right:20px}._textFilterContainer_16fpp_22{max-width:350px;min-width:150px;flex:1;margin-right:8px}._group_16fpp_29{padding:10px 15px}@media screen and (min-width: 30em){._group_16fpp_29{padding:10px 40px}}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
._RuleProviderItem_12aid_1{display:grid;grid-template-columns:40px 1fr 46px;height:100%}._left_12aid_7{display:inline-flex;align-items:center;color:var(--color-text-secondary);opacity:.4}._middle_12aid_14{display:grid;gap:6px;grid-template-rows:1fr auto auto;align-items:center}._gray_12aid_21{color:#777}._action_12aid_25{display:grid;gap:4px;grid-template-columns:auto 1fr;align-items:center}._refreshBtn_12aid_32{padding:5px}._rule_1ymqx_1{display:flex;align-items:center;padding:6px 15px}@media screen and (min-width: 30em){._rule_1ymqx_1{padding:10px 40px}}._left_1ymqx_12{width:40px;padding-right:15px;color:var(--color-text-secondary);opacity:.4}._a_1ymqx_19{display:flex;align-items:center;font-size:12px;opacity:.8}._b_1ymqx_26{padding:10px 0;font-family:Roboto Mono,Menlo,monospace;font-size:16px}@media screen and (min-width: 30em){._b_1ymqx_26{font-size:19px}}._type_1ymqx_37{width:110px}._header_1j1w3_1{display:grid;grid-template-columns:1fr minmax(auto,330px);align-items:center;padding-right:15px}@media screen and (min-width: 30em){._header_1j1w3_1{padding-right:40px}}._RuleProviderItemWrapper_1j1w3_17{padding:6px 15px}@media screen and (min-width: 30em){._RuleProviderItemWrapper_1j1w3_17{padding:10px 40px}}
|
||||
._RuleProviderItem_12aid_1{display:grid;grid-template-columns:40px 1fr 46px;height:100%}._left_12aid_7{display:inline-flex;align-items:center;color:var(--color-text-secondary);opacity:.4}._middle_12aid_14{display:grid;gap:6px;grid-template-rows:1fr auto auto;align-items:center}._gray_12aid_21{color:#777}._action_12aid_25{display:grid;gap:4px;grid-template-columns:auto 1fr;align-items:center}._refreshBtn_12aid_32{padding:5px}._rule_1kxgd_1{display:flex;align-items:center;padding:6px 15px}@media screen and (min-width: 30em){._rule_1kxgd_1{padding:10px 40px}}._left_1kxgd_12{width:40px;padding-right:15px;color:var(--color-text-secondary);opacity:.4}._a_1kxgd_19{display:flex;align-items:center;font-size:12px;opacity:.8}._b_1kxgd_26{padding:10px 0;font-family:Roboto Mono,Menlo,monospace;font-size:16px}@media screen and (min-width: 30em){._b_1kxgd_26{font-size:19px}}._type_1kxgd_37{width:110px}._header_n1m95_1{display:grid;grid-template-columns:1fr minmax(auto,330px);align-items:center;padding-right:15px}@media screen and (min-width: 30em){._header_n1m95_1{padding-right:40px}}._RuleProviderItemWrapper_n1m95_17{padding:6px 15px}@media screen and (min-width: 30em){._RuleProviderItemWrapper_n1m95_17{padding:10px 40px}}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{j as s}from"./index.171f553a.js";const o="_select_13zm8_1",r={select:o};function i({options:t,selected:c,onChange:l}){return s("select",{className:r.select,value:c,onChange:l,children:t.map(([e,n])=>s("option",{value:e,children:n},e))})}export{i as S};
|
||||
import{j as s}from"./index-3e6aad90.js";const o="_select_13zm8_1",r={select:o};function i({options:t,selected:c,onChange:l}){return s("select",{className:r.select,value:c,onChange:l,children:t.map(([e,n])=>s("option",{value:e,children:n},e))})}export{i as S};
|
||||
@@ -0,0 +1 @@
|
||||
import{r as g,R as c,k as i,c as d,j as l,V as h,i as m}from"./index-3e6aad90.js";import{d as v}from"./debounce-c1ba2006.js";function p(){return p=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},p.apply(this,arguments)}function x(t,n){if(t==null)return{};var e=_(t,n),o,r;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r<a.length;r++)o=a[r],!(n.indexOf(o)>=0)&&Object.prototype.propertyIsEnumerable.call(t,o)&&(e[o]=t[o])}return e}function _(t,n){if(t==null)return{};var e={},o=Object.keys(t),r,a;for(a=0;a<o.length;a++)r=o[a],!(n.indexOf(r)>=0)&&(e[r]=t[r]);return e}var u=g.forwardRef(function(t,n){var e=t.color,o=e===void 0?"currentColor":e,r=t.size,a=r===void 0?24:r,s=x(t,["color","size"]);return c.createElement("svg",p({ref:n,xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 24 24",fill:"none",stroke:o,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),c.createElement("polyline",{points:"23 4 23 10 17 10"}),c.createElement("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"}))});u.propTypes={color:i.string,size:i.oneOfType([i.string,i.number])};u.displayName="RotateCw";const b=u,y="_rotate_1dspl_1",R="_isRotating_1dspl_5",w="_rotating_1dspl_1",f={rotate:y,isRotating:R,rotating:w};function $(t){const n=t.size||16,e=d(f.rotate,{[f.isRotating]:t.isRotating});return l("span",{className:e,children:l(b,{size:n})})}const{useCallback:O,useState:j,useMemo:T}=m;function C(t){const[,n]=h(t),[e,o]=j(""),r=T(()=>v(n,300),[n]);return[O(s=>{o(s.target.value),r(s.target.value)},[r]),e]}const k="_input_16a1f_1",z={input:k};function L(t){const[n,e]=C(t.textAtom);return l("input",{className:z.input,type:"text",value:e,onChange:n,placeholder:t.placeholder})}export{$ as R,L as T,b as a};
|
||||
@@ -1 +0,0 @@
|
||||
import{r as u,b as g,j as i,k as c,c as f,V as x,i as d}from"./index.171f553a.js";import{d as h}from"./debounce.c2d20996.js";function v(t,n){if(t==null)return{};var o=_(t,n),r,e;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(e=0;e<s.length;e++)r=s[e],!(n.indexOf(r)>=0)&&(!Object.prototype.propertyIsEnumerable.call(t,r)||(o[r]=t[r]))}return o}function _(t,n){if(t==null)return{};var o={},r=Object.keys(t),e,s;for(s=0;s<r.length;s++)e=r[s],!(n.indexOf(e)>=0)&&(o[e]=t[e]);return o}var l=u.exports.forwardRef(function(t,n){var o=t.color,r=o===void 0?"currentColor":o,e=t.size,s=e===void 0?24:e,a=v(t,["color","size"]);return g("svg",{ref:n,xmlns:"http://www.w3.org/2000/svg",width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...a,children:[i("polyline",{points:"23 4 23 10 17 10"}),i("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]})});l.propTypes={color:c.exports.string,size:c.exports.oneOfType([c.exports.string,c.exports.number])};l.displayName="RotateCw";const b=l,y="_rotate_1dspl_1",m="_isRotating_1dspl_5",R="_rotating_1dspl_1",p={rotate:y,isRotating:m,rotating:R};function P(t){const n=t.size||16,o=f(p.rotate,{[p.isRotating]:t.isRotating});return i("span",{className:o,children:i(b,{size:n})})}const{useCallback:w,useState:j,useMemo:k}=d;function O(t){const[,n]=x(t),[o,r]=j(""),e=k(()=>h(n,300),[n]);return[w(a=>{r(a.target.value),e(a.target.value)},[e]),o]}const T="_input_16a1f_1",C={input:T};function $(t){const[n,o]=O(t.textAtom);return i("input",{className:C.input,type:"text",value:o,onChange:n,placeholder:t.placeholder})}export{P as R,$ as T,b as a};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{r as c,R as l,k as a}from"./index-3e6aad90.js";function s(){return s=Object.assign||function(r){for(var o=1;o<arguments.length;o++){var t=arguments[o];for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e])}return r},s.apply(this,arguments)}function v(r,o){if(r==null)return{};var t=u(r,o),e,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(n=0;n<i.length;n++)e=i[n],!(o.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(r,e)&&(t[e]=r[e])}return t}function u(r,o){if(r==null)return{};var t={},e=Object.keys(r),n,i;for(i=0;i<e.length;i++)n=e[i],!(o.indexOf(n)>=0)&&(t[n]=r[n]);return t}var p=c.forwardRef(function(r,o){var t=r.color,e=t===void 0?"currentColor":t,n=r.size,i=n===void 0?24:n,f=v(r,["color","size"]);return l.createElement("svg",s({ref:o,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:e,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},f),l.createElement("polyline",{points:"6 9 12 15 18 9"}))});p.propTypes={color:a.string,size:a.oneOfType([a.string,a.number])};p.displayName="ChevronDown";const h=p;export{h as C};
|
||||
@@ -1 +0,0 @@
|
||||
import{r as f,j as l,k as s}from"./index.171f553a.js";function c(r,i){if(r==null)return{};var n=v(r,i),o,e;if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);for(e=0;e<t.length;e++)o=t[e],!(i.indexOf(o)>=0)&&(!Object.prototype.propertyIsEnumerable.call(r,o)||(n[o]=r[o]))}return n}function v(r,i){if(r==null)return{};var n={},o=Object.keys(r),e,t;for(t=0;t<o.length;t++)e=o[t],!(i.indexOf(e)>=0)&&(n[e]=r[e]);return n}var p=f.exports.forwardRef(function(r,i){var n=r.color,o=n===void 0?"currentColor":n,e=r.size,t=e===void 0?24:e,a=c(r,["color","size"]);return l("svg",{ref:i,xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:o,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...a,children:l("polyline",{points:"6 9 12 15 18 9"})})});p.propTypes={color:s.exports.string,size:s.exports.oneOfType([s.exports.string,s.exports.number])};p.displayName="ChevronDown";const u=p;export{u as C};
|
||||
@@ -1 +1 @@
|
||||
const e={Overview:"Overview",Proxies:"Proxies",Rules:"Rules",Conns:"Conns",Config:"Config",Logs:"Logs",Upload:"Upload",Download:"Download","Upload Total":"Upload Total","Download Total":"Download Total","Active Connections":"Active Connections","Pause Refresh":"Pause Refresh","Resume Refresh":"Resume Refresh",Up:"Up",Down:"Down","Test Latency":"Test Latency",settings:"settings",sort_in_grp:"Sorting in group",hide_unavail_proxies:"Hide unavailable proxies",auto_close_conns:"Automatically close old connections",order_natural:"Original order in config file",order_latency_asc:"By latency from small to big",order_latency_desc:"By latency from big to small",order_name_asc:"By name alphabetically (A-Z)",order_name_desc:"By name alphabetically (Z-A)",Connections:"Connections",Active:"Active",Closed:"Closed",switch_theme:"Switch theme",theme:"theme",about:"about",no_logs:"No logs yet, hang tight...",chart_style:"Chart Style",latency_test_url:"Latency Test URL",lang:"Language",update_all_rule_provider:"Update all rule providers",update_all_proxy_provider:"Update all proxy providers"};export{e as data};
|
||||
const e={Overview:"Overview",Proxies:"Proxies",Rules:"Rules",Conns:"Conns",Config:"Config",Logs:"Logs",Upload:"Upload",Download:"Download","Upload Total":"Upload Total","Download Total":"Download Total","Active Connections":"Active Connections","Pause Refresh":"Pause Refresh","Resume Refresh":"Resume Refresh",Up:"Up",Down:"Down","Test Latency":"Test Latency",settings:"settings",sort_in_grp:"Sorting in group",hide_unavail_proxies:"Hide unavailable proxies",auto_close_conns:"Automatically close old connections",order_natural:"Original order in config file",order_latency_asc:"By latency from small to big",order_latency_desc:"By latency from big to small",order_name_asc:"By name alphabetically (A-Z)",order_name_desc:"By name alphabetically (Z-A)",Connections:"Connections",current_backend:"Current Backend",Active:"Active",switch_backend:"Switch backend",Closed:"Closed",switch_theme:"Switch theme",theme:"theme",about:"about",no_logs:"No logs yet, hang tight...",chart_style:"Chart Style",latency_test_url:"Latency Test URL",lang:"Language",update_all_rule_provider:"Update all rule providers",update_all_proxy_provider:"Update all proxy providers"};export{e as data};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
import{E as w,G as D,H as u}from"./index.171f553a.js";const v="/logs",L=new TextDecoder("utf-8"),M=()=>Math.floor((1+Math.random())*65536).toString(16);let h=!1,i=!1,f="",s,g;function m(e,n){let t;try{t=JSON.parse(e)}catch{console.log("JSON.parse error",JSON.parse(e))}const r=new Date,l=$(r);t.time=l,t.id=+r-0+M(),t.even=h=!h,n(t)}function $(e){const n=e.getFullYear()%100,t=u(e.getMonth()+1,2),r=u(e.getDate(),2),l=u(e.getHours(),2),o=u(e.getMinutes(),2),c=u(e.getSeconds(),2);return`${n}-${t}-${r} ${l}:${o}:${c}`}function p(e,n){return e.read().then(({done:t,value:r})=>{const l=L.decode(r,{stream:!t});f+=l;const o=f.split(`
|
||||
import{E as w,G as D,H as u}from"./index-3e6aad90.js";const v="/logs",L=new TextDecoder("utf-8"),M=()=>Math.floor((1+Math.random())*65536).toString(16);let h=!1,i=!1,f="",s,g;function m(e,n){let t;try{t=JSON.parse(e)}catch{console.log("JSON.parse error",JSON.parse(e))}const r=new Date,l=$(r);t.time=l,t.id=+r-0+M(),t.even=h=!h,n(t)}function $(e){const n=e.getFullYear()%100,t=u(e.getMonth()+1,2),r=u(e.getDate(),2),l=u(e.getHours(),2),o=u(e.getMinutes(),2),c=u(e.getSeconds(),2);return`${n}-${t}-${r} ${l}:${o}:${c}`}function p(e,n){return e.read().then(({done:t,value:r})=>{const l=L.decode(r,{stream:!t});f+=l;const o=f.split(`
|
||||
`),c=o[o.length-1];for(let d=0;d<o.length-1;d++)m(o[d],n);if(t){m(c,n),f="",console.log("GET /logs streaming done"),i=!1;return}else f=c;return p(e,n)})}function S(e){const n=Object.keys(e);return n.sort(),n.map(t=>e[t]).join("|")}let b,a;function k(e,n){if(e.logLevel==="uninit"||i||s&&s.readyState===1)return;g=n;const t=w(e,v);s=new WebSocket(t),s.addEventListener("error",()=>{y(e,n)}),s.addEventListener("message",function(r){m(r.data,n)})}function H(){s.close(),a&&a.abort()}function O(e){!g||!s||(s.close(),i=!1,k(e,g))}function y(e,n){if(a&&S(e)!==b)a.abort();else if(i)return;i=!0,b=S(e),a=new AbortController;const t=a.signal,{url:r,init:l}=D(e);fetch(r+v+"?level="+e.logLevel,{...l,signal:t}).then(o=>{const c=o.body.getReader();p(c,n)},o=>{i=!1,!t.aborted&&console.log("GET /logs error:",o.message)})}export{k as f,O as r,H as s};
|
||||
@@ -0,0 +1 @@
|
||||
import{r as g,R as s,k as a}from"./index-3e6aad90.js";function p(){return p=Object.assign||function(t){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},p.apply(this,arguments)}function v(t,o){if(t==null)return{};var r=y(t,o),e,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)e=i[n],!(o.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function y(t,o){if(t==null)return{};var r={},e=Object.keys(t),n,i;for(i=0;i<e.length;i++)n=e[i],!(o.indexOf(n)>=0)&&(r[n]=t[n]);return r}var c=g.forwardRef(function(t,o){var r=t.color,e=r===void 0?"currentColor":r,n=t.size,i=n===void 0?24:n,l=v(t,["color","size"]);return s.createElement("svg",p({ref:o,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:e,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),s.createElement("rect",{x:"6",y:"4",width:"4",height:"16"}),s.createElement("rect",{x:"14",y:"4",width:"4",height:"16"}))});c.propTypes={color:a.string,size:a.oneOfType([a.string,a.number])};c.displayName="Pause";const b=c;function f(){return f=Object.assign||function(t){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},f.apply(this,arguments)}function h(t,o){if(t==null)return{};var r=O(t,o),e,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)e=i[n],!(o.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function O(t,o){if(t==null)return{};var r={},e=Object.keys(t),n,i;for(i=0;i<e.length;i++)n=e[i],!(o.indexOf(n)>=0)&&(r[n]=t[n]);return r}var u=g.forwardRef(function(t,o){var r=t.color,e=r===void 0?"currentColor":r,n=t.size,i=n===void 0?24:n,l=h(t,["color","size"]);return s.createElement("svg",f({ref:o,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:e,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},l),s.createElement("polygon",{points:"5 3 19 12 5 21 5 3"}))});u.propTypes={color:a.string,size:a.oneOfType([a.string,a.number])};u.displayName="Play";const w=u;export{w as P,b as a};
|
||||
@@ -1 +0,0 @@
|
||||
import{r as c,b as u,j as p,k as s}from"./index.171f553a.js";function y(e,n){if(e==null)return{};var i=g(e,n),t,r;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],!(n.indexOf(t)>=0)&&(!Object.prototype.propertyIsEnumerable.call(e,t)||(i[t]=e[t]))}return i}function g(e,n){if(e==null)return{};var i={},t=Object.keys(e),r,o;for(o=0;o<t.length;o++)r=t[o],!(n.indexOf(r)>=0)&&(i[r]=e[r]);return i}var l=c.exports.forwardRef(function(e,n){var i=e.color,t=i===void 0?"currentColor":i,r=e.size,o=r===void 0?24:r,a=y(e,["color","size"]);return u("svg",{ref:n,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...a,children:[p("rect",{x:"6",y:"4",width:"4",height:"16"}),p("rect",{x:"14",y:"4",width:"4",height:"16"})]})});l.propTypes={color:s.exports.string,size:s.exports.oneOfType([s.exports.string,s.exports.number])};l.displayName="Pause";const d=l;function h(e,n){if(e==null)return{};var i=v(e,n),t,r;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],!(n.indexOf(t)>=0)&&(!Object.prototype.propertyIsEnumerable.call(e,t)||(i[t]=e[t]))}return i}function v(e,n){if(e==null)return{};var i={},t=Object.keys(e),r,o;for(o=0;o<t.length;o++)r=t[o],!(n.indexOf(r)>=0)&&(i[r]=e[r]);return i}var f=c.exports.forwardRef(function(e,n){var i=e.color,t=i===void 0?"currentColor":i,r=e.size,o=r===void 0?24:r,a=h(e,["color","size"]);return p("svg",{ref:n,xmlns:"http://www.w3.org/2000/svg",width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...a,children:p("polygon",{points:"5 3 19 12 5 21 5 3"})})});f.propTypes={color:s.exports.string,size:s.exports.oneOfType([s.exports.string,s.exports.number])};f.displayName="Play";const w=f;export{w as P,d as a};
|
||||
@@ -1 +1 @@
|
||||
import{i as r}from"./index.171f553a.js";const{useState:s,useRef:u,useCallback:a,useLayoutEffect:c}=r;function d(){const t=u(null),[n,i]=s(200),e=a(()=>{const{top:o}=t.current.getBoundingClientRect();i(window.innerHeight-o)},[]);return c(()=>(e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}),[e]),[t,n]}export{d as u};
|
||||
import{i as r}from"./index-3e6aad90.js";const{useState:s,useRef:u,useCallback:a,useLayoutEffect:c}=r;function d(){const t=u(null),[n,i]=s(200),e=a(()=>{const{top:o}=t.current.getBoundingClientRect();i(window.innerHeight-o)},[]);return c(()=>(e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}),[e]),[t,n]}export{d as u};
|
||||
@@ -0,0 +1 @@
|
||||
const e={Overview:"概览",Proxies:"代理",Rules:"规则",Conns:"连接",Config:"配置",Logs:"日志",Upload:"上传",Download:"下载","Upload Total":"上传总量","Download Total":"下载总量","Active Connections":"活动连接","Pause Refresh":"暂停刷新","Resume Refresh":"继续刷新",Up:"上传",Down:"下载","Test Latency":"延迟测速",settings:"设置",sort_in_grp:"代理组条目排序",hide_unavail_proxies:"隐藏不可用代理",auto_close_conns:"切换代理时自动断开旧连接",order_natural:"原 config 文件中的排序",order_latency_asc:"按延迟从小到大",order_latency_desc:"按延迟从大到小",order_name_asc:"按名称字母排序 (A-Z)",order_name_desc:"按名称字母排序 (Z-A)",Connections:"连接",current_backend:"当前后端",Active:"活动",switch_backend:"切换后端",Closed:"已断开",switch_theme:"切换主题",theme:"主题",about:"关于",no_logs:"暂无日志...",chart_style:"流量图样式",latency_test_url:"延迟测速 URL",lang:"语言",update_all_rule_provider:"更新所有 rule provider",update_all_proxy_provider:"更新所有 proxy providers"};export{e as data};
|
||||
@@ -1 +0,0 @@
|
||||
const u={Overview:"\u6982\u89C8",Proxies:"\u4EE3\u7406",Rules:"\u89C4\u5219",Conns:"\u8FDE\u63A5",Config:"\u914D\u7F6E",Logs:"\u65E5\u5FD7",Upload:"\u4E0A\u4F20",Download:"\u4E0B\u8F7D","Upload Total":"\u4E0A\u4F20\u603B\u91CF","Download Total":"\u4E0B\u8F7D\u603B\u91CF","Active Connections":"\u6D3B\u52A8\u8FDE\u63A5","Pause Refresh":"\u6682\u505C\u5237\u65B0","Resume Refresh":"\u7EE7\u7EED\u5237\u65B0",Up:"\u4E0A\u4F20",Down:"\u4E0B\u8F7D","Test Latency":"\u5EF6\u8FDF\u6D4B\u901F",settings:"\u8BBE\u7F6E",sort_in_grp:"\u4EE3\u7406\u7EC4\u6761\u76EE\u6392\u5E8F",hide_unavail_proxies:"\u9690\u85CF\u4E0D\u53EF\u7528\u4EE3\u7406",auto_close_conns:"\u5207\u6362\u4EE3\u7406\u65F6\u81EA\u52A8\u65AD\u5F00\u65E7\u8FDE\u63A5",order_natural:"\u539F config \u6587\u4EF6\u4E2D\u7684\u6392\u5E8F",order_latency_asc:"\u6309\u5EF6\u8FDF\u4ECE\u5C0F\u5230\u5927",order_latency_desc:"\u6309\u5EF6\u8FDF\u4ECE\u5927\u5230\u5C0F",order_name_asc:"\u6309\u540D\u79F0\u5B57\u6BCD\u6392\u5E8F (A-Z)",order_name_desc:"\u6309\u540D\u79F0\u5B57\u6BCD\u6392\u5E8F (Z-A)",Connections:"\u8FDE\u63A5",Active:"\u6D3B\u52A8",Closed:"\u5DF2\u65AD\u5F00",switch_theme:"\u5207\u6362\u4E3B\u9898",theme:"\u4E3B\u9898",about:"\u5173\u4E8E",no_logs:"\u6682\u65E0\u65E5\u5FD7...",chart_style:"\u6D41\u91CF\u56FE\u6837\u5F0F",latency_test_url:"\u5EF6\u8FDF\u6D4B\u901F URL",lang:"\u8BED\u8A00",update_all_rule_provider:"\u66F4\u65B0\u6240\u6709 rule provider",update_all_proxy_provider:"\u66F4\u65B0\u6240\u6709 proxy providers"};export{u as data};
|
||||
@@ -14,8 +14,8 @@
|
||||
<meta name="application-name" content="yacd" />
|
||||
<meta name="description" content="Yet Another Clash Dashboard" />
|
||||
<title>yacd</title>
|
||||
<script type="module" crossorigin src="./assets/index.171f553a.js"></script>
|
||||
<link rel="stylesheet" href="./assets/index.b38debfc.css">
|
||||
<script type="module" crossorigin src="./assets/index-3e6aad90.js"></script>
|
||||
<link rel="stylesheet" href="./assets/index-8c12d331.css">
|
||||
<link rel="manifest" href="./manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script></head>
|
||||
<body>
|
||||
<div id="app" data-base-url="http://127.0.0.1:9090"></div>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -32,7 +32,11 @@ else
|
||||
fi
|
||||
|
||||
if [ -z "${12}" ]; then
|
||||
stack_type=system
|
||||
if [ -n "${33}" ]; then
|
||||
stack_type=${33}
|
||||
else
|
||||
stack_type=system
|
||||
fi
|
||||
else
|
||||
stack_type=${12}
|
||||
fi
|
||||
@@ -468,7 +472,7 @@ Thread.new{
|
||||
end;
|
||||
end;
|
||||
Value_2={'tun'=>{'enable'=>true}};
|
||||
if $en_mode_tun != 0 then
|
||||
if $en_mode_tun != 0 or ${32} == 2 then
|
||||
Value['tun']=Value_2['tun'];
|
||||
Value['tun']['stack']='$stack_type';
|
||||
if ${19} == 1 then
|
||||
|
||||
@@ -534,7 +534,7 @@ do
|
||||
skip_cert_verify = '${uci_set}skip_cert_verify=' + Value['proxies'][$count]['plugin-opts']['skip-cert-verify'].to_s
|
||||
system(skip_cert_verify)
|
||||
end
|
||||
end
|
||||
end;
|
||||
if Value['proxies'][$count]['plugin'].to_s == 'shadow-tls' then
|
||||
mode = '${uci_set}obfs=' + Value['proxies'][$count]['plugin'].to_s
|
||||
system(mode)
|
||||
@@ -544,6 +544,25 @@ do
|
||||
system(obfs_password)
|
||||
end
|
||||
end;
|
||||
if Value['proxies'][$count]['plugin'].to_s == 'restls' then
|
||||
mode = '${uci_set}obfs=' + Value['proxies'][$count]['plugin'].to_s
|
||||
system(mode)
|
||||
#password
|
||||
if Value['proxies'][$count]['plugin-opts'].key?('password') then
|
||||
obfs_password = '${uci_set}obfs_password=\"' + Value['proxies'][$count]['plugin-opts']['password'].to_s + '\"'
|
||||
system(obfs_password)
|
||||
end
|
||||
#version-hint
|
||||
if Value['proxies'][$count]['plugin-opts'].key?('version-hint') then
|
||||
obfs_version_hint = '${uci_set}obfs_version_hint=\"' + Value['proxies'][$count]['plugin-opts']['version-hint'].to_s + '\"'
|
||||
system(obfs_version_hint)
|
||||
end
|
||||
#restls-script
|
||||
if Value['proxies'][$count]['plugin-opts'].key?('restls-script') then
|
||||
obfs_restls_script = '${uci_set}obfs_restls_script=\"' + Value['proxies'][$count]['plugin-opts']['restls-script'].to_s + '\"'
|
||||
system(obfs_restls_script)
|
||||
end
|
||||
end;
|
||||
end
|
||||
}.join
|
||||
end;
|
||||
|
||||
@@ -285,6 +285,8 @@ yml_servers_set()
|
||||
config_get "udp_over_tcp" "$section" "udp_over_tcp" ""
|
||||
config_get "reality_public_key" "$section" "reality_public_key" ""
|
||||
config_get "reality_short_id" "$section" "reality_short_id" ""
|
||||
config_get "obfs_version_hint" "$section" "obfs_version_hint" ""
|
||||
config_get "obfs_restls_script" "$section" "obfs_restls_script" ""
|
||||
|
||||
if [ "$enabled" = "0" ]; then
|
||||
return
|
||||
@@ -346,6 +348,8 @@ yml_servers_set()
|
||||
obfss="plugin: v2ray-plugin"
|
||||
elif [ "$obfs" = "shadow-tls" ]; then
|
||||
obfss="plugin: shadow-tls"
|
||||
elif [ "$obfs" = "restls" ]; then
|
||||
obfss="plugin: restls"
|
||||
else
|
||||
obfss="plugin: obfs"
|
||||
fi
|
||||
@@ -418,7 +422,7 @@ cat >> "$SERVER_FILE" <<-EOF
|
||||
$obfss
|
||||
plugin-opts:
|
||||
EOF
|
||||
if [ "$obfs" != "shadow-tls" ]; then
|
||||
if [ "$obfs" != "shadow-tls" ] && [ "$obfs" != "restls" ]; then
|
||||
cat >> "$SERVER_FILE" <<-EOF
|
||||
mode: $obfs
|
||||
EOF
|
||||
@@ -431,12 +435,29 @@ EOF
|
||||
if [ "$obfss" = "plugin: shadow-tls" ]; then
|
||||
if [ ! -z "$obfs_password" ]; then
|
||||
cat >> "$SERVER_FILE" <<-EOF
|
||||
password: $obfs_password
|
||||
password: "$obfs_password"
|
||||
EOF
|
||||
fi
|
||||
if [ ! -z "$fingerprint" ]; then
|
||||
cat >> "$SERVER_FILE" <<-EOF
|
||||
fingerprint: "$fingerprint"
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
if [ "$obfss" = "plugin: restls" ]; then
|
||||
if [ ! -z "$obfs_password" ]; then
|
||||
cat >> "$SERVER_FILE" <<-EOF
|
||||
password: "$obfs_password"
|
||||
EOF
|
||||
fi
|
||||
if [ ! -z "$obfs_version_hint" ]; then
|
||||
cat >> "$SERVER_FILE" <<-EOF
|
||||
version-hint: "$obfs_version_hint"
|
||||
EOF
|
||||
fi
|
||||
if [ ! -z "$obfs_restls_script" ]; then
|
||||
cat >> "$SERVER_FILE" <<-EOF
|
||||
restls-script: "$obfs_restls_script"
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -604,7 +604,7 @@ yml_other_set()
|
||||
if Value_1 != false then
|
||||
if Value_1.class.to_s == 'Hash' then
|
||||
if not Value_1['rules'].to_a.empty? and Value_1['rules'].class.to_s == 'Array' then
|
||||
Value_1.each{|x|
|
||||
Value_1['rules'].each{|x|
|
||||
if ${10} != 1 then
|
||||
if x =~ /(^GEOSITE,|^AND,|^OR,|^NOT,|^IP-SUFFIX,|^SRC-IP-SUFFIX,|^IN-TYPE,|^SUB-RULE,|PORT,[0-9]+\/+|PORT,[0-9]+-+)/ or x.split(',')[-1] == 'tcp' or x.split(',')[-1] == 'udp' then
|
||||
puts '${LOGTIME} Warning: Skip the Custom Rule that Core not Support【' + x + '】'
|
||||
@@ -635,7 +635,7 @@ yml_other_set()
|
||||
if Value['rules'].to_a.empty? then
|
||||
if Value_2.class.to_s == 'Hash' then
|
||||
if not Value_2['rules'].to_a.empty? and Value_2['rules'].class.to_s == 'Array' then
|
||||
Value_2.each{|x|
|
||||
Value_2['rules'].each{|x|
|
||||
if ${10} != 1 then
|
||||
if x =~ /(^GEOSITE,|^AND,|^OR,|^NOT,|^IP-SUFFIX,|^SRC-IP-SUFFIX,|^IN-TYPE,|^SUB-RULE,|PORT,[0-9]+\/+|PORT,[0-9]+-+)/ or x.split(',')[-1] == 'tcp' or x.split(',')[-1] == 'udp' then
|
||||
puts '${LOGTIME} Warning: Skip the Custom Rule that Core not Support【' + x + '】'
|
||||
@@ -787,7 +787,7 @@ yml_other_set()
|
||||
if Value.key?(i) then
|
||||
Value[i].values.each{
|
||||
|x,v|
|
||||
if x['path'] and not x['path'].include? p and not x['path'].include? 'game_rules' then
|
||||
if x['path'] and not x['path'] =~ /.\/#{p}\/*/ and not x['path'] =~ /.\/game_rules\/*/ then
|
||||
v=File.basename(x['path']);
|
||||
x['path']='./'+p+'/'+v;
|
||||
end;
|
||||
@@ -898,7 +898,7 @@ yml_other_rules_get()
|
||||
fi
|
||||
|
||||
if [ -n "$rule_name" ]; then
|
||||
LOG_OUT "Warrning: Multiple Other-Rules-Configurations Enabled, Ignore..."
|
||||
LOG_OUT "Warning: Multiple Other-Rules-Configurations Enabled, Ignore..."
|
||||
return
|
||||
fi
|
||||
|
||||
|
||||
@@ -91,14 +91,24 @@ CodeMirror.defineMode("lua", function(config, parserConfig) {
|
||||
stream.skipToEnd();
|
||||
return "tip";
|
||||
}
|
||||
if (((ch == "守" && stream.eat("护") && stream.eat("程") && stream.eat("序")) || (ch == "W" && stream.eat("a") && stream.eat("t") && stream.eat("c") && stream.eat("h") && stream.eat("d") && stream.eat("o") && stream.eat("g"))) && (stream.eat(":") || stream.eat(":"))) {
|
||||
if (ch == "守" && stream.eat("护") && stream.eat("程") && stream.eat("序") && (stream.eat(":") || stream.eat(":"))) {
|
||||
stream.skipToEnd();
|
||||
return "watchdog";
|
||||
}
|
||||
if (((ch == "警" && stream.eat("告")) || (ch == "W" && stream.eat("a") && stream.eat("r") && stream.eat("n") && stream.eat("i") && stream.eat("n") && stream.eat("g"))) && (stream.eat(":") || stream.eat(":"))) {
|
||||
if (ch == "警" && stream.eat("告") && (stream.eat(":") || stream.eat(":"))) {
|
||||
stream.skipToEnd();
|
||||
return "warn";
|
||||
}
|
||||
if (ch == "W" && stream.eat("a")) {
|
||||
if (stream.eat("t") && stream.eat("c") && stream.eat("h") && stream.eat("d") && stream.eat("o") && stream.eat("g") && (stream.eat(":") || stream.eat(":"))) {
|
||||
stream.skipToEnd();
|
||||
return "watchdog";
|
||||
}
|
||||
if (stream.eat("r") && stream.eat("n") && stream.eat("i") && stream.eat("n") && stream.eat("g") && (stream.eat(":") || stream.eat(":"))) {
|
||||
stream.skipToEnd();
|
||||
return "warn";
|
||||
}
|
||||
}
|
||||
if (((ch == "错" && stream.eat("误")) || (ch == "E" && stream.eat("r") && stream.eat("r") && stream.eat("o") && stream.eat("r"))) && (stream.eat(":") || stream.eat(":"))) {
|
||||
stream.skipToEnd();
|
||||
return "error";
|
||||
|
||||
Reference in New Issue
Block a user