🎉 Sync 2023-05-20 20:34

This commit is contained in:
github-actions[bot] 2023-05-20 20:34:12 +08:00
parent d92bf12d5a
commit fc9fcf7126
34 changed files with 216 additions and 514 deletions

View File

@ -1,77 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=aliyundrive-fuse
PKG_VERSION:=0.1.14
PKG_RELEASE:=1
PKG_LICENSE:=MIT
PKG_MAINTAINER:=messense <messense@icloud.com>
PKG_LIBC:=musl
ifeq ($(ARCH),arm)
PKG_LIBC:=musleabi
ARM_CPU_FEATURES:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE))))
ifneq ($(filter $(ARM_CPU_FEATURES),vfp vfpv2),)
PKG_LIBC:=musleabihf
endif
endif
PKG_ARCH=$(ARCH)
ifeq ($(ARCH),i386)
PKG_ARCH:=i686
endif
PKG_SOURCE:=aliyundrive-fuse-v$(PKG_VERSION).$(PKG_ARCH)-unknown-linux-$(PKG_LIBC).tar.gz
PKG_SOURCE_URL:=https://github.com/messense/aliyundrive-fuse/releases/download/v$(PKG_VERSION)/
PKG_HASH:=skip
include $(INCLUDE_DIR)/package.mk
define Package/aliyundrive-fuse
SECTION:=multimedia
CATEGORY:=Multimedia
DEPENDS:=+fuse-utils
TITLE:=FUSE for AliyunDrive
URL:=https://github.com/messense/aliyundrive-fuse
endef
define Package/aliyundrive-fuse/description
FUSE for AliyunDrive.
endef
define Package/aliyundrive-fuse/conffiles
/etc/config/aliyundrive-fuse
endef
define Download/sha256sum
FILE:=$(PKG_SOURCE).sha256
URL_FILE:=$(FILE)
URL:=$(PKG_SOURCE_URL)
HASH:=skip
endef
$(eval $(call Download,sha256sum))
define Build/Prepare
mv $(DL_DIR)/$(PKG_SOURCE).sha256 .
cp $(DL_DIR)/$(PKG_SOURCE) .
shasum -a 256 -c $(PKG_SOURCE).sha256
rm $(PKG_SOURCE).sha256 $(PKG_SOURCE)
tar -C $(PKG_BUILD_DIR)/ -zxf $(DL_DIR)/$(PKG_SOURCE)
endef
define Build/Compile
echo "aliyundrive-fuse using precompiled binary."
endef
define Package/aliyundrive-fuse/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/aliyundrive-fuse $(1)/usr/bin/aliyundrive-fuse
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/aliyundrive-fuse.init $(1)/etc/init.d/aliyundrive-fuse
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/aliyundrive-fuse.config $(1)/etc/config/aliyundrive-fuse
endef
$(eval $(call BuildPackage,aliyundrive-fuse))

View File

@ -1,7 +0,0 @@
config default
option enable '0'
option debug '0'
option refresh_token ''
option mount_point '/mnt/aliyundrive'
option read_buffer_size '10485760'
option allow_other '1'

View File

@ -1,48 +0,0 @@
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=99
STOP=15
NAME=aliyundrive-fuse
uci_get_by_type() {
local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null)
echo ${ret:=$3}
}
start_service() {
local enable=$(uci_get_by_type default enable)
case "$enable" in
1|on|true|yes|enabled)
local refresh_token=$(uci_get_by_type default refresh_token)
local mount_point=$(uci_get_by_type default mount_point)
local read_buf_size=$(uci_get_by_type default read_buffer_size 10485760)
local allow_other=$(uci_get_by_type default allow_other 0)
local extra_options=""
if [ "$allow_other" = "1" ]; then
extra_options="$extra_options --allow-other"
fi
mkdir -p "$mount_point"
procd_open_instance
procd_set_param command /bin/sh -c "/usr/bin/$NAME $extra_options -S $read_buf_size --workdir /var/run/$NAME $mount_point >>/var/log/$NAME.log 2>&1"
procd_set_param pidfile /var/run/$NAME.pid
procd_set_param env REFRESH_TOKEN="$refresh_token"
case $(uci_get_by_type default debug) in
1|on|true|yes|enabled)
procd_append_param env RUST_LOG="aliyundrive_fuse=debug" ;;
*) ;;
esac
procd_close_instance ;;
*)
stop_service ;;
esac
}
service_triggers() {
procd_add_reload_trigger "aliyundrive-fuse"
}

View File

@ -1,17 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-aliyundrive-fuse
PKG_VERSION:=0.1.14
PKG_RELEASE:=1
PKG_PO_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
PKG_LICENSE:=MIT
PKG_MAINTAINER:=messense <messense@icloud.com>
LUCI_TITLE:=LuCI Support for aliyundrive-fuse
LUCI_PKGARCH:=all
LUCI_DEPENDS:=+aliyundrive-fuse
include $(TOPDIR)/feeds/luci/luci.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@ -1,40 +0,0 @@
module("luci.controller.aliyundrive-fuse", package.seeall)
function index()
if not nixio.fs.access("/etc/config/aliyundrive-fuse") then
return
end
local page
page = entry({"admin", "services", "aliyundrive-fuse"}, alias("admin", "services", "aliyundrive-fuse", "client"), _("AliyunDrive FUSE"), 10) -- 首页
page.dependent = true
page.acl_depends = { "luci-app-aliyundrive-fuse" }
entry({"admin", "services", "aliyundrive-fuse", "client"}, cbi("aliyundrive-fuse/client"), _("Settings"), 10).leaf = true -- 客户端配置
entry({"admin", "services", "aliyundrive-fuse", "log"}, form("aliyundrive-fuse/log"), _("Log"), 30).leaf = true -- 日志页面
entry({"admin", "services", "aliyundrive-fuse", "status"}, call("action_status")).leaf = true
entry({"admin", "services", "aliyundrive-fuse", "logtail"}, call("action_logtail")).leaf = true
end
function action_status()
local e = {}
e.running = luci.sys.call("pidof aliyundrive-fuse >/dev/null") == 0
e.application = luci.sys.exec("aliyundrive-fuse --version")
luci.http.prepare_content("application/json")
luci.http.write_json(e)
end
function action_logtail()
local fs = require "nixio.fs"
local log_path = "/var/log/aliyundrive-fuse.log"
local e = {}
e.running = luci.sys.call("pidof aliyundrive-fuse >/dev/null") == 0
if fs.access(log_path) then
e.log = luci.sys.exec("tail -n 100 %s | sed 's/\\x1b\\[[0-9;]*m//g'" % log_path)
else
e.log = ""
end
luci.http.prepare_content("application/json")
luci.http.write_json(e)
end

View File

@ -1,30 +0,0 @@
m = Map("aliyundrive-fuse")
m.title = translate("AliyunDrive FUSE")
m.description = translate("<a href=\"https://github.com/messense/aliyundrive-fuse\" target=\"_blank\">Project GitHub URL</a>")
m:section(SimpleSection).template = "aliyundrive-fuse/aliyundrive-fuse_status"
e = m:section(TypedSection, "default")
e.anonymous = true
enable = e:option(Flag, "enable", translate("Enable"))
enable.rmempty = false
refresh_token = e:option(Value, "refresh_token", translate("Refresh Token"))
refresh_token.description = translate("<a href=\"https://github.com/messense/aliyundrive-webdav#%E8%8E%B7%E5%8F%96-refresh_token\" target=\"_blank\">How to get refresh token</a>")
mount_point = e:option(Value, "mount_point", translate("Mount Point"))
mount_point.default = "/mnt/aliyundrive"
read_buffer_size = e:option(Value, "read_buffer_size", translate("Read Buffer Size"))
read_buffer_size.default = "10485760"
read_buffer_size.datatype = "uinteger"
allow_other = e:option(Flag, "allow_other", translate("Allow Other users Access"))
allow_other.description = translate("Allow other users to access the drive, enable this if you share with samba")
allow_other.rmempty = false
debug = e:option(Flag, "debug", translate("Debug Mode"))
debug.rmempty = false
return m

View File

@ -1,9 +0,0 @@
log = SimpleForm("logview")
log.submit = false
log.reset = false
t = log:field(DummyValue, '', '')
t.rawhtml = true
t.template = 'aliyundrive-fuse/aliyundrive-fuse_log'
return log

View File

@ -1,15 +0,0 @@
<%+cbi/valueheader%>
<textarea id="logview" class="cbi-input-textarea" style="width: 100%" rows="30" readonly="readonly"></textarea>
<script type="text/javascript">
const LOG_URL = '<%=luci.dispatcher.build_url("admin", "services", "aliyundrive-fuse", "logtail")%>';
XHR.poll(1, LOG_URL, null, (x, d) => {
let logview = document.getElementById("logview");
if (!d.running) {
XHR.halt();
}
logview.value = d.log;
logview.scrollTop = logview.scrollHeight;
});
</script>
<%+cbi/valuefooter%>

View File

@ -1,21 +0,0 @@
<script type="text/javascript">//<![CDATA[
XHR.poll(3, '<%=url([[admin]], [[services]], [[aliyundrive-fuse]], [[status]])%>', null,
function(x, data) {
var tb = document.getElementById('aliyundrive-fuse_status');
if (data && tb) {
if (data.running) {
tb.innerHTML = '<em><b style=color:green>' + data.application + '<%:RUNNING%></b></em>';
} else {
tb.innerHTML = '<em><b style=color:red>' + data.application + '<%:NOT RUNNING%></b></em>';
}
}
}
);
//]]>
</script>
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
<fieldset class="cbi-section">
<p id="aliyundrive-fuse_status">
<em><%:Collecting data...%></em>
</p>
</fieldset>

View File

@ -1,50 +0,0 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n"
msgid "AliyunDrive"
msgstr "阿里云盘"
msgid "AliyunDrive FUSE"
msgstr "阿里云盘 FUSE"
msgid "Enable"
msgstr "启用"
msgid "Refresh Token"
msgstr "Refresh Token"
msgid "Mount Point"
msgstr "挂载点"
msgid "Read Buffer Size"
msgstr "下载缓冲大小(bytes)"
msgid "Collecting data..."
msgstr "获取数据中..."
msgid "RUNNING"
msgstr "运行中"
msgid "NOT RUNNING"
msgstr "未运行"
msgid "Settings"
msgstr "设置"
msgid "Log"
msgstr "日志"
msgid "Debug Mode"
msgstr "调试模式"
msgid "<a href=\"https://github.com/messense/aliyundrive-fuse\" target=\"_blank\">Project GitHub URL</a>"
msgstr "<a href=\"https://github.com/messense/aliyundrive-fuse\" target=\"_blank\">GitHub 项目地址</a>"
msgid "<a href=\"https://github.com/messense/aliyundrive-webdav#%E8%8E%B7%E5%8F%96-refresh_token\" target=\"_blank\">How to get refresh token</a>"
msgstr "<a href=\"https://github.com/messense/aliyundrive-webdav#%E8%8E%B7%E5%8F%96-refresh_token\" target=\"_blank\">查看获取 refresh token 的方法</a>"
msgid "Allow Other users Access"
msgstr "允许其他用户访问"
msgid "Allow other users to access the drive, enable this if you share with samba"
msgstr "允许其他用户访问此驱动如果你想用Samba分享请开启此开关"

View File

@ -1 +0,0 @@
zh-cn

View File

@ -1,11 +0,0 @@
#!/bin/sh
uci -q batch <<-EOF >/dev/null
delete ucitrack.@aliyundrive-fuse[-1]
add ucitrack aliyundrive-fuse
set ucitrack.@aliyundrive-fuse[-1].init=aliyundrive-fuse
commit ucitrack
EOF
rm -f /tmp/luci-indexcache
exit 0

View File

@ -1,11 +0,0 @@
{
"luci-app-aliyundrive-fuse": {
"description": "Grant UCI access for luci-app-aliyundrive-fuse",
"read": {
"uci": [ "aliyundrive-fuse" ]
},
"write": {
"uci": [ "aliyundrive-fuse" ]
}
}
}

View File

@ -5,7 +5,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall2
PKG_VERSION:=1.15-4
PKG_VERSION:=1.15-5
PKG_RELEASE:=
PKG_CONFIG_DEPENDS:= \

View File

@ -130,10 +130,10 @@ local function start()
bin = ln_run("/usr/bin/ssserver", "ssserver", "-c " .. config_file, log_path)
elseif type == "V2ray" then
config = require(require_dir .. "util_xray").gen_config_server(user)
bin = ln_run(api.get_v2ray_path(), "v2ray", "run -c " .. config_file, log_path)
bin = ln_run(api.get_app_path("v2ray"), "v2ray", "run -c " .. config_file, log_path)
elseif type == "Xray" then
config = require(require_dir .. "util_xray").gen_config_server(user)
bin = ln_run(api.get_xray_path(), "xray", "run -c " .. config_file, log_path)
bin = ln_run(api.get_app_path("xray"), "xray", "run -c " .. config_file, log_path)
elseif type == "Brook" then
local brook_protocol = user.protocol
local brook_password = user.password
@ -142,10 +142,10 @@ local function start()
if brook_protocol == "wsserver" and brook_path then
brook_path_arg = " --path " .. brook_path
end
bin = ln_run(api.get_brook_path(), "brook_" .. id, string.format("--debug %s -l :%s -p %s%s", brook_protocol, port, brook_password, brook_path_arg), log_path)
bin = ln_run(api.get_app_path("brook"), "brook_" .. id, string.format("--debug %s -l :%s -p %s%s", brook_protocol, port, brook_password, brook_path_arg), log_path)
elseif type == "Hysteria" then
config = require(require_dir .. "util_hysteria").gen_config_server(user)
bin = ln_run(api.get_hysteria_path(), "hysteria", "-c " .. config_file .. " server", log_path)
bin = ln_run(api.get_app_path("hysteria"), "hysteria", "-c " .. config_file .. " server", log_path)
end
if next(config) then

View File

@ -1,6 +1,6 @@
#!/bin/sh
[[ "$ACTION" == "ifup" && $(uci get "passwall2.@global[0].enabled") == "1" ]] && {
[[ "$ACTION" == "ifup" && $(uci get "passwall2.@global[0].enabled") == "1" ]] && [ -f /var/lock/passwall2_ready.lock ] && {
default_device=$(ip route | grep default | awk -F 'dev ' '{print $2}' | awk '{print $1}')
[ "$default_device" == "$DEVICE" ] && {
LOCK_FILE_DIR=/var/lock

View File

@ -39,6 +39,7 @@ boot() {
sleep $delay
fi
restart
touch ${LOCK_FILE_DIR}/${CONFIG}_ready.lock
}
start() {

View File

@ -22,7 +22,7 @@ config global_haproxy
config global_delay
option auto_on '0'
option start_daemon '1'
option start_delay '1'
option start_delay '60'
config global_forwarding
option tcp_no_redir_ports 'disable'

View File

@ -94,8 +94,8 @@ add() {
#始终用国内DNS解析节点域名
servers=$(uci show "${CONFIG}" | grep ".address=" | cut -d "'" -f 2)
hosts_foreach "servers" host_from_url | grep '[a-zA-Z]$' | sort -u | gen_items ipsets="passwall2_vpsiplist,passwall2_vpsiplist6" dnss="${LOCAL_DNS:-${DEFAULT_DNS}}" outf="${TMP_DNSMASQ_PATH}/10-vpsiplist_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf"
echolog " - [$?]节点列表中的域名(vpsiplist)${DEFAULT_DNS:-默认}"
hosts_foreach "servers" host_from_url | grep '[a-zA-Z]$' | sort -u | gen_items ipsets="passwall2_vpslist,passwall2_vpslist6" dnss="${LOCAL_DNS:-${DEFAULT_DNS}}" outf="${TMP_DNSMASQ_PATH}/10-vpslist_host.conf" ipsetoutf="${TMP_DNSMASQ_PATH}/ipset.conf"
echolog " - [$?]节点列表中的域名(vpslist)${DEFAULT_DNS:-默认}"
echo "conf-dir=${TMP_DNSMASQ_PATH}" > $DNSMASQ_CONF_FILE
[ -n "${TUN_DNS}" ] && {

View File

@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=Argon Theme
LUCI_DEPENDS:=+curl +jsonfilter
PKG_VERSION:=1.7.8
PKG_RELEASE:=20230505
PKG_VERSION:=1.8.0
PKG_RELEASE:=20230520
include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -158,10 +158,10 @@ body {
a:link,
a:visited,
a:active {
color: var(--default);
color: var(--primary);
text-decoration: none;
}
a:-webkit-any-link:not(.main-left a):not(li a):not(.brand):not(.login-container footer .ftc a) {
a:-webkit-any-link:not(li a, .main-left a, .brand, .pull-right a, .alert-message a, .login-container footer a) {
color: -webkit-link;
cursor: pointer;
color: var(--primary);
@ -457,6 +457,10 @@ li {
position: absolute;
bottom: 0;
}
.login-page .login-container footer,
.login-page .login-container footer a {
color: var(--default);
}
.login-page .login-container footer .ftc {
position: absolute;
bottom: 30px;
@ -709,6 +713,7 @@ footer a {
color: #fff;
background: #5e72e4;
background: var(--primary);
box-shadow: 0 0 1px #ccc;
}
.main .main-left .nav li.slide .menu:hover a,
.main .main-left .nav li.slide .menu.active a {
@ -800,6 +805,7 @@ footer a {
background-color: #5e72e4;
background-color: var(--primary);
transition: all 0.2s;
box-shadow: 0 0 1px #ccc;
}
.main .main-left .nav li.slide .slide-menu li a:hover::after {
color: #000;
@ -1130,8 +1136,6 @@ input[type="checkbox"] {
vertical-align: middle;
}
input[type="checkbox"]:checked {
border: 1px solid #5e72e4;
border: 1px solid var(--primary);
background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important;
background-color: #5e72e4;
background-color: var(--primary);
@ -1156,8 +1160,6 @@ ul li .cbi-input-checkbox {
margin: 0.25rem 0;
}
.cbi-input-radio:checked {
border: 1px solid #5e72e4;
border: 1px solid var(--primary);
background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e') !important;
background-color: #5e72e4;
background-color: var(--primary);
@ -1267,7 +1269,8 @@ div.cbi-value var,
td.cbi-value-field var,
.td.cbi-value-field var {
font-style: italic;
color: #0069D6;
color: var(--primary);
text-shadow: 1px 1px 2px #ccc;
}
small {
font-size: 90%;
@ -1423,6 +1426,14 @@ input[name="nslookup"] {
background-position: left top;
animation: sparkle 1500ms linear infinite;
}
#swaptotal > div > div > div > small,
#swapfree > div > div > div > small,
#memfree > div > div > div > small,
#membuff > div > div > div > small,
#conns > div > div > div > small,
#memtotal > div > div > div > small {
text-shadow: 1px 1px 2px #ccc;
}
/* fix multiple table */
table table,
.table .table {
@ -1668,10 +1679,6 @@ th h5, td h5,
th h6, td h6 {
background: var(--lighter);
}
/* OCD: Change the background color of the "now in use" node in PassWall */
.cbi-section-table > tbody > ._now_use {
background: #5e72e473 !important;
}
/* language fix */
body.lang_pl.node-main-login .cbi-value-title {
width: 12rem;
@ -1827,7 +1834,8 @@ input {
transition: box-shadow 0.15s ease;
margin: 0.25rem;
}
select:not([multiple="multiple"]):focus,
select:not([multiple="multiple"]):hover,
input:hover,
input:focus {
border-color: #5e72e4;
border-color: var(--primary);
@ -2510,8 +2518,9 @@ form > .cbi-map > .cbi-section > .cbi-section-node > .cbi-value > .cbi-value-fie
content: "\f059";
}
.cbi-value-description {
color: #8d8d8d;
opacity: 0.8;
font-size: small;
opacity: 0.5;
padding: 0.5rem;
}
.cbi-value-title {
@ -2608,7 +2617,7 @@ td > .ifacebadge,
.ifacebadge > img {
display: inline-block;
margin: 0 0.3rem;
align-self: flex-start;
align-self: center;
}
.ifacebadge span {
line-height: 1.6em;
@ -2738,16 +2747,6 @@ td > .ifacebadge,
.cbi-section-remove {
padding: 0.5rem;
}
div.cbi-value var,
td.cbi-value-field var {
font-style: italic;
color: #0069D6;
}
small {
font-size: 90%;
white-space: normal;
line-height: 1.42857143;
}
.cbi-optionals {
padding: 1rem 1rem 0 1rem;
border-top: 1px solid #CCC;
@ -2857,7 +2856,6 @@ input[name="nslookup"] {
overflow-y: hidden;
}
.cbi-section em {
padding: 0.75rem 1.5rem;
font-size: 0.7rem;
font-weight: 600;
color: var(--primary);
@ -2938,6 +2936,20 @@ input[name="nslookup"] {
.node-nas-usb_printer em {
display: block;
}
/* PassWall */
#cbi-passwall #add_link_div,
#cbi-passwall #set_node_div {
background: #fffffff0;
}
#cbi-passwall #add_link_div #nodes_link {
background: var(--lighter);
}
#cbi-passwall #add_link_div .cbi-value-title {
vertical-align: middle;
}
#cbi-passwall .cbi-section-table tbody ._now_use {
background: #5e72e473 !important;
}
@media screen and (max-width: 1600px) {
.main .main-left {
width: calc(0% + 13rem);
@ -2945,7 +2957,7 @@ input[name="nslookup"] {
.main .main-right {
width: calc(100% - 13rem);
}
.cbi-button {
.cbi-button:not(.cbi-button-up, .cbi-button-down) {
/*padding: 0.3rem 1.5rem;*/
font-size: 0.8rem;
}

View File

@ -68,27 +68,33 @@ header::after {
color: #fff !important;
}
.main .main-left .nav .slide .slide-menu a::after,
.main .main-left .nav .slide .slide-menu .active a::after {
background-color: var(--dark-primary) !important;
}
.main .main-left .nav .slide .slide-menu li a {
color: #cccccc;
}
.main .main-left .nav .slide .slide-menu li a::after {
background-color: var(--dark-primary) !important;
box-shadow: 0 0 1px #000 !important;
}
.main .main-left .nav .slide .slide-menu li a:hover {
background: none !important;
}
.main .main-left .nav .slide .menu:hover,
.main .main-left .nav .slide .menu.active {
background-color: #483d8b !important;
background-color: var(--dark-primary) !important;
color: #fff !important;
box-shadow: 0 0 1px #000 !important;
}
.main .main-left .nav .slide .menu.active a::after {
background-color: #cccccc !important;
.main .main-left .nav .slide .menu[data-title=Status]:before {
color: var(--dark-primary) !important;
}
.main .main-left .nav .slide .menu[data-title=Control]:before {
color: var(--dark-primary) !important;
}
.main .main-left .nav li a {
@ -124,7 +130,13 @@ h3 {
background: #333333;
}
a:-webkit-any-link:not(.main-left a):not(li a):not(.brand):not(.login-container footer .ftc a) {
a:link,
a:visited,
a:active {
color: var(--dark_webkit-any-link);
}
a:-webkit-any-link:not(li a, .main-left a, .brand, .pull-right a, .alert-message a, .login-container footer a) {
color: var(--dark_webkit-any-link) !important;
text-shadow: 1px 1px 2px #000 !important;
}
@ -133,6 +145,16 @@ input:-webkit-autofill {
background-color: #3c3c3c !important;
}
input[type="checkbox"]:checked {
background-color: #483d8b !important;
background-color: var(--dark-primary) !important;
}
.cbi-input-radio:checked {
background-color: #483d8b !important;
background-color: var(--dark-primary) !important;
}
.cbi-value-field .cbi-input-apply,
.cbi-button-apply,
.cbi-button-edit {
@ -200,6 +222,7 @@ table>thead>tr>td {
#conns>div>div>div>small,
#memtotal>div>div>div>small {
color: #ccc !important;
text-shadow: 1px 1px 2px #000 !important;
}
.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last {
@ -322,16 +345,6 @@ th h6, td h6 {
background-color: #00ff0a45 !important;
}
/* OCD: Compatible the background color of the "Add the node via the link" & "USE(node)" pop-up window in PassWall (dark mode only) */
#add_link_div,
#set_node_div {
background-color: #333333f0 !important;
box-shadow: #00000094 10px 10px 30px 5px !important;
}
#add_link_div>.cbi-value>.cbi-value-field>#nodes_link {
background: #ccc;
}
#content_syslog {
box-shadow: 0 0 .5rem 0 rgba(0,0,0,0.35);
}
@ -404,7 +417,8 @@ input {
box-shadow: 0 3px 2px rgba(0,0,0,0.05);
}
select:not([multiple="multiple"]):focus,
select:not([multiple="multiple"]):hover,
input:hover,
input:focus {
border-color: #483d8b !important;
border-color: var(--dark-primary) !important;
@ -508,9 +522,11 @@ img[src="/luci-static/resources/icons/loading.gif"] {
}
div.cbi-value var,
td.cbi-value-field var {
td.cbi-value-field var,
.td.cbi-value-field var {
color: #483d8b;
color: var(--dark-primary);
color: var(--dark_webkit-any-link);
text-shadow: 1px 1px 2px #000;
}
#diag-rc-output>pre {
@ -662,6 +678,16 @@ fieldset[id^="cbi-apply-"] {
color: #ccc !important;
}
/* PassWall */
#cbi-passwall #add_link_div,
#cbi-passwall #set_node_div {
background: #333333f0 !important;
box-shadow: #00000094 10px 10px 30px 5px !important;
}
#cbi-passwall #add_link_div #nodes_link {
background: #3c3c3c !important;
}
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form {
-webkit-backdrop-filter: blur(var(--blur-radius-dark));

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1019 B

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -1,61 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 256 256" style="enable-background:new 0 0 256 256;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);}
<?xml version="1.0"?>
<svg width="256" height="256" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" enable-background="new 0 0 256 256" version="1.1" xml:space="preserve">
<style type="text/css">.st0{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_2_);}
.st2{fill:#FFFFFF;}
</style>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="11.1379" y1="10.6499" x2="245.5302" y2="245.0422">
<stop offset="0" style="stop-color:#5E72E4"/>
<stop offset="1" style="stop-color:#778AFF"/>
</linearGradient>
<path class="st0" d="M36.4,0.2h183.8c19.7,0,35.7,16,35.7,35.7v183.8c0,19.7-16,35.7-35.7,35.7H36.4c-19.7,0-35.7-16-35.7-35.7
V35.9C0.7,16.2,16.7,0.2,36.4,0.2z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.6679" y1="0.18" x2="0.6679" y2="0.18">
<stop offset="0" style="stop-color:#5E72E4"/>
<stop offset="1" style="stop-color:#778AFF"/>
</linearGradient>
<path class="st1" d="M0.7,0.2"/>
</g>
<path class="st2" d="M128.3,32.6c-43.9,0-79.4,35.6-79.4,79.4c0,35.3,23.1,65.2,55,75.6l9.9-40.1c-14-5.7-23.8-19.4-23.8-35.5
c0-21.2,17.2-38.3,38.3-38.3c21.2,0,38.3,17.2,38.3,38.3c0,16-9.8,29.7-23.8,35.5l9.9,40.1c31.9-10.3,55-40.2,55-75.6
C207.8,68.2,172.2,32.6,128.3,32.6z"/>
<g>
<path class="st2" d="M48.5,234.8c-2.3,0-4.3-0.3-6.1-0.9c-1.7-0.6-3.3-1.6-4.7-3c-1.4-1.4-2.5-2.8-3.3-4.2
c-0.8-1.4-1.3-2.9-1.6-4.4c-0.3-1.5-0.4-3.2-0.4-4.9c0-2.3,0.3-4.3,0.8-5.9c0.5-1.7,1.1-3.1,1.8-4.3c0.7-1.2,1.8-2.4,3.1-3.6
c1.3-1.2,2.8-2.1,4.4-2.8c1.6-0.7,3.5-1.1,5.7-1.1c2,0,3.8,0.3,5.6,0.9c1.7,0.6,3.3,1.5,4.7,2.7c1.4,1.2,2.6,2.6,3.5,4.4
c1,1.7,1.6,3.4,1.9,5c0.3,1.6,0.4,3.2,0.4,4.8c-0.1,2.5-0.4,4.7-1,6.6c-0.6,1.9-1.3,3.5-2.2,4.7c-0.9,1.2-1.9,2.3-3.2,3.2
c-1.2,0.9-2.7,1.7-4.3,2.2C52.3,234.5,50.5,234.8,48.5,234.8z M48,227.6c1.1,0.1,2.3-0.1,3.4-0.4c1.1-0.4,2.2-1.1,3.2-2.1
c1-1,1.6-2.3,1.9-3.8c0.3-1.5,0.5-2.9,0.4-4.3c0-1.9-0.3-3.4-0.7-4.6c-0.4-1.2-1-2.2-1.6-3c-0.6-0.8-1.4-1.5-2.3-2
c-0.9-0.5-1.9-0.8-3.1-0.9c-1.1-0.1-2.2,0.1-3.2,0.4c-1,0.4-1.9,0.9-2.7,1.5c-0.8,0.6-1.5,1.5-2.2,2.5c-0.6,1-1,2.1-1.1,3.2
c-0.1,1.1-0.2,2.1-0.2,3c0,1.2,0.1,2.4,0.4,3.6c0.2,1.2,0.7,2.3,1.3,3.4c0.6,1,1.5,1.8,2.7,2.4C45.4,227.2,46.6,227.5,48,227.6z"/>
<path class="st2" d="M77,243.9h-7.2v-32.8H77l0,2c0.3-0.3,0.7-0.6,1.1-0.9c0.4-0.3,0.9-0.5,1.6-0.7c0.7-0.2,1.3-0.3,2-0.3
c1.4,0,2.7,0.4,4,1.1c1.3,0.8,2.3,1.8,3.2,3c0.8,1.3,1.4,2.6,1.8,4.1c0.3,1.5,0.5,2.8,0.5,4.1c0,1.3-0.2,2.7-0.7,4.1
c-0.5,1.7-1.4,3.1-2.5,4.3c-1.1,1.2-2.3,1.9-3.5,2.2c-1.2,0.3-2.3,0.4-3.1,0.4c-1.6,0-2.7-0.3-3.3-0.8l-1-0.7V243.9z M77,225.8
l0,1.7c0.2,0.5,0.5,1,0.9,1.3c0.3,0.4,1.1,0.6,2.1,0.6c1.1,0,1.9-0.3,2.5-0.9c0.5-0.5,0.8-1.3,1-2.3c0.2-1.1,0.3-2.2,0.3-3.5
c0-1.3-0.1-2.4-0.4-3.3c-0.3-0.8-0.7-1.5-1.2-2.1c-0.6-0.6-1.3-0.9-2.1-0.8c-0.5,0-1.1,0.2-1.7,0.6c-0.6,0.4-1,0.9-1.2,1.6
l-0.2,0.6V225.8z"/>
<path class="st2" d="M103.3,224.3c0,0.2,0,0.4,0,0.6c0,0.2,0.1,0.7,0.1,1.4c0.1,0.7,0.3,1.5,0.7,2.3c0.4,0.8,0.8,1.3,1.2,1.6
c0.5,0.3,0.9,0.3,1.5,0.3c0.4-0.1,0.9-0.2,1.3-0.5c0.4-0.3,0.7-0.7,0.9-1.1c0.2-0.4,0.4-0.8,0.5-1.2l0.2-1h7.4
c-0.1,0.5-0.2,1.1-0.3,1.7c-0.1,0.7-0.5,1.4-1,2.3c-0.5,0.8-1.1,1.6-1.9,2.2c-0.7,0.6-1.7,1.1-3,1.5c-1.3,0.4-2.7,0.6-4.3,0.5
c-1.6-0.1-3.2-0.4-4.6-0.9c-1.5-0.6-2.6-1.3-3.5-2.3c-0.9-1-1.5-2.2-1.9-3.5c-0.4-1.3-0.6-2.9-0.6-4.6c0-1,0.1-1.9,0.3-2.9
c0.2-1,0.5-2,0.9-2.9c0.4-0.9,1-1.9,1.7-2.8c0.7-0.9,1.9-1.8,3.4-2.6c1.5-0.8,3.2-1.2,4.9-1.1c0.7,0,1.7,0.2,2.8,0.5
c1.2,0.3,2.3,1,3.5,2c1.2,1,2.1,2.3,2.6,3.8c0.6,1.5,0.9,2.8,0.9,4l0.1,3H103.3z M110,220.2c0-0.6-0.1-1.1-0.2-1.6
c-0.1-0.5-0.2-1-0.5-1.6s-0.6-0.9-0.9-1.2c-0.3-0.2-0.8-0.4-1.3-0.4c-0.6,0-1.1,0.1-1.6,0.4c-0.5,0.3-0.9,0.8-1.3,1.6
c-0.4,0.7-0.6,1.3-0.6,1.8l-0.1,0.9H110z"/>
<path class="st2" d="M142.4,234.4h-7.2v-13.1c0-1-0.1-1.8-0.2-2.4c-0.1-0.6-0.4-1.1-0.9-1.6c-0.5-0.4-1.2-0.6-2.1-0.6
c-0.6,0.1-1.1,0.3-1.6,0.6c-0.5,0.3-0.8,0.8-1,1.3c-0.2,0.5-0.3,1.3-0.3,2.3v13.3h-7.2v-23.3h7.2v1.3c0.3-0.1,0.6-0.3,1.1-0.5
c0.4-0.2,1-0.4,1.6-0.6c0.6-0.2,1.5-0.2,2.5-0.2c1,0.1,1.9,0.2,2.7,0.5c0.8,0.3,1.5,0.7,2.3,1.3c0.7,0.6,1.4,1.3,1.8,2.1
c0.5,0.8,0.8,1.7,1,2.5c0.2,0.8,0.3,1.9,0.3,3.1V234.4z"/>
<path class="st2" d="M163.5,221.2l-3.7,13.3h-5.6l-6.7-23.3h7.1l2.5,11.1l3.4-11.1h6.1l3.2,11l2.3-11h7.1l-6.3,23.3h-5.6
L163.5,221.2z"/>
<path class="st2" d="M184.4,211.1h6.7v4.3c0.3-0.5,0.8-1,1.2-1.5c0.5-0.5,1.3-1.1,2.4-1.7c1.2-0.6,2.1-0.9,2.9-0.9l3.8-0.3v6.2
c-0.7-0.1-1.4-0.1-2-0.2c-0.6,0-1.5,0-2.5,0.1c-1.1,0.1-2.1,0.5-3.1,1c-1,0.5-1.6,1-1.9,1.6l-0.8,1.3v13.4h-6.7V211.1z"/>
<path class="st2" d="M218.3,211.1h5.2v4.6h-5.2v10.9c0,0.8,0.1,1.4,0.3,1.8c0.2,0.4,0.5,0.6,0.8,0.8c0.4,0.1,1,0.2,1.9,0.2h2.3
l-0.1,5h-5.1c-0.7,0-1.4,0-2.1-0.1c-0.7-0.1-1.4-0.3-2.1-0.7c-0.7-0.4-1.3-0.9-1.8-1.4c-0.5-0.6-0.8-1.2-1-2
c-0.2-0.7-0.3-1.7-0.3-2.8v-11.6h-4.8v-4.6h4.8v-7.6h7.2V211.1z"/>
</g>
</svg>
.st2{fill:#FFFFFF;}</style>
<g class="layer">
<title>Layer 1</title>
<g id="svg_1">
<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="11.14" x2="245.53" y1="10.65" y2="245.04">
<stop offset="0" stop-color="#5E72E4"/>
<stop offset="1" stop-color="#778AFF"/>
</linearGradient>
<path class="st0" d="m36.4,0.2l183.8,0c19.7,0 35.7,16 35.7,35.7l0,183.8c0,19.7 -16,35.7 -35.7,35.7l-183.8,0c-19.7,0 -35.7,-16 -35.7,-35.7l0,-183.8c0,-19.7 16,-35.7 35.7,-35.7z" id="svg_2"/>
<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="0.67" x2="0.67" y1="0.18" y2="0.18">
<stop offset="0" stop-color="#5E72E4"/>
<stop offset="1" stop-color="#778AFF"/>
</linearGradient>
<path class="st1" d="m0.7,0.2" id="svg_3"/>
</g>
<path class="st2" d="m128.3,46.6c-46.66,0 -84.4,37.84 -84.4,84.4c0,37.52 24.55,69.31 58.46,80.36l10.52,-42.63c-14.88,-6.06 -25.3,-20.62 -25.3,-37.74c0,-22.54 18.28,-40.71 40.71,-40.71c22.54,0 40.71,18.28 40.71,40.71c0,17.01 -10.42,31.57 -25.3,37.74l10.52,42.63c33.91,-10.95 58.46,-42.73 58.46,-80.36c0.11,-46.56 -37.74,-84.4 -84.4,-84.4z" id="svg_4"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -182,11 +182,11 @@ body {
a:link,
a:visited,
a:active {
color: var(--default);
color: var(--primary);
text-decoration: none;
}
a:-webkit-any-link:not(.main-left a):not(li a):not(.brand):not(.login-container footer .ftc a) {
a:-webkit-any-link:not(li a, .main-left a, .brand, .pull-right a, .alert-message a, .login-container footer a) {
color: -webkit-link;
cursor: pointer;
color: var(--primary);
@ -501,6 +501,14 @@ li {
display: block;
}
}
footer {
color: var(--default);
a {
color: var(--default);
}
}
}
}
@ -799,6 +807,7 @@ footer {
color: #fff;
background: #5e72e4;
background: var(--primary);
box-shadow: 0 0 1px #ccc;
a {
color: #000;
@ -913,6 +922,7 @@ footer {
background-color: #5e72e4;
background-color: var(--primary);
transition: all 0.2s;
box-shadow: 0 0 1px #ccc;
}
&:hover::after {
@ -1313,8 +1323,6 @@ input[type="checkbox"] {
}
input[type="checkbox"]:checked {
border: 1px solid #5e72e4;
border: 1px solid var(--primary);
background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important;
background-color: #5e72e4;
background-color: var(--primary);
@ -1343,8 +1351,6 @@ ul li .cbi-input-checkbox {
}
.cbi-input-radio:checked {
border: 1px solid #5e72e4;
border: 1px solid var(--primary);
background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'-4 -4 8 8\'%3e%3ccircle r=\'3\' fill=\'%23fff\'/%3e%3c/svg%3e') !important;
background-color: #5e72e4;
background-color: var(--primary);
@ -1475,7 +1481,8 @@ div.cbi-value var,
td.cbi-value-field var,
.td.cbi-value-field var {
font-style: italic;
color: #0069D6;
color: var(--primary);
text-shadow: 1px 1px 2px #ccc;
}
small {
@ -1659,6 +1666,15 @@ input[name="nslookup"] {
animation: sparkle 1500ms linear infinite;
}
#swaptotal>div>div>div>small,
#swapfree>div>div>div>small,
#memfree>div>div>div>small,
#membuff>div>div>div>small,
#conns>div>div>div>small,
#memtotal>div>div>div>small {
text-shadow: 1px 1px 2px #ccc;
}
/* fix multiple table */
table table,
@ -1967,11 +1983,6 @@ th h6, td h6 {
background: var(--lighter);
}
/* OCD: Change the background color of the "now in use" node in PassWall */
.cbi-section-table>tbody>._now_use {
background: #5e72e473 !important;
}
/* language fix */
body.lang_pl.node-main-login .cbi-value-title {
width: 12rem;
@ -2167,7 +2178,8 @@ input {
margin: 0.25rem;
}
select:not([multiple="multiple"]):focus,
select:not([multiple="multiple"]):hover,
input:hover,
input:focus {
border-color: #5e72e4;
border-color: var(--primary);
@ -2988,7 +3000,6 @@ select[multiple="multiple"] {
display: table-cell;
line-height: 1.6;
font-size: 0.875rem;
}
/* Fix text position of the luci-app-filebrowser running state */
@ -3014,8 +3025,9 @@ form>.cbi-map>.cbi-section>.cbi-section-node>.cbi-value>.cbi-value-field font {
}
.cbi-value-description {
color: #8d8d8d;
opacity: 0.8;
font-size: small;
opacity: 0.5;
padding: 0.5rem;
}
@ -3138,7 +3150,7 @@ td>.ifacebadge,
.ifacebadge>img {
display: inline-block;
margin: 0 0.3rem;
align-self: flex-start;
align-self: center;
}
@ -3303,18 +3315,6 @@ td>.ifacebadge,
padding: 0.5rem;
}
div.cbi-value var,
td.cbi-value-field var {
font-style: italic;
color: #0069D6;
}
small {
font-size: 90%;
white-space: normal;
line-height: 1.42857143;
}
.cbi-optionals {
padding: 1rem 1rem 0 1rem;
@ -3459,7 +3459,6 @@ input[name="nslookup"] {
overflow-y: hidden;
em {
padding: 0.75rem 1.5rem;
font-size: 0.7rem;
font-weight: 600;
color: var(--primary);
@ -3573,6 +3572,20 @@ input[name="nslookup"] {
display: block;
}
/* PassWall */
#cbi-passwall #add_link_div,
#cbi-passwall #set_node_div {
background: #fffffff0;
}
#cbi-passwall #add_link_div #nodes_link {
background: var(--lighter);
}
#cbi-passwall #add_link_div .cbi-value-title {
vertical-align: middle;
}
#cbi-passwall .cbi-section-table tbody ._now_use {
background: #5e72e473 !important;
}
@media screen and (max-width: 1600px) {
@ -3587,7 +3600,7 @@ input[name="nslookup"] {
}
.cbi-button {
.cbi-button:not(.cbi-button-up, .cbi-button-down) {
/*padding: 0.3rem 1.5rem;*/
font-size: 0.8rem;
}

View File

@ -111,10 +111,6 @@ header::after {
.slide {
.slide-menu {
a::after {
background-color: var(--dark-primary) !important;
}
.active {
a {
color: #fff !important;
@ -128,23 +124,34 @@ header::after {
li {
a {
color: #cccccc;
}
a:hover {
background: none !important;
&:hover {
background: none !important;
}
&::after {
background-color: var(--dark-primary) !important;
box-shadow: 0 0 1px #000 !important;
}
}
}
}
.menu.active {
background-color: #483d8b !important;
background-color: var(--dark-primary) !important;
color: #fff !important;
a::after {
background-color: #cccccc !important;
.menu {
&:hover,
&.active {
background-color: #483d8b !important;
background-color: var(--dark-primary) !important;
color: #fff !important;
box-shadow: 0 0 1px #000 !important;
}
}
.menu[data-title=Status]:before,
.menu[data-title=Control]:before {
color: var(--dark-primary) !important;
}
}
li {
@ -188,7 +195,13 @@ h3 {
background: #333333;
}
a:-webkit-any-link:not(.main-left a):not(li a):not(.brand):not(.login-container footer .ftc a) {
a:link,
a:visited,
a:active {
color: var(--dark_webkit-any-link);
}
a:-webkit-any-link:not(li a, .main-left a, .brand, .pull-right a, .alert-message a, .login-container footer a) {
color: var(--dark_webkit-any-link) !important;
text-shadow: 1px 1px 2px #000 !important;
}
@ -197,6 +210,16 @@ input:-webkit-autofill {
background-color: #3c3c3c !important;
}
input[type="checkbox"]:checked {
background-color: #483d8b !important;
background-color: var(--dark-primary) !important;
}
.cbi-input-radio:checked {
background-color: #483d8b !important;
background-color: var(--dark-primary) !important;
}
.cbi-value-field .cbi-input-apply,
.cbi-button-apply,
.cbi-button-edit {
@ -265,8 +288,8 @@ table>thead>tr>td {
#membuff>div>div>div>small,
#conns>div>div>div>small,
#memtotal>div>div>div>small {
color: #ccc !important;
text-shadow: 1px 1px 2px #000 !important;
}
.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last {
@ -392,16 +415,6 @@ th h6, td h6 {
background-color: #00ff0a45 !important;
}
/* OCD: Compatible the background color of the "Add the node via the link" & "USE(node)" pop-up window in PassWall (dark mode only) */
#add_link_div,
#set_node_div {
background-color: #333333f0 !important;
box-shadow: #00000094 10px 10px 30px 5px !important;
}
#add_link_div>.cbi-value>.cbi-value-field>#nodes_link {
background: #ccc;
}
#content_syslog {
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35)
}
@ -474,7 +487,8 @@ input {
box-shadow: 0 3px 2px rgba(0, 0, 0, .05);
}
select:not([multiple="multiple"]):focus,
select:not([multiple="multiple"]):hover,
input:hover,
input:focus {
border-color: #483d8b !important;
border-color: var(--dark-primary) !important;
@ -577,9 +591,11 @@ img[src="/luci-static/resources/icons/loading.gif"] {
}
div.cbi-value var,
td.cbi-value-field var {
td.cbi-value-field var,
.td.cbi-value-field var {
color: #483d8b;
color: var(--dark-primary);
color: var(--dark_webkit-any-link);
text-shadow: 1px 1px 2px #000;
}
#diag-rc-output>pre {
@ -735,6 +751,16 @@ fieldset[id^="cbi-apply-"] {
color: #ccc !important;
}
/* PassWall */
#cbi-passwall #add_link_div,
#cbi-passwall #set_node_div {
background: #333333f0 !important;
box-shadow: #00000094 10px 10px 30px 5px !important;
}
#cbi-passwall #add_link_div #nodes_link {
background: #3c3c3c !important;
}
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form {
-webkit-backdrop-filter: blur(var(--blur-radius-dark));