From 0bc7d1dbc14878361d42120ff2dd8abc2cd746c0 Mon Sep 17 00:00:00 2001 From: AmadeusGhost <42570690+AmadeusGhost@users.noreply.github.com> Date: Sat, 15 Aug 2020 11:20:50 +0800 Subject: [PATCH 1/7] luci-app-clash: adjust submenu --- package/ntlf9t/luci-app-clash/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/ntlf9t/luci-app-clash/Makefile b/package/ntlf9t/luci-app-clash/Makefile index 3a63978f12..0fa23b301e 100644 --- a/package/ntlf9t/luci-app-clash/Makefile +++ b/package/ntlf9t/luci-app-clash/Makefile @@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/package.mk define Package/$(PKG_NAME) SECTION:=luci CATEGORY:=LuCI - SUBMENU:=3. Applications For OpenWRT + SUBMENU:=3. Applications TITLE:=LuCI app for clash DEPENDS:=+luci-base +wget +iptables +coreutils-base64 +coreutils +coreutils-nohup +bash +ipset +libustream-openssl +curl +jsonfilter +ca-certificates +iptables-mod-tproxy +kmod-tun PKGARCH:=all From 9a6c153ab7024ffe7925e0aff169b25b849dc24d Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Sat, 15 Aug 2020 11:10:22 +0100 Subject: [PATCH 2/7] dropbear: allow disabling support for scp If not needed, disabling scp allows for a nice size reduction. Dropbear executable size comparison: 153621 bytes (baseline) 133077 bytes (without scp) In other words, we trim a total of 20544 bytes. Signed-off-by: Rui Salvaterra --- package/network/services/dropbear/Config.in | 4 ++++ package/network/services/dropbear/Makefile | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/package/network/services/dropbear/Config.in b/package/network/services/dropbear/Config.in index 3de4189e08..108b80376b 100644 --- a/package/network/services/dropbear/Config.in +++ b/package/network/services/dropbear/Config.in @@ -95,4 +95,8 @@ config DROPBEAR_DBCLIENT bool "Build dropbear with dbclient" default y +config DROPBEAR_SCP + bool "Build dropbear with scp" + default y + endmenu diff --git a/package/network/services/dropbear/Makefile b/package/network/services/dropbear/Makefile index bedb000fda..1cda98bf7e 100644 --- a/package/network/services/dropbear/Makefile +++ b/package/network/services/dropbear/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dropbear PKG_VERSION:=2020.80 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ @@ -31,7 +31,7 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_DROPBEAR_CURVE25519 CONFIG_DROPBEAR_ZLIB \ CONFIG_DROPBEAR_ED25519 CONFIG_DROPBEAR_CHACHA20POLY1305 \ CONFIG_DROPBEAR_UTMP CONFIG_DROPBEAR_PUTUTLINE \ - CONFIG_DROPBEAR_DBCLIENT + CONFIG_DROPBEAR_DBCLIENT CONFIG_DROPBEAR_SCP include $(INCLUDE_DIR)/package.mk @@ -53,7 +53,9 @@ define Package/dropbear CATEGORY:=Base system TITLE:=Small SSH2 client/server DEPENDS:= +DROPBEAR_ZLIB:zlib - ALTERNATIVES:=100:/usr/bin/scp:/usr/sbin/dropbear + ALTERNATIVES:= + $(if $(CONFIG_DROPBEAR_SCP),ALTERNATIVES+= \ + 100:/usr/bin/scp:/usr/sbin/dropbear,) $(if $(CONFIG_DROPBEAR_DBCLIENT),ALTERNATIVES+= \ 100:/usr/bin/ssh:/usr/sbin/dropbear,) @@ -146,7 +148,7 @@ endef define Build/Compile +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ $(TARGET_CONFIGURE_OPTS) \ - PROGRAMS="dropbear $(if $(CONFIG_DROPBEAR_DBCLIENT),dbclient,) dropbearkey scp" \ + PROGRAMS="dropbear $(if $(CONFIG_DROPBEAR_DBCLIENT),dbclient,) dropbearkey $(if $(CONFIG_DROPBEAR_SCP),scp,)" \ MULTI=1 SCPPROGRESS=1 +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ $(TARGET_CONFIGURE_OPTS) \ From 8d7f89dafbb5bcecc11fb41ffe70e0a9833f9a3d Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Sat, 15 Aug 2020 17:00:15 +0900 Subject: [PATCH 3/7] map: add a legacymap option The legacy map version based on the IPv6 Interface Identifier in draft-ietf-softwire-map-03 was typically used by uncommenting the LEGACY variable in the map.sh file, which is not ideal. A proper configuration option is needed instead. The IPv6 Interface Identifier format described in the draft was eventually changed in RFC7597, but is still used by some major ISPs, including in Japan. Signed-off-by: Remi NGUYEN VAN Signed-off-by: Hans Dedecker [PKG_RELEASE increase] --- package/network/ipv6/map/Makefile | 2 +- package/network/ipv6/map/files/map.sh | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/package/network/ipv6/map/Makefile b/package/network/ipv6/map/Makefile index 5d0e0bbd3d..4bb29ee57b 100644 --- a/package/network/ipv6/map/Makefile +++ b/package/network/ipv6/map/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=map -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk diff --git a/package/network/ipv6/map/files/map.sh b/package/network/ipv6/map/files/map.sh index 6462e810cc..61075bd244 100755 --- a/package/network/ipv6/map/files/map.sh +++ b/package/network/ipv6/map/files/map.sh @@ -25,12 +25,9 @@ proto_map_setup() { local iface="$2" local link="map-$cfg" - # uncomment for legacy MAP0 mode - #export LEGACY=1 - - local type mtu ttl tunlink zone encaplimit + local type legacymap mtu ttl tunlink zone encaplimit local rule ipaddr ip4prefixlen ip6prefix ip6prefixlen peeraddr ealen psidlen psid offset - json_get_vars type mtu ttl tunlink zone encaplimit + json_get_vars type legacymap mtu ttl tunlink zone encaplimit json_get_vars rule ipaddr ip4prefixlen ip6prefix ip6prefixlen peeraddr ealen psidlen psid offset [ "$zone" = "-" ] && zone="" @@ -56,7 +53,7 @@ proto_map_setup() { fi echo "rule=$rule" > /tmp/map-$cfg.rules - RULE_DATA=$(mapcalc ${tunlink:-\*} $rule) + RULE_DATA=$(LEGACY="$legacymap" mapcalc ${tunlink:-\*} $rule) if [ "$?" != 0 ]; then proto_notify_error "$cfg" "INVALID_MAP_RULE" proto_block_restart "$cfg" @@ -106,7 +103,7 @@ proto_map_setup() { elif [ "$type" = "map-t" -a -f "/proc/net/nat46/control" ]; then proto_init_update "$link" 1 local style="MAP" - [ "$LEGACY" = 1 ] && style="MAP0" + [ "$legacymap" = 1 ] && style="MAP0" echo add $link > /proc/net/nat46/control local cfgstr="local.style $style local.v4 $(eval "echo \$RULE_${k}_IPV4PREFIX")/$(eval "echo \$RULE_${k}_PREFIX4LEN")" @@ -229,6 +226,7 @@ proto_map_init_config() { proto_config_add_int "psidlen" proto_config_add_int "psid" proto_config_add_int "offset" + proto_config_add_boolean "legacymap" proto_config_add_string "tunlink" proto_config_add_int "mtu" From 34f8304b9a10362bfd8727449d75c5376c2f8a4b Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Mon, 17 Aug 2020 23:23:37 +0200 Subject: [PATCH 4/7] ltq-dsl-base: remove useless echos in lantiq_dsl.sh The is no reason to catch the output by $() and then echo it again. Remove the useless echos. Signed-off-by: Adrian Schmutzler --- package/network/utils/ltq-dsl-base/Makefile | 2 +- .../utils/ltq-dsl-base/files/lib/functions/lantiq_dsl.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/utils/ltq-dsl-base/Makefile b/package/network/utils/ltq-dsl-base/Makefile index 6b931f7abd..e2cfc4004c 100644 --- a/package/network/utils/ltq-dsl-base/Makefile +++ b/package/network/utils/ltq-dsl-base/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ltq-dsl-base -PKG_RELEASE:=1 +PKG_RELEASE:=2 include $(INCLUDE_DIR)/package.mk diff --git a/package/network/utils/ltq-dsl-base/files/lib/functions/lantiq_dsl.sh b/package/network/utils/ltq-dsl-base/files/lib/functions/lantiq_dsl.sh index 11b02fc4aa..5842a7879f 100755 --- a/package/network/utils/ltq-dsl-base/files/lib/functions/lantiq_dsl.sh +++ b/package/network/utils/ltq-dsl-base/files/lib/functions/lantiq_dsl.sh @@ -19,10 +19,10 @@ dsl_cmd() { ) } dsl_val() { - echo $(expr "$1" : '.*'$2'=\([-\.[:alnum:]]*\).*') + expr "$1" : '.*'$2'=\([-\.[:alnum:]]*\).*' } dsl_string() { - echo $(expr "$1" : '.*'$2'=(\([A-Z0-9,]*\))') + expr "$1" : '.*'$2'=(\([A-Z0-9,]*\))' } # From 51b27218f4c853738667187406fa4d20f565e9b5 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Tue, 11 Aug 2020 21:08:05 +0200 Subject: [PATCH 5/7] ppp: update to latest git HEAD 677aa53 Fix -W option for pppoe-discovery utility (#157) 115c419 Accept Malformed Windows Success Message (#156) 5bdb148 pppd: Add documentation of stop-bits option to pppd man page (#154) 2a7981f Add ipv6cp-accept-remote option 0678d3b pppd: Fix the default value for ipv6cp-accept-local to false Refresh patches Signed-off-by: Hans Dedecker --- package/network/services/ppp/Makefile | 6 +++--- .../network/services/ppp/patches/105-debian_demand.patch | 2 +- .../services/ppp/patches/110-debian_defaultroute.patch | 2 +- .../ppp/patches/120-debian_ipv6_updown_option.patch | 6 +++--- .../network/services/ppp/patches/201-mppe_mppc_1.1.patch | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package/network/services/ppp/Makefile b/package/network/services/ppp/Makefile index 8cd2cbc1d9..d6b651820d 100644 --- a/package/network/services/ppp/Makefile +++ b/package/network/services/ppp/Makefile @@ -13,9 +13,9 @@ PKG_RELEASE:=5 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/paulusmack/ppp -PKG_SOURCE_DATE:=2020-05-25 -PKG_SOURCE_VERSION:=ddd57c279f467e18c4fb3a661f21a069a5a37a1f -PKG_MIRROR_HASH:=aac65e65dd25eaf8978a7a0b3258c863d90e29e247dd33d95276c0c189bcd424 +PKG_SOURCE_DATE:=2020-08-07 +PKG_SOURCE_VERSION:=045169401601639b9163e1df00f868a0a49131ce +PKG_MIRROR_HASH:=0ceb3e649d191c1fe225be580135aa181d9d3ba3689503691c4c9469ddac64a3 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-4-Clause PKG_CPE_ID:=cpe:/a:samba:ppp diff --git a/package/network/services/ppp/patches/105-debian_demand.patch b/package/network/services/ppp/patches/105-debian_demand.patch index fb6f39f4b9..c442f4c8af 100644 --- a/package/network/services/ppp/patches/105-debian_demand.patch +++ b/package/network/services/ppp/patches/105-debian_demand.patch @@ -150,7 +150,7 @@ } else { --- a/pppd/ipv6cp.c +++ b/pppd/ipv6cp.c -@@ -1252,7 +1252,7 @@ ipv6cp_up(f) +@@ -1258,7 +1258,7 @@ ipv6cp_up(f) if (sif6defaultroute(f->unit, go->ourid, ho->hisid)) default_route_set[f->unit] = 1; } diff --git a/package/network/services/ppp/patches/110-debian_defaultroute.patch b/package/network/services/ppp/patches/110-debian_defaultroute.patch index e474571767..21b329e5d5 100644 --- a/package/network/services/ppp/patches/110-debian_defaultroute.patch +++ b/package/network/services/ppp/patches/110-debian_defaultroute.patch @@ -137,7 +137,7 @@ Signed-off-by: Jo-Philipp Wich .B disconnect \fIscript Execute the command specified by \fIscript\fR, by passing it to a shell, after -@@ -751,7 +756,12 @@ disable both forms of hardware flow cont +@@ -756,7 +761,12 @@ disable both forms of hardware flow cont .TP .B nodefaultroute Disable the \fIdefaultroute\fR option. The system administrator who diff --git a/package/network/services/ppp/patches/120-debian_ipv6_updown_option.patch b/package/network/services/ppp/patches/120-debian_ipv6_updown_option.patch index 5ef09b3f3e..a1110caecb 100644 --- a/package/network/services/ppp/patches/120-debian_ipv6_updown_option.patch +++ b/package/network/services/ppp/patches/120-debian_ipv6_updown_option.patch @@ -48,7 +48,7 @@ Signed-off-by: Jo-Philipp Wich "Enable multilink operation", OPT_PRIO | 1 }, --- a/pppd/ipv6cp.c +++ b/pppd/ipv6cp.c -@@ -1294,7 +1294,7 @@ ipv6cp_up(f) +@@ -1300,7 +1300,7 @@ ipv6cp_up(f) */ if (ipv6cp_script_state == s_down && ipv6cp_script_pid == 0) { ipv6cp_script_state = s_up; @@ -57,7 +57,7 @@ Signed-off-by: Jo-Philipp Wich } } -@@ -1346,7 +1346,7 @@ ipv6cp_down(f) +@@ -1352,7 +1352,7 @@ ipv6cp_down(f) /* Execute the ipv6-down script */ if (ipv6cp_script_state == s_up && ipv6cp_script_pid == 0) { ipv6cp_script_state = s_down; @@ -66,7 +66,7 @@ Signed-off-by: Jo-Philipp Wich } } -@@ -1389,13 +1389,13 @@ ipv6cp_script_done(arg) +@@ -1395,13 +1395,13 @@ ipv6cp_script_done(arg) case s_up: if (ipv6cp_fsm[0].state != OPENED) { ipv6cp_script_state = s_down; diff --git a/package/network/services/ppp/patches/201-mppe_mppc_1.1.patch b/package/network/services/ppp/patches/201-mppe_mppc_1.1.patch index bc1b69ebf1..9345c10400 100644 --- a/package/network/services/ppp/patches/201-mppe_mppc_1.1.patch +++ b/package/network/services/ppp/patches/201-mppe_mppc_1.1.patch @@ -1473,7 +1473,7 @@ Signed-off-by: Jo-Philipp Wich --- a/pppd/chap_ms.c +++ b/pppd/chap_ms.c -@@ -962,13 +962,17 @@ set_mppe_enc_types(int policy, int types +@@ -964,13 +964,17 @@ set_mppe_enc_types(int policy, int types /* * Disable undesirable encryption types. Note that we don't ENABLE * any encryption types, to avoid overriding manual configuration. From 2d75f4a74f82bf8a7f3d89f96d783f8c5331d742 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Tue, 18 Aug 2020 17:17:38 +0800 Subject: [PATCH 6/7] luci-theme-argon: bump to v1.6.7 --- package/ctcgfw/luci-theme-argonv3/Makefile | 6 +- .../htdocs/luci-static/argon/css/cascade.css | 111 +++++++-- .../htdocs/luci-static/argon/css/dark.css | 17 +- .../luci-static/argon/img/volume_high.svg | 1 + .../luci-static/argon/img/volume_off.svg | 1 + .../htdocs/luci-static/argon/js/script.js | 12 +- .../luci-static/argon/less/cascade.less | 128 ++++++++-- .../htdocs/luci-static/argon/less/dark.less | 21 +- .../luasrc/view/themes/argon/footer.htm | 59 +++-- .../luasrc/view/themes/argon/header.htm | 12 +- .../luasrc/view/themes/argon/header_login.htm | 193 +-------------- .../luasrc/view/themes/argon/sysauth.htm | 229 +++++++++++------- 12 files changed, 418 insertions(+), 372 deletions(-) create mode 100644 package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_high.svg create mode 100644 package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_off.svg diff --git a/package/ctcgfw/luci-theme-argonv3/Makefile b/package/ctcgfw/luci-theme-argonv3/Makefile index a818ffc828..6e703047c0 100644 --- a/package/ctcgfw/luci-theme-argonv3/Makefile +++ b/package/ctcgfw/luci-theme-argonv3/Makefile @@ -7,9 +7,9 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=Argon Theme -LUCI_DEPENDS:= -PKG_VERSION:=1.6.5 -PKG_RELEASE:=20200731 +LUCI_DEPENDS:=+luasocket +PKG_VERSION:=1.6.7 +PKG_RELEASE:=20200818 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/cascade.css b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/cascade.css index 572af83c8b..7d0aee9029 100644 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/cascade.css +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/cascade.css @@ -35,6 +35,16 @@ @import url("fonts.css?v=3"); @import url("pure-min.css?v=1"); :root { + --primary: #5e72e4; + --dark-primary: #5065d8; + --darker: black; + --default: #525461; + --background-color: #f4f5f7; + --warning: #fb6340; + --footer-color: #aaa; + --menubar-background: #fff; + --menubar-scrollbar-thumb: #f6f9fc; + --menubar-text-color: #4c4c4c; --blue: #5e72e4; --indigo: #5603ad; --purple: #8965e0; @@ -45,29 +55,28 @@ --green: #2dce89; --teal: #11cdef; --cyan: #2bffc6; + --white: #fff; --gray: #8898aa; --gray-dark: #32325d; --light: #ced4da; --lighter: #e9ecef; - --primary: #5e72e4; --secondary: #f7fafc; --success: #2dce89; --info: #11cdef; - --warning: #fb6340; --danger: #f5365c; --light: #adb5bd; --dark: #212529; - --default: #172b4d; - --white: #fff; --neutral: #fff; - --darker: black; - --background-color: #f4f5f7; --login-form-bg-color: rgba(244, 245, 247, 0.8); --breakpoint-xs: 0; --breakpoint-sm: 576px; --breakpoint-md: 768px; --breakpoint-lg: 992px; --breakpoint-xl: 1200px; + --blur-radius: 10px; + --blur-opacity: 0.5; + --blur-radius-dark: 10px; + --blur-opacity-dark: 0.5; --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; @@ -94,10 +103,11 @@ body { margin: 0; padding: 0; box-sizing: border-box; + -webkit-tap-highlight-color: transparent; } ::selection { - background-color: var(--primary); background-color: #5e72e4; + background-color: var(--primary); color: #ffffff; color: var(--white); } @@ -135,12 +145,27 @@ li { align-items: center; justify-content: center; background-color: #000; + background-color: var(--darker); overflow: hidden; } .login-page .video video { width: 100%; height: auto; } +.login-page .volume-control { + position: fixed; + right: 1rem; + top: 1rem; + width: 1.5rem; + height: 1.5rem; + z-index: 5000; + cursor: pointer; + background-size: contain; + background-image: url(../img/volume_high.svg); +} +.login-page .volume-control.mute { + background-image: url(../img/volume_off.svg); +} .login-page .login-container { height: 100%; margin-left: 4.5rem; @@ -168,7 +193,8 @@ li { width: 100%; min-height: 100%; max-width: 420px; - background-color: #ffffff; + background-color: #fff; + background-color: var(--white); } .login-page .login-container .login-form .brand { display: flex; @@ -176,6 +202,7 @@ li { align-items: center; margin: 50px auto 100px 50px; color: #525461; + color: var(--default); } .login-page .login-container .login-form .brand .icon { width: 50px; @@ -215,6 +242,7 @@ li { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #525461; + color: var(--default); font-size: 1.5rem; position: absolute; z-index: 100; @@ -227,6 +255,7 @@ li { height: 1px; bottom: 0; border-bottom: 1px #5e72e4 solid; + border-bottom: 1px var(--primary) solid; transform: scaleX(0); transition: transform 0.3s; } @@ -240,9 +269,11 @@ li { box-sizing: border-box; transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); color: #525461; + color: var(--default); border: 0; border-radius: 0; border-bottom: 1px solid #fff; + border-bottom: 1px solid var(--white); background-color: transparent; background-clip: padding-box; box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); @@ -266,12 +297,14 @@ li { box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; font-weight: 600; font-size: 15px; - color: #ffffff; + color: #fff; + color: var(--white); text-align: center; width: 100%; cursor: pointer; min-height: 50px; - background-image: linear-gradient(-135deg, #8692de 0%, #788aef 100%); + background-color: #5e72e4 !important; + background-color: var(--primary) !important; border-radius: 6px; outline: none; border-width: initial; @@ -285,7 +318,8 @@ li { } .login-page .login-container .login-form .cbi-button-apply:hover, .login-page .login-container .login-form .cbi-button-apply :focus { - background-image: linear-gradient(-135deg, #828fe0 0%, #5e72e4 100%); + background-color: #5065d8 !important; + background-color: var(--dark-primary) !important; } .login-page .login-container footer { box-sizing: border-box; @@ -298,6 +332,13 @@ li { padding: 0px 0px 30px; z-index: 10; color: #525461; + color: var(--default); + position: relative; +} +.login-page .login-container footer .ftc { + position: absolute; + bottom: 30px; + width: 100%; } .login-page .login-container footer .luci-link { display: block; @@ -310,9 +351,9 @@ li { } @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - background-color: rgba(244, 245, 247, 0.7); + -webkit-backdrop-filter: blur(var(--blur-radius)); + backdrop-filter: blur(var(--blur-radius)); + background-color: rgba(244, 245, 247, var(--blur-opacity)); } } /*********************** @@ -340,9 +381,11 @@ header::after { height: 2rem; width: 100%; background-color: #5e72e4 !important; + background-color: var(--primary) !important; } header.bg-primary { background-color: #5e72e4 !important; + background-color: var(--primary) !important; } header .fill { padding: 0.8rem 0; @@ -355,6 +398,7 @@ header .fill .container { header .fill .container .brand { font-size: 1.5rem; color: #fff; + color: var(--white); font-family: "TypoGraphica"; text-decoration: none; padding-left: 1rem; @@ -371,10 +415,12 @@ footer { text-align: right; padding: 1rem; color: #aaa; + color: var(--footer-color); font-size: 0.8rem; } footer a { color: #aaa; + color: var(--footer-color); text-decoration: none; } /*********************** @@ -408,11 +454,12 @@ footer a { width: calc(0% + 15rem); height: 100%; background-color: #fff !important; + background-color: var(--menubar-background) !important; box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; overflow-x: auto; position: fixed; z-index: 100; - transition: width 0.3s ease-in-out; + transition: width 0.2s ease-in-out; } .main .main-left::-webkit-scrollbar { width: 5px; @@ -420,9 +467,11 @@ footer a { } .main .main-left::-webkit-scrollbar-thumb { background-color: #f6f9fc; + background-color: var(--menubar-scrollbar-thumb); } .main .main-left::-webkit-scrollbar-track { background-color: #fff; + background-color: var(--menubar-background); } .main .main-left .sidenav-header { padding: 1.5rem; @@ -431,6 +480,7 @@ footer a { .main .main-left .sidenav-header .brand { font-size: 1.8rem; color: #5e72e4; + color: var(--primary); font-family: "TypoGraphica", sans-serif; text-decoration: none; padding-left: 0; @@ -447,6 +497,7 @@ footer a { } .main .main-left .nav li a { color: #525f7f; + color: var(--default); display: block; } .main .main-left .nav li:nth-last-child(1) { @@ -467,7 +518,8 @@ footer a { padding: 0.5rem 0rem 0.5rem 0; text-decoration: none; white-space: nowrap; - color: rgba(0, 0, 0, 0.7); + color: #4c4c4c; + color: var(--menubar-text-color); transition: all 0.2s; font-size: 0.875rem; } @@ -479,10 +531,12 @@ footer a { left: 0; bottom: 0; background-color: #5e72e4; + background-color: var(--primary); transition: all 0.2s; } .main .main-left .nav li.slide ul li a:hover::after { color: #000; + color: var(--darker); width: 100%; } .main .main-left .nav li.slide .menu { @@ -2634,6 +2688,25 @@ input[name="nslookup"] { font-size: 0.7rem; } } +@media screen and (min-width: 600px) { + ::-webkit-scrollbar { + width: 10px; + height: 10px; + } + ::-webkit-scrollbar, + ::-webkit-scrollbar-corner { + background: transparent; + } + ::-webkit-scrollbar-thumb { + background: #9e9e9e; + } + ::-webkit-scrollbar-thumb:hover { + background: #757575; + } + ::-webkit-scrollbar-thumb:active { + background: #424242; + } +} @media screen and (max-width: 992px) { .main .main-left { width: 0; @@ -3245,9 +3318,9 @@ input[name="nslookup"] { } @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - background-color: rgba(0, 0, 0, 0.7); + -webkit-backdrop-filter: blur(var(--blur-radius-dark)); + backdrop-filter: blur(var(--blur-radius-dark)); + background-color: rgba(0, 0, 0, var(--blur-opacity-dark)); } } } diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/dark.css b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/dark.css index db1955cf7b..0c01977b3e 100644 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/dark.css +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/css/dark.css @@ -296,6 +296,9 @@ input:focus { outline: 0; box-shadow: none; } +select { + background-color: #1e1e1e !important; +} #cbi-dropbear h2, #cbi-dropbear .cbi-map-descr, #cbi-dropbear .cbi-map-descr abbr, @@ -354,7 +357,7 @@ td.cbi-value-field var { background-color: #1e1e1e; } .node-services-vssr .block { - background-color: #3c3c3c !important; + background-color: #1e1e1e !important; box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35); } .node-services-vssr .block h4 { @@ -380,6 +383,9 @@ td.cbi-value-field var { .node-services-vssr .incon:nth-child(2) { border-right: #1e1e1e 1px solid; } +.main .main-right #maincontent .container p { + color: #ccc; +} #xhr_poll_status > .label.success { color: #ccc !important; background-color: darkolivegreen !important; @@ -423,11 +429,14 @@ fieldset[id^="cbi-apply-"] { .cbi-section-error { color: darkorange; } +.node-services-vssr .block h4 span { + color: #ccc !important; +} @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - background-color: rgba(0, 0, 0, 0.7); + -webkit-backdrop-filter: blur(var(--blur-radius-dark)); + backdrop-filter: blur(var(--blur-radius-dark)); + background-color: rgba(0, 0, 0, var(--blur-opacity-dark)); } } @media screen and (max-width: 480px) { diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_high.svg b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_high.svg new file mode 100644 index 0000000000..f01ad5c79d --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_high.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_off.svg b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_off.svg new file mode 100644 index 0000000000..0598d584e7 --- /dev/null +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/img/volume_off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/js/script.js b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/js/script.js index 66e3fc0ec6..a627f4e743 100644 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/js/script.js +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/js/script.js @@ -199,16 +199,12 @@ $(".showSide").click(function () { if (showSide) { $(".darkMask").stop(true).fadeOut("fast"); - $(".main-left").stop(true).animate({ - width: "0" - }, "fast"); + $(".main-left").width(0); $(".main-right").css("overflow-y", "auto"); showSide = false; } else { $(".darkMask").stop(true).fadeIn("fast"); - $(".main-left").stop(true).animate({ - width: "15rem" - }, "fast"); + $(".main-left").width("15rem"); $(".main-right").css("overflow-y", "hidden"); showSide = true; } @@ -219,9 +215,7 @@ if (showSide) { showSide = false; $(".darkMask").stop(true).fadeOut("fast"); - $(".main-left").stop(true).animate({ - width: "0" - }, "fast"); + $(".main-left").width(0); $(".main-right").css("overflow-y", "auto"); } }); diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/cascade.less b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/cascade.less index 595bba4484..cbc3381a70 100644 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/cascade.less +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/cascade.less @@ -39,6 +39,17 @@ @import url("pure-min.css?v=1"); :root { + --primary: #5e72e4; + --dark-primary: #5065d8; + --white: #fff; + --darker: black; + --default: #525461; + --background-color: #f4f5f7; + --warning: #fb6340; + --footer-color:#aaa; + --menubar-background:#fff; + --menubar-scrollbar-thumb:#f6f9fc; + --menubar-text-color:#4c4c4c; --blue: #5e72e4; --indigo: #5603ad; --purple: #8965e0; @@ -54,25 +65,26 @@ --gray-dark: #32325d; --light: #ced4da; --lighter: #e9ecef; - --primary: #5e72e4; --secondary: #f7fafc; --success: #2dce89; --info: #11cdef; - --warning: #fb6340; --danger: #f5365c; --light: #adb5bd; --dark: #212529; - --default: #172b4d; - --white: #fff; + + --neutral: #fff; - --darker: black; - --background-color: #f4f5f7; + --login-form-bg-color: rgba(244, 245, 247, 0.8); --breakpoint-xs: 0; --breakpoint-sm: 576px; --breakpoint-md: 768px; --breakpoint-lg: 992px; --breakpoint-xl: 1200px; + --blur-radius:10px; + --blur-opacity:0.5; + --blur-radius-dark:10px; + --blur-opacity-dark:0.5; --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; @@ -104,11 +116,13 @@ body { margin: 0; padding: 0; box-sizing: border-box; + -webkit-tap-highlight-color:transparent; + } ::selection { - background-color: var(--primary); background-color: #5e72e4; + background-color: var(--primary); color: #ffffff; color: var(--white); } @@ -130,9 +144,6 @@ li { } - - - /*********************** * * Login Page @@ -155,6 +166,7 @@ li { align-items: center; justify-content: center; background-color: #000; + background-color: var(--darker); overflow: hidden; video { width: 100%; @@ -162,6 +174,21 @@ li { } } + .volume-control{ + position: fixed; + right: 1rem; + top: 1rem; + width: 1.5rem; + height: 1.5rem; + z-index: 5000; + cursor: pointer; + background-size: contain; + background-image: url(../img/volume_high.svg); + &.mute{ + background-image: url(../img/volume_off.svg); + } + } + .login-container { height: 100%; margin-left: 4.5rem; @@ -189,7 +216,8 @@ li { width: 100%; min-height: 100%; max-width: 420px; - background-color: rgb(255, 255, 255); + background-color: #fff; + background-color: var(--white); .brand { display: flex; @@ -197,6 +225,7 @@ li { align-items: center; margin: 50px auto 100px 50px; color: #525461; + color: var(--default); .icon { width: 50px; @@ -242,6 +271,7 @@ li { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #525461; + color: var(--default); font-size: 1.5rem; position: absolute; z-index: 100; @@ -255,6 +285,7 @@ li { height: 1px; bottom: 0; border-bottom: 1px #5e72e4 solid; + border-bottom: 1px var(--primary) solid; transform: scaleX(0); transition: transform 0.3s; } @@ -269,9 +300,11 @@ li { box-sizing: border-box; transition: all .3s cubic-bezier(.68, -.55, .265, 1.55); color: #525461; + color:var(--default); border: 0; border-radius: 0; border-bottom: 1px solid #fff; + border-bottom: 1px solid var(--white); background-color: transparent; background-clip: padding-box; box-shadow: 0 3px 2px rgba(233, 236, 239, .05); @@ -303,12 +336,14 @@ li { box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 50px 0px; font-weight: 600; font-size: 15px; - color: rgb(255, 255, 255); + color: #fff; + color: var(--white); text-align: center; width: 100%; cursor: pointer; min-height: 50px; - background-image: linear-gradient(-135deg, rgb(134, 146, 222) 0%, rgb(120, 138, 239) 100%); + background-color: #5e72e4 !important; + background-color: var(--primary) !important; border-radius: 6px; outline: none; border-width: initial; @@ -322,7 +357,8 @@ li { &:hover, :focus { - background-image: linear-gradient(-135deg, rgb(130, 143, 224) 0%, rgb(94, 114, 228) 100%); + background-color: #5065d8 !important; + background-color: var(--dark-primary) !important; } } @@ -340,6 +376,13 @@ li { padding: 0px 0px 30px; z-index: 10; color: #525461; + color: var(--default); + position: relative; + .ftc{ + position: absolute; + bottom: 30px; + width: 100%; + } .luci-link { display: block; @@ -358,9 +401,9 @@ li { @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - background-color: rgba(244, 245, 247, 0.7); + -webkit-backdrop-filter: blur(var(--blur-radius)); + backdrop-filter: blur(var(--blur-radius)); + background-color: rgba(244, 245, 247, var(--blur-opacity)); } } @@ -396,10 +439,12 @@ header { height: 2rem; width: 100%; background-color: #5e72e4 !important; + background-color: var(--primary) !important; } &.bg-primary { background-color: #5e72e4 !important; + background-color: var(--primary) !important; } .fill { @@ -413,6 +458,7 @@ header { .brand { font-size: 1.5rem; color: #fff; + color: var(--white); font-family: "TypoGraphica"; text-decoration: none; padding-left: 1rem; @@ -435,13 +481,16 @@ header { ***************************/ footer { + text-align: right; padding: 1rem; color: #aaa; + color:var(--footer-color); font-size: 0.8rem; a { color: #aaa; + color:var(--footer-color); text-decoration: none; } } @@ -482,11 +531,12 @@ footer { width: calc(0% + 15rem); height: 100%; background-color: #fff !important; + background-color: var(--menubar-background) !important; box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 15px -5px; overflow-x: auto; position: fixed; z-index: 100; - transition: width 0.3s ease-in-out; + transition: width 0.2s ease-in-out; &::-webkit-scrollbar { width: 5px; @@ -494,11 +544,14 @@ footer { } &::-webkit-scrollbar-thumb { - background-color: #f6f9fc + background-color: #f6f9fc; + background-color: var(--menubar-scrollbar-thumb); + } &::-webkit-scrollbar-track { background-color: #fff; + background-color: var(--menubar-background); } .sidenav-header { @@ -508,6 +561,7 @@ footer { .brand { font-size: 1.8rem; color: #5e72e4; + color: var(--primary); font-family: "TypoGraphica", sans-serif; text-decoration: none; padding-left: 0; @@ -526,6 +580,7 @@ footer { a { color: #525f7f; + color: var(--default); display: block; } @@ -551,7 +606,8 @@ footer { padding: 0.5rem 0rem 0.5rem 0; text-decoration: none; white-space: nowrap; - color: rgba(0, 0, 0, .7); + color: #4c4c4c; + color: var(--menubar-text-color); transition: all 0.2s; font-size: 0.875rem; @@ -563,12 +619,14 @@ footer { left: 0; bottom: 0; background-color: #5e72e4; + background-color: var(--primary); transition: all 0.2s; } &:hover { &::after { color: #000; + color:var(--darker); width: 100%; } } @@ -3309,6 +3367,30 @@ input[name="nslookup"] { } } +@media screen and (min-width: 600px) { + ::-webkit-scrollbar { + width: 10px; + height: 10px; + } + + ::-webkit-scrollbar, + ::-webkit-scrollbar-corner { + background: transparent; + } + + ::-webkit-scrollbar-thumb { + background: #9e9e9e; + } + + ::-webkit-scrollbar-thumb:hover { + background: #757575; + } + + ::-webkit-scrollbar-thumb:active { + background: #424242; + } +} + @media screen and (max-width: 992px) { .main { .main-left { @@ -4150,9 +4232,9 @@ input[name="nslookup"] { @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - background-color: rgba(0, 0, 0, 0.7); + -webkit-backdrop-filter: blur(var(--blur-radius-dark)); + backdrop-filter: blur(var(--blur-radius-dark)); + background-color: rgba(0, 0, 0, var(--blur-opacity-dark)); } } diff --git a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/dark.less b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/dark.less index cee0b7b66a..758177f911 100644 --- a/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/dark.less +++ b/package/ctcgfw/luci-theme-argonv3/htdocs/luci-static/argon/less/dark.less @@ -405,6 +405,10 @@ input:focus { box-shadow: none; } +select { + background-color: #1e1e1e !important; +} + #cbi-dropbear h2, #cbi-dropbear .cbi-map-descr, #cbi-dropbear .cbi-map-descr abbr, @@ -480,7 +484,7 @@ td.cbi-value-field var { } .node-services-vssr .block { - background-color: #3c3c3c !important; + background-color: #1e1e1e !important; box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35); } @@ -514,6 +518,10 @@ td.cbi-value-field var { border-right: #1e1e1e 1px solid; } +.main .main-right #maincontent .container p { + color: #ccc; +} + #xhr_poll_status>.label.success { color: #ccc !important; @@ -568,12 +576,15 @@ fieldset[id^="cbi-apply-"] { color: darkorange; } +.node-services-vssr .block h4 span{ + color: #ccc !important; +} + @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { .login-page .login-container .login-form { - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - background-color: rgba(0, 0, 0, 0.7); - + -webkit-backdrop-filter: blur(var(--blur-radius-dark)); + backdrop-filter: blur(var(--blur-radius-dark)); + background-color: rgba(0, 0, 0, var(--blur-opacity-dark)); } } diff --git a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm index 4cca01f5f8..19ec480a47 100644 --- a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm +++ b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/footer.htm @@ -38,29 +38,42 @@ local tree = disp.node() local categories = disp.node_childs(tree) %> - - - - + + + + - - - + + + + diff --git a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm index b4975bf868..fc62c1ee11 100644 --- a/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm +++ b/package/ctcgfw/luci-theme-argonv3/luasrc/view/themes/argon/header.htm @@ -229,19 +229,18 @@ <% if css then %> <% end -%> - - - + + +
- @@ -250,7 +249,7 @@
- <%=boardinfo.hostname or "?"%> ™ + <%=boardinfo.hostname or "?"%>
<% render_changes() %>