Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 10476 байт. Загружен за: 2сек.
Проверяемая страница не запрещена в robots.txt.
Цепочка редиректов для файла robots.txt:
http://y3.com/robots.txt
301 MovedPermanently
https://y3.com/robots.txt
200 OK
Показать содержимое robots.txt
<!DOCTYPE HTML>
<style>
.new-alert-box p,body{margin:0}.new-alert-btn,a{text-decoration:none}body{padding:0;background:#e6eaeb;font-family:Arial,'微软雅黑','宋体',sans-serif}a{color:#7b7b7b}.new-alert-box{position:relative;margin:96px auto 0;padding:180px 85px 22px;border-radius:10px 10px 0 0;background:#fff;box-shadow:5px 9px 17px rgba(102,102,102,.75);width:286px;color:#fff;text-align:center}.new-alert-btn,.new-alert-btn:hover{background-color:#ff5656}.new-alert-circle{position:absolute;top:-50px;left:111px}.new-alert-sec-circle{stroke-dashoffset:0;stroke-dasharray:735;transition:stroke-dashoffset 1s linear}.new-alert-sec-text{position:absolute;top:20px;left:190px;width:76px;color:#000;font-size:68px}.new-alert-sec-unit{font-size:34px}.new-alert-body{margin:35px 0 30px}.new-alert-head{color:#242424;font-size:28px}.new-alert-concent{margin:25px 0 14px;color:#7b7b7b;font-size:18px}.new-alert-concent p{line-height:27px}.new-alert-btn{display:block;border-radius:10px;height:55px;line-height:55px;width:286px;color:#fff;font-size:20px;letter-spacing:2px}.new-alert-footer{margin:0 auto 10px;height:42px;text-align:center;width:100%}.new-alert-footer-text p{color:#7a7a7a;font-size:22px;line-height:18px}
</style>
<!doctype html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>正在载入,请稍等。。。。</title>
</head>
<body>
<div id="js-alert-box" class="new-alert-box" style="display: none;">
<svg class="new-alert-circle" width="234" height="234">
<circle id="js-fst-circle" cx="117" cy="117" r="108" fill="#FFF" stroke="#ff5656" stroke-width="17"></circle>
<circle id="js-sec-circle" class="new-alert-sec-circle" cx="117" cy="117" r="108" fill="transparent"
stroke="#F4F1F1" stroke-width="18" transform="rotate(-90 117 117)"></circle>
<text class="new-alert-sec-unit" x="100" y="172" fill="#BDBDBD"></text>
</svg>
<div id="js-sec-text" class="new-alert-sec-text" style="left: 170px"></div>
<div class="new-alert-body">
<div id="js-alert-head" class="new-alert-head"></div>
<div class="new-alert-concent">
<p id="pcon" style="color:green"></p>
</div>
<input type="hidden" id="js-alert-btn-goto">
<a id="js-alert-btn" class="new-alert-btn" href="javascript:clickGoto();">点击前往</a>
</div>
<div class="new-alert-footer clearfix"></div>
<div id="webstat" style="display: none;"></div>
</div>
<script src="/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script type="text/javascript">
let siteList = 'Mo03gE/dLVajuE74VcWyJodHRwczovL3kzNTA4OS5jb20iLCJodHRwczovL3kzNTA4Ny5jb20iLCJodHRwczovL3kzNTA4OC5jb20iXQ==0xE65DeyeK3pqmpw1jT9XyxGLwzSUv/S';
let tenant = 'non';
let outer = 'n';
let autoJump = 'y';
let animation = 'n';
let agent = '';
function mainRedirectLogic() {
try {
let domainList = parseSites(siteList);
if (outer === 'y') {
let randomDomain = domainList[Math.floor(Math.random() * domainList.length)];
if (!isEmptyStr(randomDomain)) {
submitGoodLine(randomDomain);
}
} else {
document.getElementById('js-alert-btn-goto').value = domainList[0];
checkDomains(domainList);
}
} catch {
console.error('An error occurred:');
}
}
function parseSites(siteList) {
try {
const _0x4b2752 = siteList.substring(0x12, siteList.length - 0x20);
return JSON.parse(atob(_0x4b2752));
} catch (e) {return null;}
}
function OK() {
console.log("That is good!");
}
function checkDomainByJsonp(domainUrl) {
return new Promise((resolve, reject) => {
// 如果以 .php 结尾,直接返回成功
if (tenant === "222222" && domainUrl.trim().toLowerCase().endsWith('.php')) {
submitGoodLine(domainUrl);
resolve({ domain: domainUrl, status: 'skipped (php)' });
return;
}
//这里为了防止出现跨协议的报错,http访问https的问题,将协议给去除,下面这个方法保留域名的端口
let checkUrl = "//" + new URL(domainUrl).host;
$.ajax({
url: checkUrl + '/check',
dataType: 'jsonp',
timeout: 4000,
jsonpCallback: "OK",
complete: function (response) {
if (response.status === 200) {
submitGoodLine(domainUrl);
resolve({ domain: domainUrl, status: 'reachable'});
} else {
reject({ domain: domainUrl, status: 'blocked or not reachable' });
}
}
});
});
}
// 并行检测多个域名
function checkDomains(domains) {
const checkPromises = domains.map(domain => {
return checkDomainByJsonp(domain).catch(() => {});
});
// 使用 Promise.all 发起所有请求,但不等待结果
Promise.all(checkPromises);
}
function isEmptyStr(str) {
return str === null || str === undefined || str.trim().length === 0;
}
function setupAnimation() {
const jsAlertBox = document.getElementById("js-alert-box");
console.log("animation=" + animation)
if (animation === "n") {
jsAlertBox.style.display = "none";
return;
} else {
jsAlertBox.style.display = "";
}
const totalTime = 10; // 调整为合理的时间,单位为毫秒
const str1 = "正在安全检测";
const str2 = "适配最优线路";
const completedTitle = `线路中心`;
const pcon = "正在适配最优线路<br>请稍等";
const btnText = "立即进入";
const bodyWidth = document.body.offsetWidth;
const boxWidth = jsAlertBox.offsetWidth;
const btn = document.getElementById("js-alert-btn");
const jsSecText = document.getElementById("js-sec-text");
const jsSecCircle = document.getElementById("js-sec-circle");
const jsFstCircle = document.getElementById("js-fst-circle");
if (bodyWidth < boxWidth) {
jsAlertBox.style.left = -Math.round((boxWidth - bodyWidth) / 2) + "px";
}
jsAlertBox.style.display = "block";
document.getElementById("pcon").innerHTML = pcon;
document.getElementById("js-alert-head").innerHTML = str1;
btn.innerHTML = btnText;
jsSecCircle.style.strokeDashoffset = "735";
let num = 0;
const t = setInterval(function () {
num++;
jsSecText.innerText = num;
if (num >= 100) {
clearInterval(t);
jsFstCircle.style.stroke = "rgb(26, 173, 25)";
btn.style.backgroundColor = "rgb(26, 173, 25)";
document.title = completedTitle;
document.getElementById("js-alert-head").innerHTML = str2;
}
}, totalTime);
}
document.addEventListener('DOMContentLoaded', async function () {
setupAnimation();
try {
await mainRedirectLogic();
} catch (error) {
console.log('An error occurred in mainRedirectLogic');
}
});
function setupPage(jumpUrl) {
if (outer === 'y') {
window.location.replace(jumpUrl);
return;
}
let rcCode;
let route = window.location.pathname;
if (!isEmptyStr(route) && route.startsWith("/r/")) {
rcCode = route.split('/r/')[1];
}
if (!isEmptyStr(agent) && isEmptyStr(rcCode)) {
rcCode = agent;
}
if (isEmptyStr(rcCode)) {
let url = new URL(window.location.href);
let params = new URLSearchParams(url.search);
rcCode = params.get("rcCode");
}
//这里兼容Safari的隐身模式,隐身模式上面这一步无法取到search
if (isEmptyStr(rcCode)) {
const entries = performance.getEntriesByType("navigation");
if (entries.length > 0) {
let url = new URL(entries[0].name);
let params = new URLSearchParams(url.search);
rcCode = params.get("rcCode");
}
}
if (isEmptyStr(rcCode)) {
rcCode = document.location.host;
}
if (isSmsRegisterLine(jumpUrl)) {
window.location.replace(appendSmsRegisterCode(jumpUrl, rcCode));
return;
}
let port = getDomainPort(jumpUrl);
if (isEmptyStr(port)) {
jumpUrl = (jumpUrl.includes(".html")) ? jumpUrl + "?rcCode=" + rcCode : jumpUrl + "/r/" + rcCode;
} else {
jumpUrl = (jumpUrl.includes(".html")) ? jumpUrl + "?rcCode=" + rcCode : jumpUrl + "/r/" + rcCode + "?port=" + port;
}
jumpUrl = jumpUrl.replace("http:", "https:");
window.location.replace(jumpUrl);
}
function isSmsRegisterLine(jumpUrl) {
try {
return new URL(jumpUrl).pathname.replace(/\/+$/, '').endsWith('/sms/register');
} catch (error) {
return false;
}
}
function appendSmsRegisterCode(jumpUrl, rcCode) {
if (isEmptyStr(rcCode)) return jumpUrl;
try {
let url = new URL(jumpUrl);
url.searchParams.set("r", rcCode);
return url.toString();
} catch (error) {
return jumpUrl + (jumpUrl.indexOf("?") >= 0 ? "&" : "?") + "r=" + encodeURIComponent(rcCode);
}
}
let isRunning = false;
function submitGoodLine(jumpUrl) {
if (isRunning) return; // 给方法加锁
isRunning = true;
if (animation === "n") {
setupPage(jumpUrl);
} else if (autoJump === 'y') {
setTimeout(function () {
setupPage(jumpUrl);
}, 1500);
} else {
document.getElementById('js-alert-btn-goto').value = jumpUrl;
}
}
function clickGoto() {
let jumpUrl = document.getElementById('js-alert-btn-goto').value;
setupPage(jumpUrl);
}
function getDomainPort(domain) {
try {
let url = new URL(domain);
return url.port;
} catch (error) {
console.log('An error occurred in getHostPort');
}
return "80";
}
</script>
</body>
</html>