luci-app-vssr: sync with upstream source

This commit is contained in:
CN_SZTL 2020-03-03 15:31:18 +08:00
parent 52372e8c27
commit cfa6d39d63
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
5 changed files with 192 additions and 197 deletions

View File

@ -59,7 +59,7 @@ o.template="vssr/socket"
o.width="1%"
o = s:option(DummyValue,"server",translate("Ping Latency"))
o.template="vssr/ping1"
o.template="vssr/ping"
o.width="1%"
m:append(Template("vssr/server_list"))

View File

@ -29,7 +29,7 @@ math.randomseed(os.time())
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="google_status"><%:Visit foreign websites%><br /><span class="red"><%:Problem detected%></span></h4>
<h4 id="google_status"><%:foreign websites%><br /><span class="red"><%:Problem detected%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
@ -42,7 +42,7 @@ math.randomseed(os.time())
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="baidu_status"><%:Visit domestic website%><br /><span class="red"><%:Problem detected%></span></h4>
<h4 id="baidu_status"><%:domestic website%><br /><span class="red"><%:Problem detected%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
@ -117,14 +117,14 @@ math.randomseed(os.time())
tb.innerHTML = '<%:Client%><br><span class="red"><%:Not Running%></span>';
}
if (data.google) {
tb1.innerHTML = '<%:Visit foreign websites%><br><span class="green"><%:Working...%></span>';
tb1.innerHTML = '<%:foreign websites%><br><span class="green"><%:Connect OK%></span>';
} else {
tb1.innerHTML = '<%:Visit foreign websites%><br><span class="red"><%:Problem detected%></span>';
tb1.innerHTML = '<%:foreign websites%><br><span class="red"><%:Problem detected%></span>';
}
if (data.baidu) {
tb2.innerHTML = '<%:Visit domestic website%><br><span class="green"><%:Working...%></span>';
tb2.innerHTML = '<%:domestic website%><br><span class="green"><%:Connect OK%></span>';
} else {
tb2.innerHTML = '<%:Visit domestic website%><br><span class="red"><%:Problem detected%></span>';
tb2.innerHTML = '<%:domestic website%><br><span class="red"><%:Problem detected%></span>';
}
if (data.game) {
tb3.innerHTML = '<%:Game Mode%><br><span class="green"><%:Running%></span>';

View File

@ -1,13 +1,12 @@

<fieldset id="_vssr_status_fieldset" class="cbi-section">
<legend>
<%:Running Status%>
</legend>
<style>
.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u,.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-6-6{width:100%}
<style>
.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u,.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-6-6{width:100%}
.status{
margin: 1.5rem -0.5rem 0 -0.5rem;
margin: 0rem -0.5rem -0.7rem -0.5rem;
}
.block{
margin: 0.5rem 0.5rem;
@ -19,184 +18,166 @@
min-width: inherit;
overflow-x: auto;
overflow-y: hidden;
padding: 6px 10px 7px 8px;
border: 1px solid rgba(0,0,0,.05);
border-radius: .375rem;
background-color: #fff ;
background-color: #fff;
box-shadow: 0 0 2rem 0 rgba(136,152,170,.15);
}
.img-con{
margin: 1rem;
}
.green{
font-size:1.25rem;
color: #2dce89;
}
.red{
color: #f5365c;
font-size:1.25rem;
color: #fb6340;
}
.sk-text-success{
color: #2dce89;
}
.sk-text-error{
color: #fb6340;
}
.gap{
margin-right:0.5rem;
}
.block img{
max-width: 100%;
width: 48px;
height: auto;
float:right;
}
.pure-u-5-8{
display:flex;
align-items:center;
}
.block h4{
font-size: 1.3rem;
font-weight: bold;
margin: 0.75rem 0;
.block h4{
font-size: .8125rem;
font-weight: 600;
margin: 1rem;
color:#8898aa!important;
line-height: 1.8em;
}
@media screen and (max-width: 1920px) {
.block h4{
font-size: 1.2rem;
}
}
@media screen and (max-width: 1690px) {
.block h4{
font-size: 1rem;
}
}
@media screen and (max-width: 1290px) {
.block h4{
font-size: 0.8rem;
}
.pure-u-1-6{
width:33.333%;
}
}
@media screen and (max-width: 700px) {
@media screen and (max-width: 720px) {
.pure-u-1-6{
width:50%;
}
.img-con{
margin: 0.5rem;
}
.block h4{
font-size: 0.81rem;
.pure-u-1-2{
width:100%;
}
}
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
<div class="pure-g status">
<div class="pure-u-1-6">
<div class="block pure-g" >
<div class="pure-u-3-8">
<div class="img-con">
<img src="https://i.imgur.com/wzbtvXp.png" >
</style>
<style>.mar-10 {margin-left: 50px; margin-right: 10px;}</style>
</head>
<body>
<div class="pure-g status">
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="vssr_status"><%:Client%><br /><span class="red"><%:Not Running%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
<img src="https://i.imgur.com/wzbtvXp.png" >
</div>
</div>
<div class="pure-u-5-8">
<h4 id="vssr_status"><%:Client%><br /><span class="red"><%:Not Running%></span></h4>
</div>
</div>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="baidu_status"><%:domestic website%><br><span class="red"><%:Problem detected%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTAwIDEwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzMzODhGRjt9DQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7fQ0KPC9zdHlsZT4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjUwIiBjeT0iNTAiIHI9IjUwIi8+DQo8ZyBpZD0i5pCc57SiX+eGiuaOjF82Nmljb24iPg0KCTxnIGlkPSJsb2dvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjEuMjEyMTIxLCA5MC45MDkwOTEpIj4NCgkJPHBhdGggaWQ9IkZpbGwtMSIgY2xhc3M9InN0MSIgZD0iTS03OS43LTU1LjRjNC41LDAsOC41LTUuNCw4LjUtMTEuOWMwLTYuNS0zLjctMTEuOS04LjUtMTEuOWMtNC41LDAtOC41LDUuNC04LjUsMTEuOQ0KCQkJQy04Ny45LTYwLjctODQuMi01NS40LTc5LjctNTUuNCIvPg0KCQk8cGF0aCBpZD0iRmlsbC0zIiBjbGFzcz0ic3QxIiBkPSJNLTU5LjktNTQuNWM2LjIsMC44LDEwLjItNS43LDExLTEwLjhjMC44LTQuOC0zLjEtMTAuOC03LjYtMTEuNmMtNC4yLTEuMS05LjksNS45LTEwLjIsMTAuNQ0KCQkJQy02Ny4yLTYxLTY2LjEtNTUuNC01OS45LTU0LjUiLz4NCgkJPHBhdGggaWQ9IkZpbGwtNSIgY2xhc3M9InN0MSIgZD0iTS05NS4zLTM4LjZjOC41LTEuNyw3LjEtMTEuNiw3LjEtMTMuOWMtMC4zLTMuNC00LjItOS4zLTkuOS04LjhjLTYuOCwwLjYtNy42LDEwLjItNy42LDEwLjINCgkJCUMtMTA2LjktNDYuNi0xMDMuOC0zNi45LTk1LjMtMzguNiIvPg0KCQk8cGF0aCBpZD0iRmlsbC03IiBjbGFzcz0ic3QxIiBkPSJNLTM1LjItNDYuM2MwLTIuNS0yLTkuNi05LjMtOS42Yy03LjQsMC04LjUsNi44LTguNSwxMS42YzAsNC41LDAuMywxMSw5LjYsMTAuOA0KCQkJQy0zNC40LTMzLjgtMzUuMi00NC0zNS4yLTQ2LjMiLz4NCgkJPHBhdGggaWQ9IkZpbGwtOSIgY2xhc3M9InN0MSIgZD0iTS04Ni41LTIxLjRjLTAuMywwLjYtMC44LDIuNS0wLjMsNGMwLjgsMy40LDQsMy43LDQsMy43aDQuMnYtMTAuOGgtNC44DQoJCQlDLTg1LjEtMjMuNi04Ni4yLTIxLjktODYuNS0yMS40Ii8+DQoJCTxwYXRoIGlkPSJGaWxsLTExIiBjbGFzcz0ic3QxIiBkPSJNLTUzLjEtOS41aC0xMi43Yy00LjgtMS4xLTUuMS00LjgtNS4xLTQuOHYtMTMuOWg1LjF2MTIuNWMwLjMsMS40LDIsMS43LDIsMS43aDUuNHYtMTMuOWg1LjQNCgkJCVYtOS41eiBNLTczLjItOS4ySC04NGMtNC44LTAuOC02LjgtNC4yLTYuOC00LjhjLTAuMy0wLjYtMS43LTMuMS0wLjgtNy42YzItNi41LDcuOS03LjEsNy45LTcuMWg1Ljd2LTcuMWg0LjgNCgkJCUMtNzMuMi0zNS44LTczLjItOS4yLTczLjItOS4yeiBNLTQ0LjYtMjUuM2MwLDAtOS42LTcuNC0xNS4zLTE1LjNjLTcuNi0xMS42LTE4LjQtNy4xLTIxLjgtMS4xYy0zLjQsNS45LTkuMSw5LjktOS45LDEwLjgNCgkJCWMtMC44LDAuOC0xMS42LDYuOC05LjEsMTcuM0MtOTguMS0zLjItODkuOS0zLjUtODkuOS0zLjVzNi4yLDAuNiwxMy4zLTEuMWM3LjEtMS43LDEzLjMsMC4zLDEzLjMsMC4zUy00Ni42LDEuMy00Mi05LjcNCgkJCUMtMzcuNS0xOS43LTQ0LjYtMjUuMy00NC42LTI1LjNMLTQ0LjYtMjUuM3oiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==" />
</div>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="google_status"><%:foreign websites%><br><span class="red"><%:Problem detected%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
<img src="https://i.imgur.com/3mE04AZ.png">
</div>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="ss_server_status"><%:SS Servers%><br><span class="red"><%:Not Running%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
<img src="https://i.imgur.com/0EJktYn.png" >
</div>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="ssr_server_status"><%:SSR Servers%><br><span class="red"><%:Not Running%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
<img src="https://i.imgur.com/8Fj5nX2.png">
</div>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g">
<div class="pure-u-3-5">
<h4 id="v2_server_status"><%:V2 Servers%><br><span class="red"><%:Not Running%></span></h4>
</div>
<div class="pure-u-2-5">
<div class="img-con">
<img src="https://i.imgur.com/cWo9mwE.png" >
</div>
</div>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g" >
<div class="pure-u-3-8">
<div class="img-con">
<img src="https://i.imgur.com/3mE04AZ.png">
</div>
</div>
<div class="pure-u-5-8">
<h4 id="google_status"><%:Visit foreign websites%><br /><span class="red"><%:Problem detected%></span></h4>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g" >
<div class="pure-u-3-8">
<div class="img-con">
<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTAwIDEwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzMzODhGRjt9DQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRkZGRkY7fQ0KPC9zdHlsZT4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjUwIiBjeT0iNTAiIHI9IjUwIi8+DQo8ZyBpZD0i5pCc57SiX+eGiuaOjF82Nmljb24iPg0KCTxnIGlkPSJsb2dvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjEuMjEyMTIxLCA5MC45MDkwOTEpIj4NCgkJPHBhdGggaWQ9IkZpbGwtMSIgY2xhc3M9InN0MSIgZD0iTS03OS43LTU1LjRjNC41LDAsOC41LTUuNCw4LjUtMTEuOWMwLTYuNS0zLjctMTEuOS04LjUtMTEuOWMtNC41LDAtOC41LDUuNC04LjUsMTEuOQ0KCQkJQy04Ny45LTYwLjctODQuMi01NS40LTc5LjctNTUuNCIvPg0KCQk8cGF0aCBpZD0iRmlsbC0zIiBjbGFzcz0ic3QxIiBkPSJNLTU5LjktNTQuNWM2LjIsMC44LDEwLjItNS43LDExLTEwLjhjMC44LTQuOC0zLjEtMTAuOC03LjYtMTEuNmMtNC4yLTEuMS05LjksNS45LTEwLjIsMTAuNQ0KCQkJQy02Ny4yLTYxLTY2LjEtNTUuNC01OS45LTU0LjUiLz4NCgkJPHBhdGggaWQ9IkZpbGwtNSIgY2xhc3M9InN0MSIgZD0iTS05NS4zLTM4LjZjOC41LTEuNyw3LjEtMTEuNiw3LjEtMTMuOWMtMC4zLTMuNC00LjItOS4zLTkuOS04LjhjLTYuOCwwLjYtNy42LDEwLjItNy42LDEwLjINCgkJCUMtMTA2LjktNDYuNi0xMDMuOC0zNi45LTk1LjMtMzguNiIvPg0KCQk8cGF0aCBpZD0iRmlsbC03IiBjbGFzcz0ic3QxIiBkPSJNLTM1LjItNDYuM2MwLTIuNS0yLTkuNi05LjMtOS42Yy03LjQsMC04LjUsNi44LTguNSwxMS42YzAsNC41LDAuMywxMSw5LjYsMTAuOA0KCQkJQy0zNC40LTMzLjgtMzUuMi00NC0zNS4yLTQ2LjMiLz4NCgkJPHBhdGggaWQ9IkZpbGwtOSIgY2xhc3M9InN0MSIgZD0iTS04Ni41LTIxLjRjLTAuMywwLjYtMC44LDIuNS0wLjMsNGMwLjgsMy40LDQsMy43LDQsMy43aDQuMnYtMTAuOGgtNC44DQoJCQlDLTg1LjEtMjMuNi04Ni4yLTIxLjktODYuNS0yMS40Ii8+DQoJCTxwYXRoIGlkPSJGaWxsLTExIiBjbGFzcz0ic3QxIiBkPSJNLTUzLjEtOS41aC0xMi43Yy00LjgtMS4xLTUuMS00LjgtNS4xLTQuOHYtMTMuOWg1LjF2MTIuNWMwLjMsMS40LDIsMS43LDIsMS43aDUuNHYtMTMuOWg1LjQNCgkJCVYtOS41eiBNLTczLjItOS4ySC04NGMtNC44LTAuOC02LjgtNC4yLTYuOC00LjhjLTAuMy0wLjYtMS43LTMuMS0wLjgtNy42YzItNi41LDcuOS03LjEsNy45LTcuMWg1Ljd2LTcuMWg0LjgNCgkJCUMtNzMuMi0zNS44LTczLjItOS4yLTczLjItOS4yeiBNLTQ0LjYtMjUuM2MwLDAtOS42LTcuNC0xNS4zLTE1LjNjLTcuNi0xMS42LTE4LjQtNy4xLTIxLjgtMS4xYy0zLjQsNS45LTkuMSw5LjktOS45LDEwLjgNCgkJCWMtMC44LDAuOC0xMS42LDYuOC05LjEsMTcuM0MtOTguMS0zLjItODkuOS0zLjUtODkuOS0zLjVzNi4yLDAuNiwxMy4zLTEuMWM3LjEtMS43LDEzLjMsMC4zLDEzLjMsMC4zUy00Ni42LDEuMy00Mi05LjcNCgkJCUMtMzcuNS0xOS43LTQ0LjYtMjUuMy00NC42LTI1LjNMLTQ0LjYtMjUuM3oiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==">
</div>
</div>
<div class="pure-u-5-8">
<h4 id="baidu_status"><%:Visit domestic website%><br /><span class="red"><%:Problem detected%></span></h4>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g" >
<div class="pure-u-3-8">
<div class="img-con">
<img src="https://i.imgur.com/0EJktYn.png" >
</div>
</div>
<div class="pure-u-5-8">
<h4 id="ss_server_status"><%:SS Servers%><br><span class="red"><%:Not Running%></span></h4>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g" >
<div class="pure-u-3-8">
<div class="img-con">
<img src="https://i.imgur.com/8Fj5nX2.png">
</div>
</div>
<div class="pure-u-5-8">
<h4 id="ssr_server_status"><%:SSR Servers%><br><span class="red"><%:Not Running%></span></h4>
</div>
</div>
</div>
<div class="pure-u-1-6">
<div class="block pure-g" >
<div class="pure-u-3-8">
<div class="img-con">
<img src="https://i.imgur.com/cWo9mwE.png" >
</div>
</div>
<div class="pure-u-5-8">
<h4 id="v2_server_status"><%:V2 Servers%><br><span class="red"><%:Not Running%></span></h4>
</div>
</div>
</div>
</div>
</style>
<script type="text/javascript">//<![CDATA[
</div>
<script>
//<![CDATA[
XHR.poll(5, '<%=url([[admin]], [[vpn]], [[vssr]], [[run]])%>', null,
function (x, data) {
var tb = document.getElementById('vssr_status');
var tb1 = document.getElementById('google_status');
var tb2 = document.getElementById('baidu_status');
var tb3 = document.getElementById('ss_server_status');
var tb4 = document.getElementById('ssr_server_status');
var tb5 = document.getElementById('v2_server_status');
if (data && tb) {
if (data.global) {
tb.innerHTML = '<%:Client%><br><span class="green"><%:Running%></span>';
} else {
tb.innerHTML = '<%:Client%><br><span class="red"><%:Not Running%></span>';
}
if (data.google) {
tb1.innerHTML = '<%:Visit foreign websites%><br><span class="green"><%:Working...%></span>';
} else {
tb1.innerHTML = '<%:Visit foreign websites%><br><span class="red"><%:Problem detected%></span>';
}
if (data.baidu) {
tb2.innerHTML = '<%:Visit domestic website%><br><span class="green"><%:Working...%></span>';
} else {
tb2.innerHTML = '<%:Visit domestic website%><br><span class="red"><%:Problem detected%></span>';
}
if (data.ss_server) {
tb3.innerHTML = '<%:SS Servers%><br><span class="green"><%:Running%></span>';
} else {
tb3.innerHTML = '<%:SS Servers%><br><span class="red"><%:Not Running%></span>';
}
if (data.ssr_server) {
tb4.innerHTML = '<%:SSR Servers%><br><span class="green"><%:Running%></span>';
} else {
tb4.innerHTML = '<%:SSR Servers%><br><span class="red"><%:Not Running%></span>';
}
if (data.v2_server ) {
tb5.innerHTML = '<%:V2 Servers%><br><span class="green"><%:Running%></span>';
} else {
tb5.innerHTML = '<%:V2 Servers%><br><span class="red"><%:Not Running%></span>';
}
if (data) {
document.getElementById('vssr_status').innerHTML = data.global?'<%:Client%><br><span class="green"><%:Running%></span>':'<%:Client%><br><span class="red"><%:Not Running%></span>';
document.getElementById('baidu_status').innerHTML = data.baidu?'<%:domestic website%><br><span class="green"><%:Connect OK%></span>':'<%:domestic website%><br><span class="red"><%:Problem detected%></span>';
document.getElementById('google_status').innerHTML = data.google?'<%:foreign websites%><br><span class="green"><%:Connect OK%></span>':'<%:foreign websites%><br><span class="red"><%:Problem detected%></span>';
document.getElementById('ss_server_status').innerHTML = data.ss_server?'<%:SS Servers%><br><span class="green"><%:Running%></span>':'<%:SS Servers%><br><span class="red"><%:Not Running%></span>';
document.getElementById('ssr_server_status').innerHTML = data.ssr_server?'<%:SSR Servers%><br><span class="green"><%:Running%></span>':'<%:SSR Servers%><br><span class="red"><%:Not Running%></span>';
document.getElementById('v2_server_status').innerHTML = data.v2_server?'<%:V2 Servers%><br><span class="green"><%:Running%></span>':'<%:V2 Servers%><br><span class="red"><%:Not Running%></span>';
}
}
);
//]]>
</script>
</fieldset>
</fieldset>

View File

@ -125,10 +125,10 @@ msgstr "个节点"
msgid "Client"
msgstr "客户端"
msgid "Visit foreign websites"
msgid "foreign websites"
msgstr "国外网站"
msgid "Visit domestic website"
msgid "domestic website"
msgstr "国内网站"
msgid "Problem detected"
@ -846,7 +846,7 @@ msgid "SSR Server"
msgstr "服务端"
msgid "V2 Servers"
msgstr "V2服务器"
msgstr "V2RAY服务器"
msgid "SS/SSR/V2RAY Server"
msgstr "SS/SSR/V2RAY 服务端"

View File

@ -247,6 +247,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
line-height: 1;
font-family: inherit;
min-width: inherit;
padding: 6px 10px 7px 8px;
overflow-x: auto;
overflow-y: hidden;
border: 1px solid rgba(0, 0, 0, .05);
@ -263,6 +264,10 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
max-height: 100%;
width: auto;
}
.pure-imgw{
max-width: 100%;
height: auto;
}
.green {
font-size: 1.25rem;
color: #2dce89;
@ -307,23 +312,24 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
.p-in5{
padding: 8px;
}
.flag-icon:before{
position: absolute;
}
.cbi-section-table-row {
position: relative;
background: #CCFFFF;
margin: 10px;
padding: 18px 18px 18px 88px;
box-shadow: 0 0 1rem 0 rgba(136,152,170,.75);
border-radius: .5rem;
border: 0;
color: #003333;
text-align: left;
line-height: 1.7em;
white-space: nowrap;
     text-overflow: ellipsis;
overflow: hidden;
transition: all 0.3s;
.cbi-section-table-row {
position: relative;
background: #f3f9f1;
margin: 10px !important;
padding: 18px 18px 18px 108px;
box-shadow: 0 0 5px 0 rgba(136, 152, 170, .75);
border-radius: .5rem;
border: 0;
color: #180614;
text-align: left;
line-height: 1.7em;
overflow: hidden;
letter-spacing: normal;
transition: all 0.2s;
}
.cbi-section-table-row:hover{
background: #fff;
@ -333,6 +339,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
.cbi-section-table-row.fast{
background: #5e72e4;
color: #fff;
}
.cbi-section-table-row.fast .ssr-button{
@ -347,6 +354,9 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
box-shadow: none;
}
.cbi-section-table-row.fast .host_con{
color: #fff !important;
}
.host_con.fast {
color: #6f9a37;
}
@ -396,6 +406,12 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
.alias{
margin-bottom:1px;
}
.incon{
cursor: pointer;
}
.incon .pure-imgw{
transition: all 0.2s;
}
.incon:nth-child(2) {
position: absolute;
left: 0;
@ -414,10 +430,10 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
height: 25%;
width: 100%;
text-align: center;
font-size: 12px;
line-height: 15px;
font-size: 13px;
line-height: 21px;
color: #fff;
background: #525f7f;
background: #4c8dae;
}
.incon:nth-child(3) {
@ -439,7 +455,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
.ssr-button {
background: none;
color: #525f7f;
padding: 0 0 0 6px;
padding: 0 0 0 0;
height: auto;
line-height: 1.5em;
}
@ -457,18 +473,16 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
margin-left: 10px;
margin-top: 1rem;
}
.cbi-button-check {
color: #fff !important;
background-color: #336633 !important;
border-color: #2e6da4 !important;
background-color: #008080 !important;
border-color: #008080 !important;
font-size:12px;
padding:0.6rem 0.8rem;
float:right;
margin-right:10px;
margin-top:-0.3rem;
}
.cbi-section-table-cell {
@ -478,7 +492,7 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
.host_con {
position: absolute;
left: 0;
width: 50px;
width: 70px;
text-align: left;
height: 22px;
font-weight: bold;
@ -500,23 +514,22 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
footer.mobile-hide{
display: block;
}
.cbi-button-add{
.cbi-button-add{
position:fixed;
padding: 0.3rem 0.5rem;
z-index:1000;
width:70px !important;
height:70px;
bottom:90px;
right:55px;
width:80px !important;
height:80px;
bottom:150px;
right:60px;
font-size:20px;
border-radius:50%;
display:block;
background-color: #336633!important;
border-color: #CC6699 !important;
background-color: #008080!important;
border-color: #008080 !important;
box-shadow: 0 0 1rem 0 rgba(136,152,170,.75);
}
.mar-10 {margin-left: 50px; margin-right: 10px;}
.status-bar{
@ -540,14 +553,15 @@ footer.mobile-hide{
float: left;
margin-right: 1em;
}
.status-bar .inner .status-info{
font-weight: bold;
}
.status-bar .icon-con{
height: 3em;
text-align: right;
}
@media screen and (max-width: 1900px) {
@media screen and (max-width: 2000px) {
.pure-u-1-5 {
width: 25%;
}
@ -598,7 +612,7 @@ footer.mobile-hide{
font-size: 16px;
border-radius: 50%;
display: block;
background-color: #fb6340!important;
background-color: #fb6340 !important;
border-color: #fb6340 !important;
box-shadow: 0 0 1rem 0 rgba(136, 152, 170, .75);
}