forked from animeflv/cloudflare
-
Notifications
You must be signed in to change notification settings - Fork 31
/
cdnpage.html
116 lines (104 loc) · 15.8 KB
/
cdnpage.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<html lang="zh">
<head>
<title>cdnpage | example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,500,600,900" rel="stylesheet">
<style>
html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}header,nav,section{display:block}figcaption,main{display:block}a{background-color:transparent;-webkit-text-decoration-skip:objects}strong{font-weight:inherit}strong{font-weight:bolder}code{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}svg:not(:root){overflow:hidden}button,input{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}menu{display:block}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}p{margin:5px 0}button{background:transparent;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}*,*::before,*::after{border-width:0;border-style:solid;border-color:#dae1e7}button,[type="button"],[type="reset"],[type="submit"]{border-radius:0}button,input{font-family:inherit}input::-webkit-input-placeholder{color:inherit;opacity:.5}input:-ms-input-placeholder{color:inherit;opacity:.5}input::-ms-input-placeholder{color:inherit;opacity:.5}input::placeholder{color:inherit;opacity:.5}button,[role=button]{cursor:pointer}h1{font-weight:400}.bg-transparent{background-color:transparent}.bg-white{background-color:#fff}.bg-teal-light{background-color:#64d5ca}.bg-blue-dark{background-color:#2779bd}.bg-indigo-light{background-color:#7886d7}.bg-grey-light{background-color:#ddd}.bg-no-repeat{background-repeat:no-repeat}.bg-cover{background-size:cover}.border-grey-light{border-color:#dae1e7}.hover\:border-grey:hover{border-color:#b8c2cc}.rounded-lg{border-radius:.5rem}.border-2{border-width:2px}.hidden{display:none}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}.items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.font-sans{font-family:'Montserrat',sans-serif}.font-light{font-weight:300}.font-bold{font-weight:700}.font-black{font-weight:900}.h-1{height:.25rem}.h-2{height:.18rem}.leading-normal{line-height:1.5}.m-8{margin:2rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-8{margin-bottom:2rem}.mb-7{margin-bottom:1.6rem}.max-w-sm{max-width:40rem}.min-h-screen{min-height:100vh}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pb-full{padding-bottom:100%}.absolute{position:absolute}.relative{position:relative}.pin{top:0;right:0;bottom:0;left:0}.text-black{color:#22292f}.text-grey-darkest{color:#3d4852}.text-grey-darker{color:#606f7b}.text-2xl{font-size:1.5rem}.text-5xl{font-size:2rem}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.05em}.w-16{width:4rem}.w-full{width:100%}@media(min-width:768px){.md\:bg-left{background-position:left}.md\:bg-right{background-position:right}.md\:flex{display:-webkit-box;display:-ms-flexbox;display:flex}.md\:my-6{margin-top:1.5rem;margin-bottom:1rem}.md\:min-h-screen{min-height:100vh}.md\:pb-0{padding-bottom:0}.md\:text-3xl{font-size:1.875rem}.md\:text-15xl{font-size:2rem}}@media(max-width:767px){.main-body{display:grid;flex-direction:column}.left-sec{order:2;text-align:center;height:70vh}.right-sec{order:1;padding-bottom:unset;background-size:100% 185%!important;background-position:center;height:30vh}
.m-8{margin:.5rem 1.8rem}.content-body{max-height:66vh;overflow-y:scroll}.text-5xl{font-size:1.7rem}.mb-7{margin-bottom:1rem}h1{font-size:1.15rem!important}.show-mobile{display:block}.show-tablet{display:none}.left-sec{background-image:url('./images/bg-1x-mobile.png')!important}}@media(min-width:768px){.show-mobile{display:none}.show-tablet{display:block}}@media(max-width:992px) and (min-width:768px){.md\:w-1\/2{width:70%}.md\:w-1\/2:last-child{width:30%}.right-sec{background-size:unset!important}.left-sec{background-image:url('./images/bg-1x-tablet.png')!important}}@media(min-width:992px){.lg\:bg-center{background-position:center}}.left-sec{ background-image: url('./images/bg-1x.jpg');background-position:bottom;background-size:contain;background-repeat:no-repeat}.left-sec p,.left-sec ul li,h1{font-size:12px;color:#3d3d3d;line-height:1.35}.left-sec ul{padding-left:1.1rem}.left-sec ul li{margin-bottom:1rem}.left-sec ul li strong{font-weight:600}ul.cferror_details{border-top:2rem solid transparent;position:relative;padding-left:0}ul.cferror_details::before{content:"";border-top:2px solid #d3d3d3;width:100%;top:-11px;position:absolute}ul.cferror_details li{display:inline;margin-right:.6rem;margin-bottom:.2rem;font-size:10px}ul.cferror_details li::before{content:'•';padding-right:6px}ul.cferror_details li:first-child::before{content:none}.left-sec p.std-text.bold{font-weight:600}h1{font-size:1.21rem}.left-sec p.highlight{font-size:14px;font-weight:600}.sub-footer p{color:#747474}.error-text{color:#d3333e!important}.sub-footer ul li{color:#3d3d3d;font-size:10px;display:inline;margin-left:5px}.sub-footer ul li:first-child{margin-left:0}.sub-footer ul li::before{content:'•';padding-right:6px}.sub-footer ul li:first-child::before{content:none}.sub-footer ul{padding:0}h1{margin-bottom:0}
.right-sec{
background-image: url('./images/cdnpage.jpg');
background-size: 100% 100%;
}
</style>
</head>
<body class="antialiased font-sans">
<div class="md:flex min-h-screen main-body">
<div class="w-full md:w-1/2 flex items-center justify-center left-sec">
<div class="max-w-sm m-8 content-body">
<div class="text-5xl md:text-15xl font-black">欢迎来访吖(づ ̄ 3 ̄)づ</div>
<p class="text-grey-darker text-2xl md:text-3xl mb-7 leading-normal">
</p><p class="sub-header"><h1 class="oops">欢迎来到example.com的cdn信息显示页面吖ˋ( ° ▽、° ) </h1></p>
<br><br>
当前CDN节点: <span id="cdn">我也不知道</span>
<div class="sub-footer">
<div class="w-full h-2 bg-grey-light my-3 md:my-6"></div>
<p id="footer_data">正在获取,可能要一小会喔!</p>
</div>
</div>
</div>
<div class="relative pb-full md:flex md:pb-0 md:min-h-screen w-full md:w-1/2 right-sec">
</div>
</div>
<script type="text/javascript" src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js"></script>
<script>
getCDNinfo = function() {
$.ajax({
url: "/cdn-cgi/trace",
success: function(data, status) {
let areas = "Antananarivo, Madagascar - (TNR);Cape Town, South Africa - (CPT);Casablanca, Morocco - (CMN);Dar Es Salaam, Tanzania - (DAR);Djibouti City, Djibouti - (JIB);Durban, South Africa - (DUR);Johannesburg, South Africa - (JNB);Kigali, Rwanda - (KGL);Lagos, Nigeria - (LOS);Luanda, Angola - (LAD);Maputo, MZ - (MPM);Mombasa, Kenya - (MBA);Port Louis, Mauritius - (MRU);Réunion, France - (RUN);Bangalore, India - (BLR);Bangkok, Thailand - (BKK);Bandar Seri Begawan, Brunei - (BWN);Cebu, Philippines - (CEB);Chengdu, China - (CTU);Chennai, India - (MAA);Chittagong, Bangladesh - (CGP);Chongqing, China - (CKG);Colombo, Sri Lanka - (CMB);Dhaka, Bangladesh - (DAC);Dongguan, China - (SZX);Foshan, China - (FUO);Fuzhou, China - (FOC);Guangzhou, China - (CAN);Hangzhou, China - (HGH);Hanoi, Vietnam - (HAN);Hengyang, China - (HNY);Ho Chi Minh City, Vietnam - (SGN);Hong Kong - (HKG);Hyderabad, India - (HYD);Islamabad, Pakistan - (ISB);Jakarta, Indonesia - (CGK);Jinan, China - (TNA);Karachi, Pakistan - (KHI);Kathmandu, Nepal - (KTM);Kolkata, India - (CCU);Kuala Lumpur, Malaysia - (KUL);Lahore, Pakistan - (LHE);Langfang, China - (NAY);Luoyang, China - (LYA);Macau - (MFM);Malé, Maldives - (MLE);Manila, Philippines - (MNL);Mumbai, India - (BOM);Nagpur, India - (NAG);Nanning, China - (NNG);New Delhi, India - (DEL);Osaka, Japan - (KIX);Phnom Penh, Cambodia - (PNH);Qingdao, China - (TAO);Seoul, South Korea - (ICN);Shanghai, China - (SHA);Shenyang, China - (SHE);Shijiazhuang, China - (SJW);Singapore, Singapore - (SIN);Suzhou, China - (SZV);Taipei - (TPE);Thimphu, Bhutan - (PBH);Tianjin, China - (TSN);Tokyo, Japan - (NRT);Ulaanbaatar, Mongolia - (ULN);Vientiane, Laos - (VTE);Wuhan, China - (WUH);Wuxi, China - (WUX);Xi'an, China - (XIY);Yerevan, Armenia - (EVN);Zhengzhou, China - (CGO);Zuzhou, China - (CSX);Amsterdam, Netherlands - (AMS);Athens, Greece - (ATH);Barcelona, Spain - (BCN);Belgrade, Serbia - (BEG);Berlin, Germany - (TXL);Brussels, Belgium - (BRU);Bucharest, Romania - (OTP);Budapest, Hungary - (BUD);Chișinău, Moldova - (KIV);Copenhagen, Denmark - (CPH);Cork, Ireland - (ORK);Dublin, Ireland - (DUB);Düsseldorf, Germany - (DUS);Edinburgh, United Kingdom - (EDI);Frankfurt, Germany - (FRA);Geneva, Switzerland - (GVA);Gothenburg, Sweden - (GOT);Hamburg, Germany - (HAM);Helsinki, Finland - (HEL);Istanbul, Turkey - (IST);Kyiv, Ukraine - (KBP);Lisbon, Portugal - (LIS);London, United Kingdom - (LHR);Luxembourg City, Luxembourg - (LUX);Madrid, Spain - (MAD);Manchester, United Kingdom - (MAN);Marseille, France - (MRS);Milan, Italy - (MXP);Moscow, Russia - (DME);Munich, Germany - (MUC);Nicosia, Cyprus - (LCA);Oslo, Norway - (OSL);Paris, France - (CDG);Prague, Czech Republic - (PRG);Reykjavík, Iceland - (KEF);Riga, Latvia - (RIX);Rome, Italy - (FCO);Saint Petersburg, Russia - (LED);Sofia, Bulgaria - (SOF);Stockholm, Sweden - (ARN);Tallinn, Estonia - (TLL);Thessaloniki, Greece - (SKG);Vienna, Austria - (VIE);Vilnius, Lithuania - (VNO);Warsaw, Poland - (WAW);Zagreb, Croatia - (ZAG);Zürich, Switzerland - (ZRH);Arica, Chile - (ARI);Asunción, Paraguay - (ASU);Bogotá, Colombia - (BOG);Buenos Aires, Argentina - (EZE);Curitiba, Brazil - (CWB);Fortaleza, Brazil - (FOR);Guatemala City, Guatemala - (GUA);Lima, Peru - (LIM);Medellín, Colombia - (MDE);Panama City, Panama - (PTY);Porto Alegre, Brazil - (POA);Quito, Ecuador - (UIO);Rio de Janeiro, Brazil - (GIG);São Paulo, Brazil - (GRU);Santiago, Chile - (SCL);Willemstad, Curaçao - (CUR);St. George's, Grenada - (GND);Amman, Jordan - (AMM);Baghdad, Iraq - (BGW);Baku, Azerbaijan - (GYD);Beirut, Lebanon - (BEY);Doha, Qatar - (DOH);Dubai, United Arab Emirates - (DXB);Kuwait City, Kuwait - (KWI);Manama, Bahrain - (BAH);Muscat, Oman - (MCT);Ramallah - (ZDM);Riyadh, Saudi Arabia - (RUH);Tel Aviv, Israel - (TLV);Ashburn, VA, United States - (IAD);Atlanta, GA, United States - (ATL);Boston, MA, United States - (BOS);Buffalo, NY, United States - (BUF);Calgary, AB, Canada - (YYC);Charlotte, NC, United States - (CLT);Chicago, IL, United States - (ORD);Columbus, OH, United States - (CMH);Dallas, TX, United States - (DFW);Denver, CO, United States - (DEN);Detroit, MI, United States - (DTW);Honolulu, HI, United States - (HNL);Houston, TX, United States - (IAH);Indianapolis, IN, United States - (IND);Jacksonville, FL, United States - (JAX);Kansas City, MO, United States - (MCI);Las Vegas, NV, United States - (LAS);Los Angeles, CA, United States - (LAX);McAllen, TX, United States - (MFE);Memphis, TN, United States - (MEM);Mexico City, Mexico - (MEX);Miami, FL, United States - (MIA);Minneapolis, MN, United States - (MSP);Montgomery, AL, United States - (MGM);Montréal, QC, Canada - (YUL);Nashville, TN, United States - (BNA);Newark, NJ, United States - (EWR);Norfolk, VA, United States - (ORF);Omaha, NE, United States - (OMA);Philadelphia, United States - (PHL);Phoenix, AZ, United States - (PHX);Pittsburgh, PA, United States - (PIT);Port-Au-Prince, Haiti - (PAP);Portland, OR, United States - (PDX);Queretaro, MX, Mexico - (QRO);Richmond, Virginia - (RIC);Sacramento, CA, United States - (SMF);Salt Lake City, UT, United States - (SLC);San Diego, CA, United States - (SAN);San Jose, CA, United States - (SJC);Saskatoon, SK, Canada - (YXE);Seattle, WA, United States - (SEA);St. Louis, MO, United States - (STL);Tampa, FL, United States - (TPA);Toronto, ON, Canada - (YYZ);Vancouver, BC, Canada - (YVR);Tallahassee, FL, United States - (TLH);Winnipeg, MB, Canada - (YWG);Adelaide, SA, Australia - (ADL);Auckland, New Zealand - (AKL);Brisbane, QLD, Australia - (BNE);Melbourne, VIC, Australia - (MEL);Noumea, New caledonia - (NOU);Perth, WA, Australia - (PER);Sydney, NSW, Australia - (SYD)".split(";");
let area = data.split("colo=")[1].split("\n")[0];
let sip = data.match(/(ip=?)(\S*)/)[2];
for (let i = 0; i < areas.length; i++) {
if (areas[i].indexOf(area) !== -1) {
document.getElementById("cdn").innerHTML = areas[i];
break;
}
}
}
})
$.getJSON({
url: "/php/ip.php",
success: function(data, status) {
console.log(data)
$.getJSON("https://api.ip.sb/jsonip?callback=?",
((json) => {
console.log(json)
$("#footer_data").html(data.status + " • 回源节点:" + data.cdnip + " • 您的ip:" + json.ip+" • Performance & Security by Cloudflare")
})
);
}
})
}
$(document).ready(function() {
getCDNinfo();
//页面加载完毕就获取CDN信息
});
</script>
<script>
var now = new Date();
var hour = now.getHours();
console.log(hour)
if(hour<5 || hour>19){
document.write("<style>body{\n" +
" background-color: rgba(0, 0, 0, 0.842);\n" +
" color: white!important;\n" +
"}\n" +
".oops{\n" +
" color: white!important;\n" +
"\n" +
"}\n" +
".sub-footer ul li{\n" +
" color: white!important\n" +
"}</style>");
}else {
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.write("<style>body{\n" +
" background-color: rgba(0, 0, 0, 0.842);\n" +
" color: white!important;\n" +
"}\n" +
".oops{\n" +
" color: white!important;\n" +
"\n" +
"}\n" +
".sub-footer ul li{\n" +
" color: white!important\n" +
"}</style>");
}
}
</script>
</body>
</html>