From f08d65c66d669885bbf15c538b5b06cc7c952bcf Mon Sep 17 00:00:00 2001 From: Jackie Sung Date: Mon, 1 Feb 2021 21:15:36 +0800 Subject: [PATCH 1/3] Add password page and UI design update --- resource/static/theme-daynight/css/main.css | 2 +- resource/static/theme-daynight/css/passwd.css | 1 + .../static/theme-daynight/css/service.css | 2 +- resource/static/theme-daynight/js/main.js | 2 +- resource/static/theme-daynight/js/navtop.js | 2 +- resource/static/theme-daynight/js/service.js | 2 +- resource/template/theme-daynight/home.html | 6 +- resource/template/theme-daynight/service.html | 6 +- .../template/theme-daynight/viewpassword.html | 74 +++++++++++++------ 9 files changed, 62 insertions(+), 35 deletions(-) create mode 100644 resource/static/theme-daynight/css/passwd.css diff --git a/resource/static/theme-daynight/css/main.css b/resource/static/theme-daynight/css/main.css index f105d54..4b73b37 100644 --- a/resource/static/theme-daynight/css/main.css +++ b/resource/static/theme-daynight/css/main.css @@ -1 +1 @@ -body.transition-theme,body.transition-theme *,body.transition-theme *:before,body.transition-theme *:after{-webkit-transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;-webkit-transition-delay:0 !important;transition-delay:0 !important}body.transition-sidebar,body.transition-sidebar *,body.transition-sidebar *:before,body.transition-sidebar *:after{-webkit-transition:100ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:100ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;-webkit-transition-delay:0 !important;transition-delay:0 !important}body[data-theme="dark"]{background-color:#121212}body[data-theme="dark"] .dark-light-toggle .switcher{background-color:#124b8c}body[data-theme="dark"] #app{background-color:#121212}body[data-theme="dark"] .toggle-container{color:#c8c8c8}body[data-theme="dark"] .toggle-container .fas.fa-th.fa-lg{color:#c8c8c8}body[data-theme="dark"] .toggle-container .fas.fa-list-ul.fa-lg{color:#c8c8c8}body[data-theme="dark"] .state-online{background-color:#4ba242}body[data-theme="dark"] .server-info-container{background-color:#1e1e1e;color:#e1e1e1;border:1px solid rgba(255,255,255,0.1);-webkit-box-shadow:0 2px 10px rgba(255,255,255,0.1);box-shadow:0 2px 10px rgba(255,255,255,0.1)}body[data-theme="dark"] .info-body ul li{border-bottom:1px solid rgba(255,255,255,0.2)}body[data-theme="dark"] .info-body ul li p{color:#fff}body[data-theme="dark"] .info-body ul li img{border:1px solid rgba(255,255,255,0.3)}body[data-theme="dark"] .info-body ul li:nth-child(-n+3){border:none}body[data-theme="dark"] .info-body ul li:nth-last-child(-n+3){border:none}body[data-theme="dark"] .info-body ul li:nth-child(n+4)::before{color:#959595}body[data-theme="dark"] .info-body ul li h4{color:#959595}body[data-theme="dark"] .info-body .cpu-bar h4,body[data-theme="dark"] .info-body .ram-bar h4,body[data-theme="dark"] .info-body .disk-bar h4{color:#959595}body[data-theme="dark"] .info-body .cpu-bar p,body[data-theme="dark"] .info-body .ram-bar p,body[data-theme="dark"] .info-body .disk-bar p{color:#fff !important}body[data-theme="dark"] .info-body .ui.progress{background-color:#111;border:1px solid rgba(255,255,255,0.15)}body[data-theme="dark"] .info-body .ui.progress.fine>.progress-bar{background-color:#1670c5 !important}body[data-theme="dark"] .info-body .ui.progress.warning>.progress-bar{background-color:#975fe4 !important}footer{background-color:#2f2f2f;color:#f2f2f2;font-size:14px}footer .footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;padding:1rem}footer .footer-container p{width:100%;margin-top:1rem}footer .footer-container a{color:#f2f2f2}footer .footer-container div{width:100%}#back-to-top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#ff9800;width:45px;height:45px;border-radius:50%;position:fixed;bottom:20px;right:30px;-webkit-transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;opacity:0;visibility:hidden;z-index:1000}#back-to-top:after{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f106";font-size:2.2em;color:#fff}#back-to-top:hover{cursor:pointer;background-color:#cc7a00}#back-to-top:active{background-color:#cc7a00}#back-to-top.show{opacity:1;visibility:visible}@media (max-width: 500px){#back-to-top{background-color:#975fe4}#back-to-top:hover,#back-to-top:active{background-color:#7b33dd}}@media (max-width: 500px){.sidebar-container{display:none}}.sidebar-container ul{position:fixed;top:50%;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;right:0}.sidebar-container ul li+li{margin-top:1.5em}.sidebar-container ul li{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.4em 0 0.4em 0;color:#f2f2f2;cursor:pointer;height:2em;-webkit-box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);width:35px;border-radius:0.5em 0 0 0.5em;border:1px solid rgba(255,255,255,0.2)}@media (min-width: 1400px){.sidebar-container ul li{height:2.6em;width:45px}}.sidebar-container ul li:first-child{background-color:#fbb142}.sidebar-container ul li:nth-child(2){background-color:#124b8c}.sidebar-container ul li:nth-child(3){background-color:#2f2f2f}.sidebar-container ul li:last-child{background-color:#555}.sidebar-container ul li i.fas{font-size:1em;width:36px;text-align:center;position:relative;top:0.04em}.sidebar-container ul li .fas.fa-sun{font-size:1.3em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-sun{font-size:1.6em}}.sidebar-container ul li .fas.fa-moon{font-size:1.2em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-moon{font-size:1.5em}}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-th{font-size:1.45em}}.sidebar-container ul li .fas.fa-list-ul{font-size:1.15em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-list-ul{font-size:1.5em}}.sidebar-container ul li span{font-size:1em;left:36px;position:absolute;opacity:0;visibility:hidden;font-weight:bold}.sidebar-container ul li:hover{width:110px !important;-webkit-box-shadow:0 2px 10px -1px rgba(0,0,0,0.1);box-shadow:0 2px 10px -1px rgba(0,0,0,0.1)}.sidebar-container ul li:hover span{visibility:visible;opacity:1;-webkit-transition-delay:90ms;transition-delay:90ms}.sidebar-container ul li:hover i{opacity:1}.sidebar-container ul li:hover i.fa-sun{-webkit-animation:rotateSun 3s linear infinite;animation:rotateSun 3s linear infinite}@-webkit-keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.sidebar-container ul li:hover i.fa-moon{-webkit-animation:rotateMoon 2s linear infinite;animation:rotateMoon 2s linear infinite}@-webkit-keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.sidebar-container ul li:hover i.fa-th{-webkit-animation:rotateTh 1s linear infinite;animation:rotateTh 1s linear infinite}@-webkit-keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}@keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}.sidebar-container ul li:hover i.fa-list-ul{-webkit-animation:rotateList 1s linear infinite;animation:rotateList 1s linear infinite}@-webkit-keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}@keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}header{background-color:#2a3950}.nav-bar{display:-ms-grid;display:grid;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-grid-columns:1fr 3fr;grid-template-columns:1fr 3fr;-ms-grid-rows:auto 1fr;grid-template-rows:auto 1fr;background-color:#2a3950;padding:.8em 0;width:100%;width:calc(100vw - 4em);max-width:1400px;margin:0 auto}@media (max-width: 900px){.nav-bar{width:calc(100vw - 3em)}}@media (max-width: 500px){.nav-bar{width:calc(100vw - 2em);-ms-grid-columns:auto 3fr;grid-template-columns:auto 3fr}}.nav-bar .logo{color:#f2f2f2;-ms-grid-column-align:start;justify-self:start;font-size:1.2em}.nav-bar a{color:#f2f2f2}.nav-bar li:last-child{background-color:#07090d}.icon-container{-ms-grid-column-align:end;justify-self:end;display:none}.icon-container .col{display:block;float:left;margin:1% 0 1% 1.6%}.icon-container .col:first-of-type{margin-left:0}.icon-container .cf:before,.icon-container .cf:after{content:' ';display:table}.icon-container .cf:after{clear:both}.icon-container .cf{*zoom:1}.icon-container .three{color:#ecf0f1;text-align:center}.icon-container .hamburger .line{width:50px;height:5px;background-color:#ecf0f1;display:block;margin:8px auto;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.icon-container .hamburger:hover{cursor:pointer}.icon-container #hamburger-icon.is-active{-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;-webkit-transition-delay:0.6s;transition-delay:0.6s;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.icon-container #hamburger-icon.is-active .line:nth-child(2){width:0px}.icon-container #hamburger-icon.is-active .line:nth-child(1),.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transition-delay:0.3s;transition-delay:0.3s}.icon-container #hamburger-icon.is-active .line:nth-child(1){-webkit-transform:translateY(13px);transform:translateY(13px)}.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transform:translateY(-13px) rotate(90deg);transform:translateY(-13px) rotate(90deg)}.nav-menu{-ms-grid-column-align:end;justify-self:end}.nav-menu li{display:inline-block}.nav-menu li a{display:block;padding:.8em 1.6em}@media screen and (max-width: 500px){.icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:scale(0.8);transform:scale(0.8)}.nav-menu{grid-column:1 / -1;-ms-grid-column-align:stretch;justify-self:stretch}.nav-menu ul{display:none}.nav-menu.active{grid-column:1 / -1}.nav-menu li{width:100%;border-bottom:1px solid rgba(255,255,255,0.3)}.nav-menu li:last-child{border:none}.nav-menu li a{padding:1em;font-weight:bold}}@media screen and (min-width: 500px){.nav-menu ul{display:block !important}}body[data-gridlist="list"] #app{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-gap:2em}@media (max-width: 1250px){body[data-gridlist="list"] #app{grid-row-gap:3em}}body[data-gridlist="list"] .server-info-container{-ms-grid-rows:1fr auto;grid-template-rows:1fr auto}body[data-gridlist="list"] .info-body ul{grid-template-areas:"state flag . system location memory boot ram disk down up cpu-bar cpu-bar ram-bar ram-bar disk-bar disk-bar" "name name name system location memory boot ram disk down up cpu-bar cpu-bar ram-bar ram-bar disk-bar disk-bar"}@media (max-width: 1250px){body[data-gridlist="list"] .info-body ul{grid-template-areas:"state state state name name name name name flag flag flag flag flag flag" "system location memory boot ram disk down up cpu-bar cpu-bar ram-bar ram-bar disk-bar disk-bar"}}@media (max-width: 900px){body[data-gridlist="list"] .info-body ul{grid-template-areas:"state state state state name name name name name name name flag flag flag" "system system system system system system system location location location location location location location" "memory memory memory memory memory memory memory boot boot boot boot boot boot boot" "ram ram ram ram ram ram ram disk disk disk disk disk disk disk" "down down down down down down down up up up up up up up" "cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar" "ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar" "disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar"}body[data-gridlist="list"] .info-body ul li{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}body[data-gridlist="list"] .info-body ul li:nth-child(n+4)::before{padding-bottom:0 !important}body[data-gridlist="list"] .info-body ul li:nth-last-child(-n+3):before{content:"" !important}body[data-gridlist="list"] .info-body ul li .cpu-bar,body[data-gridlist="list"] .info-body ul li .ram-bar,body[data-gridlist="list"] .info-body ul li .disk-bar{-ms-grid-columns:15% auto !important;grid-template-columns:15% auto !important;width:100%}body[data-gridlist="list"] .info-body ul li .cpu-bar h4,body[data-gridlist="list"] .info-body ul li .ram-bar h4,body[data-gridlist="list"] .info-body ul li .disk-bar h4{display:block !important}}body[data-gridlist="list"] .info-body ul li{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}body[data-gridlist="list"] .info-body ul li:nth-child(n+4):before{padding-bottom:0.5em}body[data-gridlist="list"] .info-body ul li:nth-child(1){-ms-grid-column:1;-ms-grid-column-span:1;grid-column:1 / 2;-ms-grid-column-align:start;justify-self:start}body[data-gridlist="list"] .info-body ul li:nth-child(2){-ms-grid-column:1;-ms-grid-column-span:2;grid-column:1 / 3;-ms-grid-column-align:start;justify-self:start}@media (max-width: 1250px){body[data-gridlist="list"] .info-body ul li:nth-child(2){-ms-grid-column:2;-ms-grid-column-span:10;grid-column:2 / 12;-ms-grid-column-align:center;justify-self:center}}body[data-gridlist="list"] .info-body ul li:nth-child(3){-ms-grid-column-align:end;justify-self:end;-ms-grid-column:2;-ms-grid-column-span:1;grid-column:2 / 3}@media (max-width: 1250px){body[data-gridlist="list"] .info-body ul li:nth-child(3){grid-column:1 / -1}}body[data-gridlist="list"] .info-body ul li:nth-child(n+4):nth-child(-n+11){border:none}body[data-gridlist="list"] .info-body ul li:nth-child(12){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:.6em}body[data-gridlist="list"] .info-body ul li:nth-child(12):before{content:"CPU"}body[data-gridlist="list"] .info-body ul li:nth-child(13){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:.6em}body[data-gridlist="list"] .info-body ul li:nth-child(13):before{content:"RAM"}body[data-gridlist="list"] .info-body ul li:nth-child(14){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:.6em}body[data-gridlist="list"] .info-body ul li:nth-child(14):before{content:"硬盘"}body[data-gridlist="list"] .info-body ul li .cpu-bar,body[data-gridlist="list"] .info-body ul li .ram-bar,body[data-gridlist="list"] .info-body ul li .disk-bar{-ms-grid-columns:1fr;grid-template-columns:1fr}body[data-gridlist="list"] .info-body ul li .cpu-bar h4,body[data-gridlist="list"] .info-body ul li .ram-bar h4,body[data-gridlist="list"] .info-body ul li .disk-bar h4{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;text-decoration:none}body{font-family:Microsoft Yahei, Avenir, Segoe UI, Hiragino Sans GB, STHeiti, Microsoft Sans Serif, WenQuanYi Micro Hei, sans-serif;overflow-x:hidden;background-color:#e5e5e5}#app{background-color:#e5e5e5;min-height:100vh;display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3, 1fr);grid-gap:3em;width:100%;width:calc(100vw - 6em);max-width:1400px;margin:4em auto;-ms-flex-line-pack:start;align-content:start}@media (max-width: 1250px){#app{-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3, 1fr);grid-gap:2.5em;width:calc(100vw - 4em)}}@media (max-width: 900px){#app{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-gap:2em;grid-row-gap:3em;width:calc(100vw - 3em)}}@media (max-width: 500px){#app{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-gap:1em;grid-row-gap:3em;width:calc(100vw - 2em);margin:2em auto 4em}}.server-info-container{background-color:#f1f1f2;display:-ms-grid;display:grid;font-size:0.9em;border-radius:5px;border:1px solid #d9d9d9;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);-webkit-transition:-webkit-transform 500ms ease-in-out;transition:-webkit-transform 500ms ease-in-out;transition:transform 500ms ease-in-out;transition:transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out}.server-info-container .info-body{display:-ms-grid;display:grid}.server-info-container:hover{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.info-body ul{display:-ms-grid;display:grid;grid-template-areas:'state state name name flag flag' 'system system system location location location' 'memory memory memory boot boot boot' 'ram ram ram disk disk disk' 'down down down up up up' 'cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar' 'ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar' 'disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar'}.info-body ul li{list-style:none;padding:.6em;margin:0.3em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;word-break:break-all;border-bottom:1px solid #d9d9d9}.info-body ul li p{padding:0.3em 1em;font-size:0.6em}.info-body ul li h3{font-size:1.05em}.info-body ul li .state-online{background-color:#53b449;border-radius:4px}.info-body ul li .state-offline{background-color:#ef4b4c;border-radius:4px}.info-body ul li img{border:1px solid rgba(0,0,0,0.25);border-radius:6px}.info-body ul li:not(:nth-child(1))::before{font-weight:bold}.info-body ul li:nth-child(1){-ms-grid-row:1;-ms-grid-column:1;-ms-grid-column-span:2;grid-area:state;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-ms-grid-column-align:center;justify-self:center;border:none;font-size:1.2em}@media (max-width: 500px){.info-body ul li:nth-child(1){-ms-grid-column-align:start;justify-self:start}}.info-body ul li:nth-child(2){-ms-grid-row:1;-ms-grid-column:3;-ms-grid-column-span:2;grid-area:name;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-ms-grid-column-align:center;justify-self:center;border:none}.info-body ul li:nth-child(3){-ms-grid-row:1;-ms-grid-column:5;-ms-grid-column-span:2;grid-area:flag;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-ms-grid-column-align:center;justify-self:center;border:none}@media (max-width: 500px){.info-body ul li:nth-child(3){-ms-grid-column-align:end;justify-self:end}}.info-body ul li:nth-child(4){-ms-grid-row:2;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:system;text-transform:capitalize}.info-body ul li:nth-child(4):before{content:'系统'}.info-body ul li:nth-child(5){-ms-grid-row:2;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:location}.info-body ul li:nth-child(5):before{content:'位置'}.info-body ul li:nth-child(6){-ms-grid-row:3;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:memory}.info-body ul li:nth-child(6):before{content:'内存'}.info-body ul li:nth-child(7){-ms-grid-row:3;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:boot}.info-body ul li:nth-child(7):before{content:'在线'}.info-body ul li:nth-child(8){-ms-grid-row:4;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:ram}.info-body ul li:nth-child(8):before{content:'交换'}.info-body ul li:nth-child(9){-ms-grid-row:4;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:disk}.info-body ul li:nth-child(9):before{content:'硬盘'}.info-body ul li:nth-child(10){-ms-grid-row:5;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:down}.info-body ul li:nth-child(10):before{content:'下载 \f884';font-family:"Font Awesome 5 Free";font-weight:900}.info-body ul li:nth-child(11){-ms-grid-row:5;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:up}.info-body ul li:nth-child(11):before{content:'上传 \f161';font-family:"Font Awesome 5 Free";font-weight:900}.info-body ul li:nth-child(12){-ms-grid-row:6;-ms-grid-column:1;-ms-grid-column-span:6;grid-area:cpu-bar;border:none;display:inline-block;padding:.3em .6em}.info-body ul li:nth-child(13){-ms-grid-row:7;-ms-grid-column:1;-ms-grid-column-span:6;grid-area:ram-bar;border:none;display:inline-block;padding:.3em .6em}.info-body ul li:nth-child(14){-ms-grid-row:8;-ms-grid-column:1;-ms-grid-column-span:6;grid-area:disk-bar;border:none;display:inline-block;padding:.3em .6em .6em}.info-body ul li .cpu-bar,.info-body ul li .ram-bar,.info-body ul li .disk-bar{display:-ms-grid;display:grid;-ms-grid-columns:15% auto;grid-template-columns:15% auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.info-body ul li .cpu-bar div:first-child,.info-body ul li .ram-bar div:first-child,.info-body ul li .disk-bar div:first-child{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.info-body ul li .cpu-bar p,.info-body ul li .ram-bar p,.info-body ul li .disk-bar p{word-break:keep-all;font-size:0.8em}@media (max-width: 500px){.info-body ul li .cpu-bar p,.info-body ul li .ram-bar p,.info-body ul li .disk-bar p{font-size:1em}}.info-body ul li .cpu-bar h4,.info-body ul li .ram-bar h4,.info-body ul li .disk-bar h4{font-weight:bold}.info-body:nth-last-child(-n+3) .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;background-image:linear-gradient(135deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.info-body:nth-last-child(-n+3) .progress-bar,.info-body:nth-last-child(-n+3) .ui.progress{background-color:lightgray;background-size:40px 40px;border-radius:4px}.info-body:nth-last-child(-n+3) .ui.progress{border:1px solid #bfbfbf}.info-body:nth-last-child(-n+3) .ui.progress.fine .progress-bar{background-color:#53b449}.info-body:nth-last-child(-n+3) .ui.progress.warning .progress-bar{background-color:#fbb142}.info-body:nth-last-child(-n+3) .ui.progress.error .progress-bar{background-color:#ef4b4c}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}.dark-light-toggle{display:none}@media (max-width: 500px){.dark-light-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;z-index:999;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:45px;height:45px;position:fixed;bottom:80px;right:30px;-webkit-transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505);transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505)}.dark-light-toggle .switcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;padding:.48em;border-radius:50%;border:1px solid rgba(255,255,255,0.1);background-color:#fbb142}.dark-light-toggle .switcher input[type='checkbox']{height:0;width:0;display:none}.dark-light-toggle .switcher input[type='checkbox']:checked+div{-webkit-transform:rotate(-900deg);transform:rotate(-900deg)}.dark-light-toggle .fa-adjust{font-size:1.8em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#f2f2f2}} +body.transition-theme,body.transition-theme *,body.transition-theme *:before,body.transition-theme *:after{-webkit-transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;-webkit-transition-delay:0 !important;transition-delay:0 !important}body.transition-sidebar,body.transition-sidebar *,body.transition-sidebar *:before,body.transition-sidebar *:after{-webkit-transition:100ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:100ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;-webkit-transition-delay:0 !important;transition-delay:0 !important}body[data-theme="dark"]{background-color:#121212}body[data-theme="dark"] .dark-light-toggle .switcher{background-color:#124b8c}body[data-theme="dark"] #app{background-color:#121212}body[data-theme="dark"] .toggle-container{color:#c8c8c8}body[data-theme="dark"] .toggle-container .fas.fa-th.fa-lg{color:#c8c8c8}body[data-theme="dark"] .toggle-container .fas.fa-list-ul.fa-lg{color:#c8c8c8}body[data-theme="dark"] .state-online{background-color:#4ba242}body[data-theme="dark"] .server-info-container{background-color:#1e1e1e;color:#e1e1e1;border:1px solid rgba(255,255,255,0.1);-webkit-box-shadow:0 2px 10px rgba(255,255,255,0.1);box-shadow:0 2px 10px rgba(255,255,255,0.1)}body[data-theme="dark"] .info-body ul li{border-bottom:1px solid rgba(255,255,255,0.2)}body[data-theme="dark"] .info-body ul li p{color:#fff}body[data-theme="dark"] .info-body ul li img{border:1px solid rgba(255,255,255,0.3)}body[data-theme="dark"] .info-body ul li:nth-child(-n+3){border:none}body[data-theme="dark"] .info-body ul li:nth-last-child(-n+3){border:none}body[data-theme="dark"] .info-body ul li:nth-child(n+4)::before{color:#959595}body[data-theme="dark"] .info-body ul li h4{color:#959595}body[data-theme="dark"] .info-body .cpu-bar h4,body[data-theme="dark"] .info-body .ram-bar h4,body[data-theme="dark"] .info-body .disk-bar h4{color:#959595}body[data-theme="dark"] .info-body .cpu-bar p,body[data-theme="dark"] .info-body .ram-bar p,body[data-theme="dark"] .info-body .disk-bar p{color:#fff !important}body[data-theme="dark"] .info-body .ui.progress{background-color:#111;border:1px solid rgba(255,255,255,0.15)}body[data-theme="dark"] .info-body .ui.progress.fine>.progress-bar{background-color:#1670c5 !important}body[data-theme="dark"] .info-body .ui.progress.warning>.progress-bar{background-color:#975fe4 !important}footer{background-color:#2f2f2f;color:#f2f2f2;font-size:14px}footer .footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;padding:1rem}footer .footer-container p{width:100%;margin-top:1rem}footer .footer-container a{color:#f2f2f2}footer .footer-container div{width:100%}#back-to-top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#ff9800;width:45px;height:45px;border-radius:50%;position:fixed;bottom:20px;right:30px;-webkit-transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;opacity:0;visibility:hidden;z-index:1000}#back-to-top:after{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f106";font-size:2.2em;color:#fff}#back-to-top:hover{cursor:pointer;background-color:#cc7a00}#back-to-top:active{background-color:#cc7a00}#back-to-top.show{opacity:1;visibility:visible}@media (max-width: 500px){#back-to-top{background-color:#975fe4}#back-to-top:hover,#back-to-top:active{background-color:#7b33dd}}@media (max-width: 500px){.sidebar-container{display:none}}.sidebar-container ul{position:fixed;top:50%;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;right:0}.sidebar-container ul li+li{margin-top:1.5em}.sidebar-container ul li{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.4em 0 0.4em 0;color:#f2f2f2;cursor:pointer;height:2em;-webkit-box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);width:35px;border-radius:0.5em 0 0 0.5em;border:1px solid rgba(255,255,255,0.2)}@media (min-width: 1400px){.sidebar-container ul li{height:2.6em;width:45px}}.sidebar-container ul li:first-child{background-color:#fbb142}.sidebar-container ul li:nth-child(2){background-color:#124b8c}.sidebar-container ul li:nth-child(3){background-color:#2f2f2f}.sidebar-container ul li:last-child{background-color:#555}.sidebar-container ul li i.fas{font-size:1em;width:36px;text-align:center;position:relative;top:0.04em}.sidebar-container ul li .fas.fa-sun{font-size:1.3em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-sun{font-size:1.6em}}.sidebar-container ul li .fas.fa-moon{font-size:1.2em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-moon{font-size:1.5em}}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-th{font-size:1.45em}}.sidebar-container ul li .fas.fa-list-ul{font-size:1.15em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-list-ul{font-size:1.5em}}.sidebar-container ul li span{font-size:1em;left:36px;position:absolute;opacity:0;visibility:hidden;font-weight:bold}.sidebar-container ul li:hover{width:110px !important;-webkit-box-shadow:0 2px 10px -1px rgba(0,0,0,0.1);box-shadow:0 2px 10px -1px rgba(0,0,0,0.1)}.sidebar-container ul li:hover span{visibility:visible;opacity:1;-webkit-transition-delay:90ms;transition-delay:90ms}.sidebar-container ul li:hover i{opacity:1}.sidebar-container ul li:hover i.fa-sun{-webkit-animation:rotateSun 3s linear infinite;animation:rotateSun 3s linear infinite}@-webkit-keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.sidebar-container ul li:hover i.fa-moon{-webkit-animation:rotateMoon 2s linear infinite;animation:rotateMoon 2s linear infinite}@-webkit-keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.sidebar-container ul li:hover i.fa-th{-webkit-animation:rotateTh 1s linear infinite;animation:rotateTh 1s linear infinite}@-webkit-keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}@keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}.sidebar-container ul li:hover i.fa-list-ul{-webkit-animation:rotateList 1s linear infinite;animation:rotateList 1s linear infinite}@-webkit-keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}@keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}header{background-color:#2a3950}.nav-bar{display:-ms-grid;display:grid;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-grid-columns:1fr 3fr;grid-template-columns:1fr 3fr;-ms-grid-rows:auto 1fr;grid-template-rows:auto 1fr;background-color:#2a3950;padding:.8em 0;width:100%;width:calc(100vw - 4em);max-width:1400px;margin:0 auto}@media (max-width: 900px){.nav-bar{width:calc(100vw - 3em)}}@media (max-width: 500px){.nav-bar{width:calc(100vw - 2em);-ms-grid-columns:auto 3fr;grid-template-columns:auto 3fr}}.nav-bar .logo{color:#f2f2f2;-ms-grid-column-align:start;justify-self:start;font-size:1.2em}.nav-bar a{color:#f2f2f2}.nav-bar li:last-child{background-color:#07090d}.icon-container{-ms-grid-column-align:end;justify-self:end;display:none}.icon-container .col{display:block;float:left;margin:1% 0 1% 1.6%}.icon-container .col:first-of-type{margin-left:0}.icon-container .cf:before,.icon-container .cf:after{content:' ';display:table}.icon-container .cf:after{clear:both}.icon-container .cf{*zoom:1}.icon-container .three{color:#ecf0f1;text-align:center}.icon-container .hamburger .line{width:50px;height:5px;background-color:#ecf0f1;display:block;margin:8px auto;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.icon-container .hamburger:hover{cursor:pointer}.icon-container #hamburger-icon.is-active{-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;-webkit-transition-delay:0.6s;transition-delay:0.6s;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.icon-container #hamburger-icon.is-active .line:nth-child(2){width:0px}.icon-container #hamburger-icon.is-active .line:nth-child(1),.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transition-delay:0.3s;transition-delay:0.3s}.icon-container #hamburger-icon.is-active .line:nth-child(1){-webkit-transform:translateY(13px);transform:translateY(13px)}.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transform:translateY(-13px) rotate(90deg);transform:translateY(-13px) rotate(90deg)}.nav-menu{-ms-grid-column-align:end;justify-self:end}.nav-menu li{display:inline-block}.nav-menu li a{display:block;padding:.8em 1.6em}@media screen and (max-width: 500px){.icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:scale(0.8);transform:scale(0.8)}.nav-menu{grid-column:1 / -1;-ms-grid-column-align:stretch;justify-self:stretch}.nav-menu ul{display:none}.nav-menu.active{grid-column:1 / -1}.nav-menu li{width:100%;border-bottom:1px solid rgba(255,255,255,0.3)}.nav-menu li:last-child{border:none;text-align:center}.nav-menu li a{padding:1em;font-weight:bold}}@media screen and (min-width: 500px){.nav-menu ul{display:block !important}}body[data-gridlist="list"] #app{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-gap:2em}@media (max-width: 1250px){body[data-gridlist="list"] #app{grid-row-gap:3em}}body[data-gridlist="list"] .server-info-container{-ms-grid-rows:1fr auto;grid-template-rows:1fr auto}body[data-gridlist="list"] .info-body ul{grid-template-areas:"state flag . system location memory boot ram disk down up cpu-bar cpu-bar ram-bar ram-bar disk-bar disk-bar" "name name name system location memory boot ram disk down up cpu-bar cpu-bar ram-bar ram-bar disk-bar disk-bar"}@media (max-width: 1250px){body[data-gridlist="list"] .info-body ul{grid-template-areas:"state state state name name name name name flag flag flag flag flag flag" "system location memory boot ram disk down up cpu-bar cpu-bar ram-bar ram-bar disk-bar disk-bar"}}@media (max-width: 900px){body[data-gridlist="list"] .info-body ul{grid-template-areas:"state state state state name name name name name name name flag flag flag" "system system system system system system system location location location location location location location" "memory memory memory memory memory memory memory boot boot boot boot boot boot boot" "ram ram ram ram ram ram ram disk disk disk disk disk disk disk" "down down down down down down down up up up up up up up" "cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar" "ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar" "disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar"}body[data-gridlist="list"] .info-body ul li{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}body[data-gridlist="list"] .info-body ul li:nth-child(n+4)::before{padding-bottom:0 !important}body[data-gridlist="list"] .info-body ul li:nth-last-child(-n+3):before{content:"" !important}body[data-gridlist="list"] .info-body ul li .cpu-bar,body[data-gridlist="list"] .info-body ul li .ram-bar,body[data-gridlist="list"] .info-body ul li .disk-bar{-ms-grid-columns:15% auto !important;grid-template-columns:15% auto !important;width:100%}body[data-gridlist="list"] .info-body ul li .cpu-bar h4,body[data-gridlist="list"] .info-body ul li .ram-bar h4,body[data-gridlist="list"] .info-body ul li .disk-bar h4{display:block !important}}body[data-gridlist="list"] .info-body ul li{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}body[data-gridlist="list"] .info-body ul li:nth-child(n+4):before{padding-bottom:0.5em}body[data-gridlist="list"] .info-body ul li:nth-child(1){-ms-grid-column:1;-ms-grid-column-span:1;grid-column:1 / 2;-ms-grid-column-align:start;justify-self:start}body[data-gridlist="list"] .info-body ul li:nth-child(2){-ms-grid-column:1;-ms-grid-column-span:2;grid-column:1 / 3;-ms-grid-column-align:start;justify-self:start}@media (max-width: 1250px){body[data-gridlist="list"] .info-body ul li:nth-child(2){-ms-grid-column:2;-ms-grid-column-span:10;grid-column:2 / 12;-ms-grid-column-align:center;justify-self:center}}body[data-gridlist="list"] .info-body ul li:nth-child(3){-ms-grid-column-align:end;justify-self:end;-ms-grid-column:2;-ms-grid-column-span:1;grid-column:2 / 3}@media (max-width: 1250px){body[data-gridlist="list"] .info-body ul li:nth-child(3){grid-column:1 / -1}}body[data-gridlist="list"] .info-body ul li:nth-child(n+4):nth-child(-n+11){border:none}body[data-gridlist="list"] .info-body ul li:nth-child(12){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:.6em}body[data-gridlist="list"] .info-body ul li:nth-child(12):before{content:"CPU"}body[data-gridlist="list"] .info-body ul li:nth-child(13){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:.6em}body[data-gridlist="list"] .info-body ul li:nth-child(13):before{content:"RAM"}body[data-gridlist="list"] .info-body ul li:nth-child(14){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:.6em}body[data-gridlist="list"] .info-body ul li:nth-child(14):before{content:"硬盘"}body[data-gridlist="list"] .info-body ul li .cpu-bar,body[data-gridlist="list"] .info-body ul li .ram-bar,body[data-gridlist="list"] .info-body ul li .disk-bar{-ms-grid-columns:1fr;grid-template-columns:1fr}body[data-gridlist="list"] .info-body ul li .cpu-bar h4,body[data-gridlist="list"] .info-body ul li .ram-bar h4,body[data-gridlist="list"] .info-body ul li .disk-bar h4{display:none}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;text-decoration:none}body{font-family:Microsoft Yahei, Avenir, Segoe UI, Hiragino Sans GB, STHeiti, Microsoft Sans Serif, WenQuanYi Micro Hei, sans-serif;overflow-x:hidden;background-color:#e5e5e5}#app{background-color:#e5e5e5;min-height:100vh;display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3, 1fr);grid-gap:3em;width:100%;width:calc(100vw - 6em);max-width:1400px;margin:4em auto;-ms-flex-line-pack:start;align-content:start}@media (max-width: 1250px){#app{-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3, 1fr);grid-gap:2.5em;width:calc(100vw - 4em)}}@media (max-width: 900px){#app{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-gap:2em;grid-row-gap:3em;width:calc(100vw - 3em)}}@media (max-width: 500px){#app{-ms-grid-columns:1fr;grid-template-columns:1fr;grid-gap:1em;grid-row-gap:3em;width:calc(100vw - 2em);margin:2em auto 4em}}.server-info-container{background-color:#f1f1f2;display:-ms-grid;display:grid;font-size:0.9em;border-radius:5px;border:1px solid #d9d9d9;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);-webkit-transition:-webkit-transform 500ms ease-in-out;transition:-webkit-transform 500ms ease-in-out;transition:transform 500ms ease-in-out;transition:transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out}.server-info-container .info-body{display:-ms-grid;display:grid}.server-info-container:hover{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.info-body ul{display:-ms-grid;display:grid;grid-template-areas:'state state name name flag flag' 'system system system location location location' 'memory memory memory boot boot boot' 'ram ram ram disk disk disk' 'down down down up up up' 'cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar cpu-bar' 'ram-bar ram-bar ram-bar ram-bar ram-bar ram-bar' 'disk-bar disk-bar disk-bar disk-bar disk-bar disk-bar'}.info-body ul li{list-style:none;padding:.6em;margin:0.3em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;word-break:break-all;border-bottom:1px solid #d9d9d9}.info-body ul li p{padding:0.3em 1em;font-size:0.6em}.info-body ul li h3{font-size:1.05em}.info-body ul li .state-online{background-color:#53b449;border-radius:4px}.info-body ul li .state-offline{background-color:#ef4b4c;border-radius:4px}.info-body ul li img{border:1px solid rgba(0,0,0,0.25);border-radius:6px}.info-body ul li:not(:nth-child(1))::before{font-weight:bold}.info-body ul li:nth-child(1){-ms-grid-row:1;-ms-grid-column:1;-ms-grid-column-span:2;grid-area:state;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-ms-grid-column-align:center;justify-self:center;border:none;font-size:1.2em}@media (max-width: 500px){.info-body ul li:nth-child(1){-ms-grid-column-align:start;justify-self:start}}.info-body ul li:nth-child(2){-ms-grid-row:1;-ms-grid-column:3;-ms-grid-column-span:2;grid-area:name;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-ms-grid-column-align:center;justify-self:center;border:none}.info-body ul li:nth-child(3){-ms-grid-row:1;-ms-grid-column:5;-ms-grid-column-span:2;grid-area:flag;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-ms-grid-column-align:center;justify-self:center;border:none}@media (max-width: 500px){.info-body ul li:nth-child(3){-ms-grid-column-align:end;justify-self:end}}.info-body ul li:nth-child(4){-ms-grid-row:2;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:system;text-transform:capitalize}.info-body ul li:nth-child(4):before{content:'系统'}.info-body ul li:nth-child(5){-ms-grid-row:2;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:location}.info-body ul li:nth-child(5):before{content:'位置'}.info-body ul li:nth-child(6){-ms-grid-row:3;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:memory}.info-body ul li:nth-child(6):before{content:'内存'}.info-body ul li:nth-child(7){-ms-grid-row:3;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:boot}.info-body ul li:nth-child(7):before{content:'在线'}.info-body ul li:nth-child(8){-ms-grid-row:4;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:ram}.info-body ul li:nth-child(8):before{content:'交换'}.info-body ul li:nth-child(9){-ms-grid-row:4;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:disk}.info-body ul li:nth-child(9):before{content:'硬盘'}.info-body ul li:nth-child(10){-ms-grid-row:5;-ms-grid-column:1;-ms-grid-column-span:3;grid-area:down}.info-body ul li:nth-child(10):before{content:'下载 \f884';font-family:"Font Awesome 5 Free";font-weight:900}.info-body ul li:nth-child(11){-ms-grid-row:5;-ms-grid-column:4;-ms-grid-column-span:3;grid-area:up}.info-body ul li:nth-child(11):before{content:'上传 \f161';font-family:"Font Awesome 5 Free";font-weight:900}.info-body ul li:nth-child(12){-ms-grid-row:6;-ms-grid-column:1;-ms-grid-column-span:6;grid-area:cpu-bar;border:none;display:inline-block;padding:.3em .6em}.info-body ul li:nth-child(13){-ms-grid-row:7;-ms-grid-column:1;-ms-grid-column-span:6;grid-area:ram-bar;border:none;display:inline-block;padding:.3em .6em}.info-body ul li:nth-child(14){-ms-grid-row:8;-ms-grid-column:1;-ms-grid-column-span:6;grid-area:disk-bar;border:none;display:inline-block;padding:.3em .6em .6em}.info-body ul li .cpu-bar,.info-body ul li .ram-bar,.info-body ul li .disk-bar{display:-ms-grid;display:grid;-ms-grid-columns:15% auto;grid-template-columns:15% auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.info-body ul li .cpu-bar div:first-child,.info-body ul li .ram-bar div:first-child,.info-body ul li .disk-bar div:first-child{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.info-body ul li .cpu-bar p,.info-body ul li .ram-bar p,.info-body ul li .disk-bar p{word-break:keep-all;font-size:0.8em}@media (max-width: 500px){.info-body ul li .cpu-bar p,.info-body ul li .ram-bar p,.info-body ul li .disk-bar p{font-size:1em}}.info-body ul li .cpu-bar h4,.info-body ul li .ram-bar h4,.info-body ul li .disk-bar h4{font-weight:bold}.info-body:nth-last-child(-n+3) .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;background-image:linear-gradient(135deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.info-body:nth-last-child(-n+3) .progress-bar,.info-body:nth-last-child(-n+3) .ui.progress{background-color:lightgray;background-size:40px 40px;border-radius:4px}.info-body:nth-last-child(-n+3) .ui.progress{border:1px solid #bfbfbf}.info-body:nth-last-child(-n+3) .ui.progress.fine .progress-bar{background-color:#53b449}.info-body:nth-last-child(-n+3) .ui.progress.warning .progress-bar{background-color:#fbb142}.info-body:nth-last-child(-n+3) .ui.progress.error .progress-bar{background-color:#ef4b4c}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}.dark-light-toggle{display:none}@media (max-width: 500px){.dark-light-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;z-index:999;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:45px;height:45px;position:fixed;bottom:80px;right:30px;-webkit-transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505);transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505)}.dark-light-toggle .switcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;padding:.48em;border-radius:50%;border:1px solid rgba(255,255,255,0.1);background-color:#fbb142}.dark-light-toggle .switcher input[type='checkbox']{height:0;width:0;display:none}.dark-light-toggle .switcher input[type='checkbox']:checked+div{-webkit-transform:rotate(-900deg);transform:rotate(-900deg)}.dark-light-toggle .fa-adjust{font-size:1.8em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#f2f2f2}} diff --git a/resource/static/theme-daynight/css/passwd.css b/resource/static/theme-daynight/css/passwd.css new file mode 100644 index 0000000..2515f90 --- /dev/null +++ b/resource/static/theme-daynight/css/passwd.css @@ -0,0 +1 @@ +footer{background-color:#2f2f2f;color:#f2f2f2;font-size:14px}footer .footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;padding:1rem}footer .footer-container p{width:100%;margin-top:1rem}footer .footer-container a{color:#f2f2f2}footer .footer-container div{width:100%}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;text-decoration:none}body{font-family:Microsoft Yahei, Avenir, Segoe UI, Hiragino Sans GB, STHeiti, Microsoft Sans Serif, WenQuanYi Micro Hei, sans-serif;overflow-x:hidden;min-height:100vh;display:-ms-grid;display:grid;-ms-grid-rows:1fr auto;grid-template-rows:1fr auto;background-color:#334561;color:#e1e1e1}article{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.passwd-container{display:-ms-grid;display:grid;min-height:320px;background-color:#e5e5e5;color:#121212;border-radius:5px;padding:1em 1.2em;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.3);box-shadow:0 2px 5px rgba(0,0,0,0.3);width:100%;max-width:400px;width:calc(100% - 2em);margin:0 auto}.passwd-container input[type='password']{border:1px solid #a6a6a6;border-radius:4px;font-size:1em;padding-left:2em;min-width:100px}.passwd-container input[type='password']::-webkit-input-placeholder{text-align:right;padding-right:1em}.passwd-container input[type='password']:-ms-input-placeholder{text-align:right;padding-right:1em}.passwd-container input[type='password']::-ms-input-placeholder{text-align:right;padding-right:1em}.passwd-container input[type='password']::placeholder{text-align:right;padding-right:1em}.passwd-container button{margin-top:1em;border:none;background:none;border:1px solid #a6a6a6;border-radius:4px;background-color:#1670c5;color:#f2f2f2;font-size:1em;font-weight:bold;letter-spacing:1px;cursor:pointer}.passwd-container button:hover{background-color:#1e85e6}.passwd-container .passwd-img{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}h2{font-size:2em;text-align:center;color:#3c3c3c}h4{text-align:left;font-size:1em;font-weight:normal;letter-spacing:1px;height:1.5em}form{display:-ms-grid;display:grid;position:relative}img{display:block;max-width:100%;width:50px}svg{height:1em;width:1.34em;position:absolute;top:44px;left:10px}svg g{fill:#494949} diff --git a/resource/static/theme-daynight/css/service.css b/resource/static/theme-daynight/css/service.css index ba771b5..9fa537c 100644 --- a/resource/static/theme-daynight/css/service.css +++ b/resource/static/theme-daynight/css/service.css @@ -1 +1 @@ -body.transition-theme,body.transition-theme *,body.transition-theme *:before,body.transition-theme *:after{-webkit-transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;-webkit-transition-delay:0 !important;transition-delay:0 !important}body[data-theme='dark']{background-color:#121212}body[data-theme='dark'] .monitor-header h2{color:#e1e1e1}body[data-theme='dark'] .monitor-header h2 span{color:#a6a6a6}body[data-theme='dark'] .monitor-info-container{background-color:#1e1e1e;color:#e1e1e1;border:1px solid rgba(255,255,255,0.1);-webkit-box-shadow:0 2px 10px rgba(255,255,255,0.1);box-shadow:0 2px 10px rgba(255,255,255,0.1)}body[data-theme='dark'] .monitor-info-container .monitor-state-text{color:#959595}body[data-theme='dark'] .corner{background-color:#161616;border:1px solid rgba(255,255,255,0.15)}body[data-theme='dark'] .corner.good{background-color:#46973d}body[data-theme='dark'] .corner.warning{background-color:#fa9c10}body[data-theme='dark'] .corner.danger{background-color:#940d0e}body[data-theme='dark'] .corner:hover{background-color:#2b2b2b}body[data-theme='dark'] .monitor-state-dot{background:#46973d}body[data-theme='dark'] .monitor-state-dot.warning{color:#faa11a;background:#faa11a}body[data-theme='dark'] .monitor-state-dot:after{background:#46973d}body[data-theme='dark'] .sub-content{color:#f2f2f2;background-color:#092f52;border:1px solid rgba(255,255,255,0.1);position:relative;z-index:10}body[data-theme='dark'] .sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-top:.5em solid #092f52;bottom:-.5em}@media (max-width: 900px){body[data-theme='dark'] .sub-content{position:relative;z-index:10}body[data-theme='dark'] .sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-bottom:.5em solid #092f52;top:-.5em}}body[data-theme='dark'] .service-mobile-toggle.smt-active ul li:nth-child(2){background-color:#124b8c}footer{background-color:#2f2f2f;color:#f2f2f2;font-size:14px}footer .footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;padding:1rem}footer .footer-container p{width:100%;margin-top:1rem}footer .footer-container a{color:#f2f2f2}footer .footer-container div{width:100%}#back-to-top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#ff9800;width:45px;height:45px;border-radius:50%;position:fixed;bottom:20px;right:30px;-webkit-transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;opacity:0;visibility:hidden;z-index:1000}#back-to-top:after{font-family:'Font Awesome 5 Free';font-weight:900;content:"\f106";font-size:2.2em;color:#fff}#back-to-top:hover{cursor:pointer;background-color:#cc7a00}#back-to-top:active{background-color:#cc7a00}#back-to-top.show{opacity:1;visibility:visible}@media (max-width: 500px){#back-to-top{background-color:#975fe4}#back-to-top:hover,#back-to-top:active{background-color:#7b33dd}}@media (max-width: 500px){.sidebar-container{display:none}}.sidebar-container ul{position:fixed;top:50%;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;right:0}.sidebar-container ul li+li{margin-top:1.5em}.sidebar-container ul li{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.4em 0 0.4em 0;color:#f2f2f2;cursor:pointer;height:2em;-webkit-box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);width:35px;border-radius:0.5em 0 0 0.5em;border:1px solid rgba(255,255,255,0.2)}@media (min-width: 1400px){.sidebar-container ul li{height:2.6em;width:45px}}.sidebar-container ul li:first-child{background-color:#fbb142}.sidebar-container ul li:nth-child(2){background-color:#124b8c}.sidebar-container ul li:nth-child(3){background-color:#2f2f2f}.sidebar-container ul li:last-child{background-color:#555}.sidebar-container ul li i.fas{font-size:1em;width:36px;text-align:center;position:relative;top:0.04em}.sidebar-container ul li .fas.fa-sun{font-size:1.3em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-sun{font-size:1.6em}}.sidebar-container ul li .fas.fa-moon{font-size:1.2em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-moon{font-size:1.5em}}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-th{font-size:1.45em}}.sidebar-container ul li .fas.fa-list-ul{font-size:1.15em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-list-ul{font-size:1.5em}}.sidebar-container ul li span{font-size:1em;left:36px;position:absolute;opacity:0;visibility:hidden;font-weight:bold}.sidebar-container ul li:hover{width:110px !important;-webkit-box-shadow:0 2px 10px -1px rgba(0,0,0,0.1);box-shadow:0 2px 10px -1px rgba(0,0,0,0.1)}.sidebar-container ul li:hover span{visibility:visible;opacity:1;-webkit-transition-delay:90ms;transition-delay:90ms}.sidebar-container ul li:hover i{opacity:1}.sidebar-container ul li:hover i.fa-sun{-webkit-animation:rotateSun 3s linear infinite;animation:rotateSun 3s linear infinite}@-webkit-keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.sidebar-container ul li:hover i.fa-moon{-webkit-animation:rotateMoon 2s linear infinite;animation:rotateMoon 2s linear infinite}@-webkit-keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.sidebar-container ul li:hover i.fa-th{-webkit-animation:rotateTh 1s linear infinite;animation:rotateTh 1s linear infinite}@-webkit-keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}@keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}.sidebar-container ul li:hover i.fa-list-ul{-webkit-animation:rotateList 1s linear infinite;animation:rotateList 1s linear infinite}@-webkit-keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}@keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}header{background-color:#2a3950}.nav-bar{display:-ms-grid;display:grid;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-grid-columns:1fr 3fr;grid-template-columns:1fr 3fr;-ms-grid-rows:auto 1fr;grid-template-rows:auto 1fr;background-color:#2a3950;padding:.8em 0;width:100%;width:calc(100vw - 4em);max-width:1400px;margin:0 auto}@media (max-width: 900px){.nav-bar{width:calc(100vw - 3em)}}@media (max-width: 500px){.nav-bar{width:calc(100vw - 2em);-ms-grid-columns:auto 3fr;grid-template-columns:auto 3fr}}.nav-bar .logo{color:#f2f2f2;-ms-grid-column-align:start;justify-self:start;font-size:1.2em}.nav-bar a{color:#f2f2f2}.nav-bar li:last-child{background-color:#07090d}.icon-container{-ms-grid-column-align:end;justify-self:end;display:none}.icon-container .col{display:block;float:left;margin:1% 0 1% 1.6%}.icon-container .col:first-of-type{margin-left:0}.icon-container .cf:before,.icon-container .cf:after{content:' ';display:table}.icon-container .cf:after{clear:both}.icon-container .cf{*zoom:1}.icon-container .three{color:#ecf0f1;text-align:center}.icon-container .hamburger .line{width:50px;height:5px;background-color:#ecf0f1;display:block;margin:8px auto;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.icon-container .hamburger:hover{cursor:pointer}.icon-container #hamburger-icon.is-active{-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;-webkit-transition-delay:0.6s;transition-delay:0.6s;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.icon-container #hamburger-icon.is-active .line:nth-child(2){width:0px}.icon-container #hamburger-icon.is-active .line:nth-child(1),.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transition-delay:0.3s;transition-delay:0.3s}.icon-container #hamburger-icon.is-active .line:nth-child(1){-webkit-transform:translateY(13px);transform:translateY(13px)}.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transform:translateY(-13px) rotate(90deg);transform:translateY(-13px) rotate(90deg)}.nav-menu{-ms-grid-column-align:end;justify-self:end}.nav-menu li{display:inline-block}.nav-menu li a{display:block;padding:.8em 1.6em}@media screen and (max-width: 500px){.icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:scale(0.8);transform:scale(0.8)}.nav-menu{grid-column:1 / -1;-ms-grid-column-align:stretch;justify-self:stretch}.nav-menu ul{display:none}.nav-menu.active{grid-column:1 / -1}.nav-menu li{width:100%;border-bottom:1px solid rgba(255,255,255,0.3)}.nav-menu li:last-child{border:none}.nav-menu li a{padding:1em;font-weight:bold}}@media screen and (min-width: 500px){.nav-menu ul{display:block !important}}body[data-gridlist="grid"] .monitor-container{-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4, 1fr);-ms-grid-rows:1fr;grid-template-rows:1fr}@media (max-width: 1250px){body[data-gridlist="grid"] .monitor-container{-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3, 1fr)}}@media (max-width: 900px){body[data-gridlist="grid"] .monitor-container{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr}}@media (max-width: 500px){body[data-gridlist="grid"] .monitor-container{grid-gap:1em;grid-row-gap:3em}}body[data-gridlist="grid"] .monitor-info-container{grid-template-areas:"status name name uptime" "corner corner corner corner";grid-row-gap:0.8em}@media (max-width: 500px){body[data-gridlist="grid"] .monitor-info-container{grid-template-areas:"name name name name" "status status uptime uptime" "corner corner corner corner";-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-row-gap:0.3em}}@media (max-width: 500px){body[data-gridlist="grid"] .monitor-info-container .monitor-name{padding:0}}body[data-gridlist="grid"] .corner-container{-ms-grid-columns:(1fr)[6];grid-template-columns:repeat(6, 1fr);-ms-grid-rows:(1fr)[5];grid-template-rows:repeat(5, 1fr);grid-gap:1em}@media (max-width: 1250px){body[data-gridlist="grid"] .corner-container{grid-gap:0.9em}}@media (max-width: 900px){body[data-gridlist="grid"] .corner-container{grid-gap:1em}}@media (max-width: 500px){body[data-gridlist="grid"] .corner-container{grid-gap:0.6em}}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;text-decoration:none}body{font-family:Microsoft Yahei, Avenir, Segoe UI, Hiragino Sans GB, STHeiti, Microsoft Sans Serif, WenQuanYi Micro Hei, sans-serif;overflow-x:hidden;background-color:#e5e5e5}article{display:-ms-grid;display:grid;-ms-grid-rows:auto 1fr auto;grid-template-rows:auto 1fr auto;min-height:100vh;-ms-grid-columns:100%;grid-template-columns:100%}main{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;width:100%;width:calc(100vw - 6em);max-width:1400px;margin:2em auto 4em;-ms-flex-line-pack:start;align-content:start}@media (max-width: 1250px){main{width:calc(100vw - 4em)}}@media (max-width: 900px){main{width:calc(100vw - 3em)}}@media (max-width: 500px){main{width:calc(100vw - 2em)}}.monitor-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;font-size:1.6em;color:#2f2f2f;padding-bottom:1.5em;line-height:1.5em}@media (max-width: 500px){.monitor-header{font-size:1.3em}}.monitor-header h4{font-size:1.1rem;color:#737373}.monitor-container{display:-ms-grid;display:grid;grid-gap:2.5em}@media (max-width: 500px){.monitor-container{grid-gap:3em}}.monitor-info-container{display:-ms-grid;display:grid;grid-template-areas:'status name corner uptime';-ms-grid-columns:auto 1fr 10fr 1fr;grid-template-columns:auto 1fr 10fr 1fr;-ms-grid-rows:auto;grid-template-rows:auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.6em 0.5em;background-color:#f1f1f2;border-radius:5px;border:1px solid #d9d9d9;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24)}@media (max-width: 1250px){.monitor-info-container{grid-template-areas:'status name name uptime' 'corner corner corner corner'}}@media (max-width: 500px){.monitor-info-container{grid-row-gap:0.6em}}.monitor-info-container .monitor-state{-ms-grid-row:1;-ms-grid-column:1;grid-area:status;padding:.5em}.monitor-info-container .monitor-name{-ms-grid-row:1;-ms-grid-column:2;grid-area:name;padding:.5em;-ms-grid-column-align:center;justify-self:center;word-break:keep-all;font-weight:bold}.monitor-info-container .monitor-uptime{-ms-grid-row:1;-ms-grid-column:4;grid-area:uptime;padding:.5em;-ms-grid-column-align:center;justify-self:center}.monitor-info-container .corner-container{-ms-grid-row:1;-ms-grid-column:3;grid-area:corner}.monitor-info-container .monitor-state-text{padding-left:.5em;word-break:keep-all}.monitor-info-container .monitor-state-dot{width:13px;height:13px;display:inline-block;border-radius:50%;color:#53b449;background:#53b449;position:relative;-webkit-transform:none;transform:none}@media (max-width: 500px){.monitor-info-container .monitor-state-dot{width:11px;height:11px}}.monitor-info-container .monitor-state-dot.warning{color:#fbb142;background:#fbb142}.monitor-info-container .monitor-state-dot.danger{color:#ef4b4c;background:#ef4b4c}.monitor-info-container .monitor-state-dot:after{content:'';opacity:1;width:100%;height:100%;position:absolute;top:0;left:0;background:#53b449;border-radius:50%;-webkit-animation:dotwave 1.5s infinite;animation:dotwave 1.5s infinite}.monitor-info-container .monitor-state-dot:before{content:'';width:100%;height:100%;opacity:0.2;border-radius:50%;position:absolute;top:0;left:0;background:#53b449;-webkit-animation:dotwave 2.5s infinite;animation:dotwave 2.5s infinite;z-index:3}.monitor-info-container .monitor-state-dot.warning:after,.monitor-info-container .monitor-state-dot.warning:before{background:#fbb142}.monitor-info-container .monitor-state-dot.danger:after,.monitor-info-container .monitor-state-dot.danger:before{background:#ef4b4c}@-webkit-keyframes dotwave{0%{opacity:0.6}70%{opacity:0;-webkit-transform:scale(2.5);transform:scale(2.5)}100%{opacity:0.1}}@keyframes dotwave{0%{opacity:0.6}70%{opacity:0;-webkit-transform:scale(2.5);transform:scale(2.5)}100%{opacity:0.1}}.corner-container{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[30];grid-template-columns:repeat(30, 1fr);-ms-grid-rows:1fr;grid-template-rows:1fr;grid-gap:0.5em;padding:.5em;-ms-flex-pack:distribute;justify-content:space-around}@media (max-width: 900px){.corner-container{-ms-grid-columns:(1fr)[15];grid-template-columns:repeat(15, 1fr);-ms-grid-rows:1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:0.8em}}@media (max-width: 500px){.corner-container{grid-gap:0.4em;padding:0}}.corner-container .corner{background-color:lightgrey;cursor:pointer;position:relative;border-radius:5px}.corner-container .corner.good{background-color:#53b449}.corner-container .corner.warning{background-color:#fbb142}.corner-container .corner.danger{background-color:#ef4b4c}.corner-container .corner:hover{background-color:grey;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24)}.corner-container .corner:before{content:'';float:left;padding-top:100%}.corner-container .corner:hover .sub-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:fixed}.sub-content{display:none;color:#f2f2f2;background-color:#2a3950;padding:0.3em 1em;z-index:999;position:relative;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform-origin:bottom right 2cm;transform-origin:bottom right 2cm;-webkit-transition:all ease-in-out 200ms;transition:all ease-in-out 200ms;border-radius:6px;line-height:1.2em}.sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-top:.5em solid #2a3950;bottom:-.5em}@media (max-width: 500px){.sub-content{position:relative;z-index:10}.sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-bottom:.5em solid #2a3950;top:-.5em}}.sub-content li{list-style:none}.sub-content li:first-child{color:#a6a6a6;font-size:0.8em;letter-spacing:1px}.sub-content li:nth-child(2){font-size:1.1em;line-height:1.35em}.sub-content li:last-child{color:#bfbfbf;font-size:0.8em}@media (max-width: 500px){.service-mobile-toggle.smt-active ul li:first-child{z-index:10;position:fixed;bottom:80px;right:30px;-webkit-transform:rotate(495deg);transform:rotate(495deg)}.service-mobile-toggle.smt-active ul li:nth-child(2){z-index:4;position:fixed;bottom:80px;right:85px;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-delay:0.05s;transition-delay:0.05s;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.service-mobile-toggle.smt-active ul li:last-child{z-index:3;position:fixed;bottom:80px;right:140px;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-delay:0.1s;transition-delay:0.1s;-webkit-transform:rotate(180deg);transform:rotate(180deg)}}.service-mobile-toggle{display:none}@media (max-width: 500px){.service-mobile-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;z-index:999;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:45px;height:45px;position:fixed;bottom:80px;right:30px;-webkit-transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505);transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505)}.service-mobile-toggle ul li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;list-style:none;border-radius:50%;min-width:45px;min-height:45px;cursor:pointer;-webkit-transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important}.service-mobile-toggle ul li:first-child{z-index:5;position:fixed;bottom:80px;right:30px;background-color:#02a898}.service-mobile-toggle ul li:nth-child(2){z-index:4;position:fixed;bottom:80px;right:30px;-webkit-transform:scale(0);transform:scale(0);background-color:#fbb142}.service-mobile-toggle ul li:last-child{z-index:3;position:fixed;bottom:80px;right:30px;-webkit-transform:scale(0);transform:scale(0);background-color:#626262}.service-mobile-toggle .switcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;padding:.48em}.service-mobile-toggle .switcher input[type='checkbox']{height:0;width:0;display:none}.service-mobile-toggle .switcher input[type='checkbox']:checked+div{-webkit-transform:rotate(-900deg);transform:rotate(-900deg)}.service-mobile-toggle .switcher input[type='checkbox'][name='service-grid']:checked+div{-webkit-transform:rotate(-630deg);transform:rotate(-630deg)}.service-mobile-toggle .fa-plus,.service-mobile-toggle .fa-grip-horizontal,.service-mobile-toggle .fa-adjust{font-size:1.8em;color:#f2f2f2}} +body.transition-theme,body.transition-theme *,body.transition-theme *:before,body.transition-theme *:after{-webkit-transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;-webkit-transition-delay:0 !important;transition-delay:0 !important}body[data-theme='dark']{background-color:#121212}body[data-theme='dark'] .monitor-header h2{color:#e1e1e1}body[data-theme='dark'] .monitor-header h2 span{color:#a6a6a6}body[data-theme='dark'] .monitor-info-container{background-color:#1e1e1e;color:#e1e1e1;border:1px solid rgba(255,255,255,0.1);-webkit-box-shadow:0 2px 10px rgba(255,255,255,0.1);box-shadow:0 2px 10px rgba(255,255,255,0.1)}body[data-theme='dark'] .monitor-info-container .monitor-state-text{color:#959595}body[data-theme='dark'] .corner{background-color:#161616;border:1px solid rgba(255,255,255,0.15)}body[data-theme='dark'] .corner.good{background-color:#46973d}body[data-theme='dark'] .corner.warning{background-color:#fa9c10}body[data-theme='dark'] .corner.danger{background-color:#940d0e}body[data-theme='dark'] .corner:hover{background-color:#2b2b2b}body[data-theme='dark'] .monitor-state-dot{background:#46973d}body[data-theme='dark'] .monitor-state-dot.warning{color:#faa11a;background:#faa11a}body[data-theme='dark'] .monitor-state-dot:after{background:#46973d}body[data-theme='dark'] .sub-content{color:#f2f2f2;background-color:#092f52;border:1px solid rgba(255,255,255,0.1);position:relative;z-index:10}body[data-theme='dark'] .sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-top:.5em solid #092f52;bottom:-.5em}@media (max-width: 900px){body[data-theme='dark'] .sub-content{position:relative;z-index:10}body[data-theme='dark'] .sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-bottom:.5em solid #092f52;top:-.5em}}body[data-theme='dark'] .service-mobile-toggle.smt-active ul li:nth-child(2){background-color:#124b8c}footer{background-color:#2f2f2f;color:#f2f2f2;font-size:14px}footer .footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;padding:1rem}footer .footer-container p{width:100%;margin-top:1rem}footer .footer-container a{color:#f2f2f2}footer .footer-container div{width:100%}#back-to-top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#ff9800;width:45px;height:45px;border-radius:50%;position:fixed;bottom:20px;right:30px;-webkit-transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;transition:background-color 0.3s, opacity 0.5s, visibility 0.5s;opacity:0;visibility:hidden;z-index:1000}#back-to-top:after{font-family:'Font Awesome 5 Free';font-weight:900;content:"\f106";font-size:2.2em;color:#fff}#back-to-top:hover{cursor:pointer;background-color:#cc7a00}#back-to-top:active{background-color:#cc7a00}#back-to-top.show{opacity:1;visibility:visible}@media (max-width: 500px){#back-to-top{background-color:#975fe4}#back-to-top:hover,#back-to-top:active{background-color:#7b33dd}}@media (max-width: 500px){.sidebar-container{display:none}}.sidebar-container ul{position:fixed;top:50%;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;right:0}.sidebar-container ul li+li{margin-top:1.5em}.sidebar-container ul li{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.4em 0 0.4em 0;color:#f2f2f2;cursor:pointer;height:2em;-webkit-box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);box-shadow:0 2px 3px -1px rgba(47,47,47,0.2);width:35px;border-radius:0.5em 0 0 0.5em;border:1px solid rgba(255,255,255,0.2)}@media (min-width: 1400px){.sidebar-container ul li{height:2.6em;width:45px}}.sidebar-container ul li:first-child{background-color:#fbb142}.sidebar-container ul li:nth-child(2){background-color:#124b8c}.sidebar-container ul li:nth-child(3){background-color:#2f2f2f}.sidebar-container ul li:last-child{background-color:#555}.sidebar-container ul li i.fas{font-size:1em;width:36px;text-align:center;position:relative;top:0.04em}.sidebar-container ul li .fas.fa-sun{font-size:1.3em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-sun{font-size:1.6em}}.sidebar-container ul li .fas.fa-moon{font-size:1.2em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-moon{font-size:1.5em}}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-th{font-size:1.45em}}.sidebar-container ul li .fas.fa-list-ul{font-size:1.15em}@media (min-width: 1400px){.sidebar-container ul li .fas.fa-list-ul{font-size:1.5em}}.sidebar-container ul li span{font-size:1em;left:36px;position:absolute;opacity:0;visibility:hidden;font-weight:bold}.sidebar-container ul li:hover{width:110px !important;-webkit-box-shadow:0 2px 10px -1px rgba(0,0,0,0.1);box-shadow:0 2px 10px -1px rgba(0,0,0,0.1)}.sidebar-container ul li:hover span{visibility:visible;opacity:1;-webkit-transition-delay:90ms;transition-delay:90ms}.sidebar-container ul li:hover i{opacity:1}.sidebar-container ul li:hover i.fa-sun{-webkit-animation:rotateSun 3s linear infinite;animation:rotateSun 3s linear infinite}@-webkit-keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotateSun{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.sidebar-container ul li:hover i.fa-moon{-webkit-animation:rotateMoon 2s linear infinite;animation:rotateMoon 2s linear infinite}@-webkit-keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes rotateMoon{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.sidebar-container ul li:hover i.fa-th{-webkit-animation:rotateTh 1s linear infinite;animation:rotateTh 1s linear infinite}@-webkit-keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}@keyframes rotateTh{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(180deg);transform:perspective(400px) rotateY(180deg)}}.sidebar-container ul li:hover i.fa-list-ul{-webkit-animation:rotateList 1s linear infinite;animation:rotateList 1s linear infinite}@-webkit-keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}@keyframes rotateList{0%{-webkit-transform:perspective(400px) rotateY(0);transform:perspective(400px) rotateY(0)}100%{-webkit-transform:perspective(400px) rotateY(-180deg);transform:perspective(400px) rotateY(-180deg)}}header{background-color:#2a3950}.nav-bar{display:-ms-grid;display:grid;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-grid-columns:1fr 3fr;grid-template-columns:1fr 3fr;-ms-grid-rows:auto 1fr;grid-template-rows:auto 1fr;background-color:#2a3950;padding:.8em 0;width:100%;width:calc(100vw - 4em);max-width:1400px;margin:0 auto}@media (max-width: 900px){.nav-bar{width:calc(100vw - 3em)}}@media (max-width: 500px){.nav-bar{width:calc(100vw - 2em);-ms-grid-columns:auto 3fr;grid-template-columns:auto 3fr}}.nav-bar .logo{color:#f2f2f2;-ms-grid-column-align:start;justify-self:start;font-size:1.2em}.nav-bar a{color:#f2f2f2}.nav-bar li:last-child{background-color:#07090d}.icon-container{-ms-grid-column-align:end;justify-self:end;display:none}.icon-container .col{display:block;float:left;margin:1% 0 1% 1.6%}.icon-container .col:first-of-type{margin-left:0}.icon-container .cf:before,.icon-container .cf:after{content:' ';display:table}.icon-container .cf:after{clear:both}.icon-container .cf{*zoom:1}.icon-container .three{color:#ecf0f1;text-align:center}.icon-container .hamburger .line{width:50px;height:5px;background-color:#ecf0f1;display:block;margin:8px auto;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.icon-container .hamburger:hover{cursor:pointer}.icon-container #hamburger-icon.is-active{-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;-webkit-transition-delay:0.6s;transition-delay:0.6s;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.icon-container #hamburger-icon.is-active .line:nth-child(2){width:0px}.icon-container #hamburger-icon.is-active .line:nth-child(1),.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transition-delay:0.3s;transition-delay:0.3s}.icon-container #hamburger-icon.is-active .line:nth-child(1){-webkit-transform:translateY(13px);transform:translateY(13px)}.icon-container #hamburger-icon.is-active .line:nth-child(3){-webkit-transform:translateY(-13px) rotate(90deg);transform:translateY(-13px) rotate(90deg)}.nav-menu{-ms-grid-column-align:end;justify-self:end}.nav-menu li{display:inline-block}.nav-menu li a{display:block;padding:.8em 1.6em}@media screen and (max-width: 500px){.icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:scale(0.8);transform:scale(0.8)}.nav-menu{grid-column:1 / -1;-ms-grid-column-align:stretch;justify-self:stretch;width:100%}.nav-menu ul{display:none}.nav-menu.active{grid-column:1 / -1}.nav-menu li{width:100%;border-bottom:1px solid rgba(255,255,255,0.3)}.nav-menu li:last-child{border:none;text-align:center}.nav-menu li a{padding:1em;font-weight:bold}}@media screen and (min-width: 500px){.nav-menu ul{display:block !important}}body[data-gridlist="grid"] .monitor-container{-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4, 1fr);-ms-grid-rows:1fr;grid-template-rows:1fr}@media (max-width: 1250px){body[data-gridlist="grid"] .monitor-container{-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3, 1fr)}}@media (max-width: 900px){body[data-gridlist="grid"] .monitor-container{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr}}@media (max-width: 500px){body[data-gridlist="grid"] .monitor-container{grid-gap:1em;grid-row-gap:3em}}body[data-gridlist="grid"] .monitor-info-container{grid-template-areas:"status name name uptime" "corner corner corner corner";grid-row-gap:0.8em}@media (max-width: 500px){body[data-gridlist="grid"] .monitor-info-container{grid-template-areas:"name name name name" "status status uptime uptime" "corner corner corner corner";-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-row-gap:0.3em}}@media (max-width: 500px){body[data-gridlist="grid"] .monitor-info-container .monitor-name{padding:0}}body[data-gridlist="grid"] .corner-container{-ms-grid-columns:(1fr)[6];grid-template-columns:repeat(6, 1fr);-ms-grid-rows:(1fr)[5];grid-template-rows:repeat(5, 1fr);grid-gap:1em}@media (max-width: 1250px){body[data-gridlist="grid"] .corner-container{grid-gap:0.9em}}@media (max-width: 900px){body[data-gridlist="grid"] .corner-container{grid-gap:1em}}@media (max-width: 500px){body[data-gridlist="grid"] .corner-container{grid-gap:0.6em}}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;text-decoration:none}body{font-family:Microsoft Yahei, Avenir, Segoe UI, Hiragino Sans GB, STHeiti, Microsoft Sans Serif, WenQuanYi Micro Hei, sans-serif;overflow-x:hidden;background-color:#e5e5e5}article{display:-ms-grid;display:grid;-ms-grid-rows:auto 1fr auto;grid-template-rows:auto 1fr auto;min-height:100vh;-ms-grid-columns:100%;grid-template-columns:100%}main{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;width:100%;width:calc(100vw - 6em);max-width:1400px;margin:2em auto 4em;-ms-flex-line-pack:start;align-content:start}@media (max-width: 1250px){main{width:calc(100vw - 4em)}}@media (max-width: 900px){main{width:calc(100vw - 3em)}}@media (max-width: 500px){main{width:calc(100vw - 2em)}}.monitor-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;font-size:1.6em;color:#2f2f2f;padding-bottom:1.5em;line-height:1.5em}@media (max-width: 500px){.monitor-header{font-size:1.3em}}.monitor-header h4{font-size:1.1rem;color:#737373}.monitor-container{display:-ms-grid;display:grid;grid-gap:2.5em}@media (max-width: 500px){.monitor-container{grid-gap:3em}}.monitor-info-container{display:-ms-grid;display:grid;grid-template-areas:'status name corner uptime';-ms-grid-columns:auto 1fr 10fr 1fr;grid-template-columns:auto 1fr 10fr 1fr;-ms-grid-rows:auto;grid-template-rows:auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.6em 0.5em;background-color:#f1f1f2;border-radius:5px;border:1px solid #d9d9d9;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24)}@media (max-width: 1250px){.monitor-info-container{grid-template-areas:'status name name uptime' 'corner corner corner corner'}}@media (max-width: 500px){.monitor-info-container{grid-row-gap:0.6em}}.monitor-info-container .monitor-state{-ms-grid-row:1;-ms-grid-column:1;grid-area:status;padding:.5em}.monitor-info-container .monitor-name{-ms-grid-row:1;-ms-grid-column:2;grid-area:name;padding:.5em;-ms-grid-column-align:center;justify-self:center;word-break:keep-all;font-weight:bold}.monitor-info-container .monitor-uptime{-ms-grid-row:1;-ms-grid-column:4;grid-area:uptime;padding:.5em;-ms-grid-column-align:center;justify-self:center}.monitor-info-container .corner-container{-ms-grid-row:1;-ms-grid-column:3;grid-area:corner}.monitor-info-container .monitor-state-text{padding-left:.5em;word-break:keep-all}.monitor-info-container .monitor-state-dot{width:13px;height:13px;display:inline-block;border-radius:50%;color:#53b449;background:#53b449;position:relative;-webkit-transform:none;transform:none}@media (max-width: 500px){.monitor-info-container .monitor-state-dot{width:11px;height:11px}}.monitor-info-container .monitor-state-dot.warning{color:#fbb142;background:#fbb142}.monitor-info-container .monitor-state-dot.danger{color:#ef4b4c;background:#ef4b4c}.monitor-info-container .monitor-state-dot:after{content:'';opacity:1;width:100%;height:100%;position:absolute;top:0;left:0;background:#53b449;border-radius:50%;-webkit-animation:dotwave 1.5s infinite;animation:dotwave 1.5s infinite}.monitor-info-container .monitor-state-dot:before{content:'';width:100%;height:100%;opacity:0.2;border-radius:50%;position:absolute;top:0;left:0;background:#53b449;-webkit-animation:dotwave 2.5s infinite;animation:dotwave 2.5s infinite;z-index:3}.monitor-info-container .monitor-state-dot.warning:after,.monitor-info-container .monitor-state-dot.warning:before{background:#fbb142}.monitor-info-container .monitor-state-dot.danger:after,.monitor-info-container .monitor-state-dot.danger:before{background:#ef4b4c}@-webkit-keyframes dotwave{0%{opacity:0.6}70%{opacity:0;-webkit-transform:scale(2.5);transform:scale(2.5)}100%{opacity:0.1}}@keyframes dotwave{0%{opacity:0.6}70%{opacity:0;-webkit-transform:scale(2.5);transform:scale(2.5)}100%{opacity:0.1}}.corner-container{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[30];grid-template-columns:repeat(30, 1fr);-ms-grid-rows:1fr;grid-template-rows:1fr;grid-gap:0.5em;padding:.5em;-ms-flex-pack:distribute;justify-content:space-around}@media (max-width: 900px){.corner-container{-ms-grid-columns:(1fr)[15];grid-template-columns:repeat(15, 1fr);-ms-grid-rows:1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:0.8em}}@media (max-width: 500px){.corner-container{grid-gap:0.4em;padding:0}}.corner-container .corner{background-color:lightgrey;cursor:pointer;position:relative;border-radius:5px}.corner-container .corner.good{background-color:#53b449}.corner-container .corner.warning{background-color:#fbb142}.corner-container .corner.danger{background-color:#ef4b4c}.corner-container .corner:hover{background-color:grey;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 3px rgba(0,0,0,0.24)}.corner-container .corner:before{content:'';float:left;padding-top:100%}.corner-container .corner:hover .sub-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:fixed}.sub-content{display:none;color:#f2f2f2;background-color:#2a3950;padding:0.3em 1em;z-index:999;position:relative;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform-origin:bottom right 2cm;transform-origin:bottom right 2cm;-webkit-transition:all ease-in-out 200ms;transition:all ease-in-out 200ms;border-radius:6px;line-height:1.2em}.sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-top:.5em solid #2a3950;bottom:-.5em}@media (max-width: 500px){.sub-content{position:relative;z-index:10}.sub-content::after{content:'';width:0;height:0;display:block;position:absolute;z-index:10;border:0;border-left:.5em solid transparent;border-right:.5em solid transparent;margin-left:-.5em;left:50%;border-bottom:.5em solid #2a3950;top:-.5em}}.sub-content li{list-style:none}.sub-content li:first-child{color:#a6a6a6;font-size:0.8em;letter-spacing:1px}.sub-content li:nth-child(2){font-size:1.1em;line-height:1.35em}.sub-content li:last-child{color:#bfbfbf;font-size:0.8em}@media (max-width: 500px){.service-mobile-toggle.smt-active ul li:first-child{z-index:10;position:fixed;bottom:80px;right:30px;-webkit-transform:rotate(495deg);transform:rotate(495deg)}.service-mobile-toggle.smt-active ul li:nth-child(2){z-index:4;position:fixed;bottom:80px;right:85px;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-delay:0.05s;transition-delay:0.05s;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.service-mobile-toggle.smt-active ul li:last-child{z-index:3;position:fixed;bottom:80px;right:140px;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-delay:0.1s;transition-delay:0.1s;-webkit-transform:rotate(180deg);transform:rotate(180deg)}}.service-mobile-toggle{display:none}@media (max-width: 500px){.service-mobile-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;z-index:999;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:45px;height:45px;position:fixed;bottom:80px;right:30px;-webkit-transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505);transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505)}.service-mobile-toggle ul li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;list-style:none;border-radius:50%;min-width:45px;min-height:45px;cursor:pointer;-webkit-transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important;transition:all 400ms cubic-bezier(0.995, -0.265, 0.855, 0.505) !important}.service-mobile-toggle ul li:first-child{z-index:5;position:fixed;bottom:80px;right:30px;background-color:#02a898}.service-mobile-toggle ul li:nth-child(2){z-index:4;position:fixed;bottom:80px;right:30px;-webkit-transform:scale(0);transform:scale(0);background-color:#fbb142}.service-mobile-toggle ul li:last-child{z-index:3;position:fixed;bottom:80px;right:30px;-webkit-transform:scale(0);transform:scale(0);background-color:#626262}.service-mobile-toggle .switcher{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;padding:.48em}.service-mobile-toggle .switcher input[type='checkbox']{height:0;width:0;display:none}.service-mobile-toggle .switcher input[type='checkbox']:checked+div{-webkit-transform:rotate(-900deg);transform:rotate(-900deg)}.service-mobile-toggle .switcher input[type='checkbox'][name='service-grid']:checked+div{-webkit-transform:rotate(-630deg);transform:rotate(-630deg)}.service-mobile-toggle .fa-plus,.service-mobile-toggle .fa-grip-horizontal,.service-mobile-toggle .fa-adjust{font-size:1.8em;color:#f2f2f2}} diff --git a/resource/static/theme-daynight/js/main.js b/resource/static/theme-daynight/js/main.js index 9e0225c..1dc612f 100644 --- a/resource/static/theme-daynight/js/main.js +++ b/resource/static/theme-daynight/js/main.js @@ -1 +1 @@ -function callAllJsFiles(t){var e=document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("src",t),document.getElementsByTagName("head")[0].appendChild(e)}callAllJsFiles("/static/theme-daynight/js/mode.js?v202101301768"),callAllJsFiles("/static/theme-daynight/js/navtop.js?v202101301768"); \ No newline at end of file +function callAllJsFiles(t){var e=document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("src",t),document.getElementsByTagName("head")[0].appendChild(e)}callAllJsFiles("/static/theme-daynight/js/mode.js?v202102012266"),callAllJsFiles("/static/theme-daynight/js/navtop.js?v202102012266"); \ No newline at end of file diff --git a/resource/static/theme-daynight/js/navtop.js b/resource/static/theme-daynight/js/navtop.js index e3bfe3e..b44ba58 100644 --- a/resource/static/theme-daynight/js/navtop.js +++ b/resource/static/theme-daynight/js/navtop.js @@ -1 +1 @@ -$(document).ready((function(){$(".hamburger").click((function(){$(this).toggleClass("is-active"),$(".nav-menu ul").slideToggle("500","linear")}))}));var btn=$("#back-to-top");$(window).scroll((function(){$(window).scrollTop()>300?btn.addClass("show"):btn.removeClass("show")})),$(document).ready((function(){btn.on("click",(function(o){o.preventDefault(),$(".service-mobile-toggle").hasClass("smt-active")&&($(".service-mobile-toggle ").removeClass("smt-active"),$("html, body").animate({scrollTop:0},"300")),$("html, body").animate({scrollTop:0},"300")}))})); \ No newline at end of file +$(document).ready((function(){$(".hamburger").click((function(){$(this).toggleClass("is-active"),$(".nav-menu ul").slideToggle("fast","swing")}))}));var btn=$("#back-to-top");$(window).scroll((function(){$(window).scrollTop()>300?btn.addClass("show"):btn.removeClass("show")})),$(document).ready((function(){btn.on("click",(function(o){o.preventDefault(),$(".service-mobile-toggle").hasClass("smt-active")&&($(".service-mobile-toggle ").removeClass("smt-active"),$("html, body").animate({scrollTop:0},"300")),$("html, body").animate({scrollTop:0},"300")}))})); \ No newline at end of file diff --git a/resource/static/theme-daynight/js/service.js b/resource/static/theme-daynight/js/service.js index 87f5eda..f6b432e 100644 --- a/resource/static/theme-daynight/js/service.js +++ b/resource/static/theme-daynight/js/service.js @@ -1 +1 @@ -function callAllJsFiles(e){var t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("src",e),document.getElementsByTagName("head")[0].appendChild(t)}callAllJsFiles("/static/theme-daynight/js/navtop.js?v202101301768"),callAllJsFiles("/static/theme-daynight/js/mode.js?v202101301768"),callAllJsFiles("/static/theme-daynight/js/tooltip.js?v202101301768"),$(".corner").hover((function(){$(this).attr("aria-expanded","true"===$(this).attr("aria-expanded")?"false":"true")}));const hour=new Date(Date.now()).getHours();(hour>17||hour<4)&&(document.querySelector("input[name=service-theme]").checked=!0,document.getElementsByTagName("BODY")[0].setAttribute("data-theme","dark")),$(document).ready((function(){$(".service-mobile-toggle ul li:first-of-type").click((function(){$(".service-mobile-toggle").toggleClass("smt-active")}))})),$(document).on("click",(function(e){0==$(e.target).closest(".service-mobile-toggle").length&&$(".service-mobile-toggle").hasClass("smt-active")&&$(".service-mobile-toggle").toggleClass("smt-active")})); \ No newline at end of file +function callAllJsFiles(e){var t=document.createElement("script");t.setAttribute("type","text/javascript"),t.setAttribute("src",e),document.getElementsByTagName("head")[0].appendChild(t)}callAllJsFiles("/static/theme-daynight/js/navtop.js?v202102012266"),callAllJsFiles("/static/theme-daynight/js/mode.js?v202102012266"),callAllJsFiles("/static/theme-daynight/js/tooltip.js?v202102012266"),$(".corner").hover((function(){$(this).attr("aria-expanded","true"===$(this).attr("aria-expanded")?"false":"true")}));const hour=new Date(Date.now()).getHours();(hour>17||hour<4)&&(document.querySelector("input[name=service-theme]").checked=!0,document.getElementsByTagName("BODY")[0].setAttribute("data-theme","dark")),$(document).ready((function(){$(".service-mobile-toggle ul li:first-of-type").click((function(){$(".service-mobile-toggle").toggleClass("smt-active")}))})),$(document).on("click",(function(e){0==$(e.target).closest(".service-mobile-toggle").length&&$(".service-mobile-toggle").hasClass("smt-active")&&$(".service-mobile-toggle").toggleClass("smt-active")})); \ No newline at end of file diff --git a/resource/template/theme-daynight/home.html b/resource/template/theme-daynight/home.html index 2dc9cd3..c508c79 100644 --- a/resource/template/theme-daynight/home.html +++ b/resource/template/theme-daynight/home.html @@ -9,7 +9,7 @@ {{.Title}} - + @@ -35,7 +35,7 @@
  • 首页
  • 服务状态
  • {{if .Admin}} -
  • 管理后台
  • +
  • 管理后台
  • {{else}}
  • 登录
  • {{end}} @@ -149,7 +149,7 @@ - + diff --git a/resource/template/theme-daynight/service.html b/resource/template/theme-daynight/service.html index 1a9d95b..56d40d1 100644 --- a/resource/template/theme-daynight/service.html +++ b/resource/template/theme-daynight/service.html @@ -7,7 +7,7 @@ {{.Title}} - + @@ -34,7 +34,7 @@
  • 首页
  • 服务状态
  • {{if .Admin}} -
  • 管理后台
  • +
  • 管理后台
  • {{else}}
  • 登录
  • {{end}} @@ -126,7 +126,7 @@ - + diff --git a/resource/template/theme-daynight/viewpassword.html b/resource/template/theme-daynight/viewpassword.html index e1000fc..3fecb49 100644 --- a/resource/template/theme-daynight/viewpassword.html +++ b/resource/template/theme-daynight/viewpassword.html @@ -1,25 +1,51 @@ -{{define "theme-daynight/viewpassword"}} -{{template "common/header" .}} -{{if ts .CustomCode}} -{{.CustomCode|safe}} -{{end}} -
    -
    -
    -

    - -
    - 验证查看密码 -
    -

    -
    -
    - -
    - -
    + {{define "theme-daynight/viewpassword"}} + + + + + + + {{.Title}} + + + + {{if ts .CustomCode}} + {{.CustomCode|safe}} + {{end}} + + + +
    +
    +

    {{.Conf.Site.Brand}}

    +
    +

    验证查看密码

    + + + + +
    +
    + +
    +
    +
    + +
    -{{template "common/footer" .}} -{{end}} \ No newline at end of file +
    + + + + {{end}} From 37fb4150cc6ecb13d0338d1b0c8c0ddd7f045b49 Mon Sep 17 00:00:00 2001 From: Jackie Sung Date: Mon, 1 Feb 2021 21:32:20 +0800 Subject: [PATCH 2/3] Badge version update --- README.md | 220 +++++++++++++++++++++++---------------------- service/dao/dao.go | 2 +- 2 files changed, 115 insertions(+), 107 deletions(-) diff --git a/README.md b/README.md index a0f88c5..2baca85 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,34 @@ # 哪吒面板 -![dashboard](https://img.shields.io/badge/管理面板-v0.4.4-brightgreen?style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=%E9%9D%A2%E6%9D%BF%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![Agent release](https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![shell](https://img.shields.io/badge/安装脚本-v0.4.4-brightgreen?style=for-the-badge&logo=linux) +![dashboard](https://img.shields.io/badge/管理面板-v0.4.5-brightgreen?style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=%E9%9D%A2%E6%9D%BF%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![Agent release](https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![shell](https://img.shields.io/badge/安装脚本-v0.4.5-brightgreen?style=for-the-badge&logo=linux) -系统状态监控报警、API(SSL证书变更、即将到期、到期)/TCP端口存活/PING 监控、计划任务(可以定时在Agent上执行命令,备份、重启、What ever you want)、极省资源,64M 服务器也能装 agent。 +系统状态监控报警、API(SSL 证书变更、即将到期、到期)/TCP 端口存活/PING 监控、计划任务(可以定时在 Agent 上执行命令,备份、重启、What ever you want)、极省资源,64M 服务器也能装 agent。 \>> [查看针友列表](https://www.google.com/search?q=%22powered+by+%E5%93%AA%E5%90%92%E9%9D%A2%E6%9D%BF%22&filter=0) (Google) -\>> QQ交流群:955957790 +\>> QQ 交流群:955957790 -| 默认主题 | DayNight [@JackieSung](https://github.com/JackieSung4ev) | hotaru [@CokeMine](https://github.com/CokeMine) | -| ---- | ---- | ---- | -| ![首页截图1](https://s3.ax1x.com/2020/12/07/DvTCwD.jpg) | | | +| 默认主题 | DayNight [@JackieSung](https://github.com/JackieSung4ev) | hotaru [@CokeMine](https://github.com/CokeMine) | +| ------------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------- | +| ![首页截图1](https://s3.ax1x.com/2020/12/07/DvTCwD.jpg) | | | ## 一键脚本 -建议使用 WatchTower 自动更新面板,Windows终端可以使用 nssm 配置自启动(见尾部教程) +建议使用 WatchTower 自动更新面板,Windows 终端可以使用 nssm 配置自启动(见尾部教程) - 海外: - ```shell - curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh - ./nezha.sh - ``` + ```shell + curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh + ./nezha.sh + ``` - 国内加速:(有缓存可能不是最新的,非作者维护) - ```shell - curl -L https://raw.sevencdn.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh - CN=true ./nezha.sh - ``` + ```shell + curl -L https://raw.sevencdn.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh + CN=true ./nezha.sh + ``` ## 功能说明 @@ -37,54 +37,57 @@ - 默认主题更改进度条颜色示例 - ``` - - ``` -- 默认主题修改LOGO、移除版权示例(来自 [@iLay1678](https://github.com/iLay1678),欢迎PR) + ``` + + ``` - ``` - - - ``` +- 默认主题修改 LOGO、移除版权示例(来自 [@iLay1678](https://github.com/iLay1678),欢迎 PR) + + ``` + + + ``` - hotaru 主题更改背景图片示例 - ``` - - ``` - + ``` + + ``` + +
    计划任务:备份脚本、服务重启,等定期运维任务。 使用此功能可以定期结合 restic、rclone 给服务器备份,或者定期某项重启服务来重置网络连接。 +
    @@ -94,7 +97,7 @@ `#NEZHA#` 是面板消息占位符,面板触发通知时会自动替换占位符到实际消息 -Body 内容是`JSON` 格式的:**当请求类型为FORM时**,值为 `key:value` 的形式,`value` 里面可放置占位符,通知时会自动替换。**当请求类型为JSON时** 只会简进行字符串替换后直接提交到`URL`。 +Body 内容是`JSON` 格式的:**当请求类型为 FORM 时**,值为 `key:value` 的形式,`value` 里面可放置占位符,通知时会自动替换。**当请求类型为 JSON 时** 只会简进行字符串替换后直接提交到`URL`。 URL 里面也可放置占位符,请求时会进行简单的字符串替换。 @@ -102,54 +105,55 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。 1. 添加通知方式 - - server酱示例 - - 名称:server酱 - - URL:https://sc.ftqq.com/SCUrandomkeys.send?text=#NEZHA# - - 请求方式: GET - - 请求类型: 默认 - - Body: 空 - - - wxpusher示例,需要关注你的应用 - - 名称: wxpusher - - URL:http://wxpusher.zjiecode.com/api/send/message - - 请求方式: POST - - 请求类型: JSON - - Body: `{"appToken":"你的appToken","topicIds":[],"content":"#NEZHA#","contentType":"1","uids":["你的uid"]}` + - server 酱示例 + - 名称:server 酱 + - URL:https://sc.ftqq.com/SCUrandomkeys.send?text=#NEZHA# + - 请求方式: GET + - 请求类型: 默认 + - Body: 空 + - wxpusher 示例,需要关注你的应用 - - telegram示例 [@haitau](https://github.com/haitau) 贡献 - - 名称:telegram机器人消息通知 - - URL:https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA# - - 请求方式: GET - - 请求类型: 默认 - - Body: 空 - - URL参数获取说明:botXXXXXX 中的 XXXXXX 是在 telegram中关注官方 @Botfather ,输入/newbot ,创建新的机器人(bot)时,会提供的 token(在提示Use this token to access the HTTP API:后面一行)这里 'bot' 三个字母不可少。创建 bot 后,需要先在 telegram中与BOT进行对话(随便发个消息),然后才可用 API发送消息。YYYYYY 是 telegram 用户的数字 ID。与机器人@userinfobot 对话可获得。 + - 名称: wxpusher + - URL:http://wxpusher.zjiecode.com/api/send/message + - 请求方式: POST + - 请求类型: JSON + - Body: `{"appToken":"你的appToken","topicIds":[],"content":"#NEZHA#","contentType":"1","uids":["你的uid"]}` + + - telegram 示例 [@haitau](https://github.com/haitau) 贡献 + - 名称:telegram 机器人消息通知 + - URL:https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA# + - 请求方式: GET + - 请求类型: 默认 + - Body: 空 + - URL 参数获取说明:botXXXXXX 中的 XXXXXX 是在 telegram 中关注官方 @Botfather ,输入/newbot ,创建新的机器人(bot)时,会提供的 token(在提示 Use this token to access the HTTP API:后面一行)这里 'bot' 三个字母不可少。创建 bot 后,需要先在 telegram 中与 BOT 进行对话(随便发个消息),然后才可用 API 发送消息。YYYYYY 是 telegram 用户的数字 ID。与机器人@userinfobot 对话可获得。 2. 添加一个离线报警 - - 名称:离线通知 - - 规则:`[{"Type":"offline","Min":0,"Max":0,"Duration":10}]` - - 启用:√ + - 名称:离线通知 + - 规则:`[{"Type":"offline","Min":0,"Max":0,"Duration":10}]` + - 启用:√ 3. 添加一个监控 CPU 持续 10s 超过 50% **且** 内存持续 20s 占用低于 20% 的报警 - - 名称:CPU+内存 - - 规则:`[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]` - - 启用:√ + - 名称:CPU+内存 + - 规则:`[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]` + - 启用:√ #### 报警规则说明 - Type - cpu、memory、swap、disk:Min/Max 数值为占用百分比 - - net_in_speed(入站网速)、net_out_speed(出站网速)、net_all_speed(双向网速)、transfer_in(入站流量)、transfer_out(出站流量)、transfer_all(双向流量):Min/Max 数值为字节(1kb=1024,1mb = 1024*1024) + - net_in_speed(入站网速)、net_out_speed(出站网速)、net_all_speed(双向网速)、transfer_in(入站流量)、transfer_out(出站流量)、transfer_all(双向流量):Min/Max 数值为字节(1kb=1024,1mb = 1024\*1024) - offline:不支持 Min/Max 参数 - Duration:持续秒数,监控比较简陋,取持续时间内的 70 采样结果 -- Ignore: `{"1": true, "2":false}` 忽略此规则的服务器ID列表 +- Ignore: `{"1": true, "2":false}` 忽略此规则的服务器 ID 列表
    服务监控:HTTP、SSL证书、ping、TCP 端口等。 进入 `/monitor` 页面点击新建监控即可,表单下面有相关说明。 +
    ## 常见问题 @@ -158,6 +162,7 @@ URL 里面也可放置占位符,请求时会进行简单的字符串替换。 如何进行数据迁移、备份恢复? 数据储存在 `/opt/nezha` 文件夹中,迁移数据时打包这个文件夹,到新环境解压。然后执行一键脚本安装即可 +
    @@ -190,12 +195,14 @@ restart() { ``` 赋予执行权限 `chmod +x /etc/init.d/nezha-agnt` 然后启动服务 `/etc/init.d/nezha-agent enable && /etc/init.d/nezha-agent start` +
    首页服务器随机闪烁掉线? 执行 `ntpdate 0.pool.ntp.org` 同步一下面板部署所在的服务器的时间,ref: [How do I use pool.ntp.org?](https://www.ntppool.org/en/use.html) +
    @@ -203,43 +210,44 @@ restart() { ### 启用 HTTPS -使用宝塔反代或者上CDN,建议 Agent配置 跟 访问管理面板 使用不同的域名,这样管理面板使用的域名可以直接套CDN,Agent配置的域名是解析管理面板IP使用的,也方便后面管理面板迁移(如果你使用IP,后面IP更换了,需要修改每个agent,就麻烦了) +使用宝塔反代或者上 CDN,建议 Agent 配置 跟 访问管理面板 使用不同的域名,这样管理面板使用的域名可以直接套 CDN,Agent 配置的域名是解析管理面板 IP 使用的,也方便后面管理面板迁移(如果你使用 IP,后面 IP 更换了,需要修改每个 agent,就麻烦了) -### 实时通道断开(WebSocket反代) +### 实时通道断开(WebSocket 反代) 使用反向代理时需要针对 `/ws` 路径的 WebSocket 进行特别配置以支持实时更新服务器状态。 - Nginx(宝塔):在你的 nginx 配置文件中加入以下代码 - ```nginx - server{ + ```nginx + server{ - #server_name blablabla... + #server_name blablabla... - location /ws { - proxy_pass http://ip:站点访问端口; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - } + location /ws { + proxy_pass http://ip:站点访问端口; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_set_header Host $host; + } - #其他的 location blablabla... - } - ``` + #其他的 location blablabla... + } + ``` -- CaddyServer v1(v2无需特别配置) +- CaddyServer v1(v2 无需特别配置) - ```Caddyfile - proxy /ws http://ip:8008 { - websocket - } - ``` -
    + ```Caddyfile + proxy /ws http://ip:8008 { + websocket + } + ``` + + ## 社区文章 - [哪吒探针 - Windows 客户端安装](https://nyko.me/2020/12/13/nezha-windows-client.html) - [哪吒面板,一个便携服务器状态监控面板搭建教程,不想拥有一个自己的探针吗?](https://haoduck.com/644.html) -- [哪吒面板:小鸡们的最佳探针](https://www.zhujizixun.com/2843.html) *(已过时)* +- [哪吒面板:小鸡们的最佳探针](https://www.zhujizixun.com/2843.html) _(已过时)_ - [>>更多教程](https://www.google.com/search?q=%22%E5%93%AA%E5%90%92%E9%9D%A2%E6%9D%BF%22+%22%E6%95%99%E7%A8%8B%22) (Google) diff --git a/service/dao/dao.go b/service/dao/dao.go index 8a9cf92..f699708 100644 --- a/service/dao/dao.go +++ b/service/dao/dao.go @@ -13,7 +13,7 @@ import ( pb "github.com/naiba/nezha/proto" ) -var Version = "v0.4.4" // !!记得修改 README 重的 badge 版本!! +var Version = "v0.4.5" // !!记得修改 README 重的 badge 版本!! const ( SnapshotDelay = 3 From 5cbb2242b007baa676b762b5ef80146d4607e7b5 Mon Sep 17 00:00:00 2001 From: Jackie Sung Date: Mon, 1 Feb 2021 21:37:41 +0800 Subject: [PATCH 3/3] Badge version update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2baca85..ed2d496 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 哪吒面板 -![dashboard](https://img.shields.io/badge/管理面板-v0.4.5-brightgreen?style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=%E9%9D%A2%E6%9D%BF%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![Agent release](https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![shell](https://img.shields.io/badge/安装脚本-v0.4.5-brightgreen?style=for-the-badge&logo=linux) +![dashboard](https://img.shields.io/badge/管理面板-v0.4.5-brightgreen?style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=%E9%9D%A2%E6%9D%BF%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![Agent release](https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20%E6%9E%84%E5%BB%BA&logo=github&style=for-the-badge) ![shell](https://img.shields.io/badge/安装脚本-v0.4.4-brightgreen?style=for-the-badge&logo=linux) 系统状态监控报警、API(SSL 证书变更、即将到期、到期)/TCP 端口存活/PING 监控、计划任务(可以定时在 Agent 上执行命令,备份、重启、What ever you want)、极省资源,64M 服务器也能装 agent。