(function() {
'use strict';
// baseURI 提取用户名
function extractUsernameFromBaseURI() {
const baseURI = document.baseURI;
const usernameMatch = baseURI.match(/\/u\/([^\/]+)\//);
if (usernameMatch) {
return usernameMatch[1];
} else {
console.error('Failed to extract user account from baseURI.');
return null;
}
}
// 随机后缀
function randomEmailDomain() {
const domains = [
'126.com', '139.com', '163.com', '189.cn', 'aliyun.com', 'apache.org',
'deepseek.com', 'edu.cn', 'edu.hk', 'edu.mo', 'edu.tw', 'foxmail.com',
'gmail.com', 'gov.cn', 'yahoo.fr', 'yahoo.jp', 'gov.tw', 'gov.hk', 'gov.mo', 'qq.com', 'sina.cn', 'sina.com',
'sohu.com', 'xiaomi.com', 'yahoo.com', 'yeah.net'
];
const index = Math.floor(Math.random() * domains.length);
return domains[index];
}
// 随机字符串
function generateRandomString() {
const length = Math.floor(Math.random() * 8) + 5; // 生成长度 5 到 12
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&*+-.=?@^_~';
let randomStr = '';
for (let i = 0; i < length; i++) {
randomStr += chars.charAt(Math.floor(Math.random() * chars.length));
}
return randomStr;
}
// 本地化文本
function getEmailLabel() {
const lang = navigator.language;
switch (lang) {
case 'zh-CN': return '电子邮件';
case 'zh-TW':
case 'zh-HK':
case 'zh-MO': return '電子郵件';
case 'ko-KP':
case 'ko-KR': return '이메일';
case 'ja': return 'メール';
case 'en': return 'Email';
case 'fr': return 'Courriel';
case 'ru': return 'Электронная почта';
default: return 'Email';
}
}
// 插入邮箱
function insertEmail(email) {
const trustLevelElement = document.querySelector('dd.trust-level');
if (trustLevelElement) {
const emailDiv = document.createElement('div');
emailDiv.innerHTML = `<dt class="email">${getEmailLabel()}</dt><dd class="email">${email}</dd>`;
const outerDiv = trustLevelElement.closest('div');
if (outerDiv) {
outerDiv.parentNode.insertBefore(emailDiv, outerDiv.nextSibling);
console.log("Email inserted:", email);
} else {
console.error("Failed to find outer <div> for trust-level.");
}
} else {
console.error("Trust-level element not found.");
}
}
// 获取生日
function fetchUserBirthdayAndCreateEmail(username) {
fetch(`https://linux.do/u/${username}.json`)
.then(response => response.json())
.then(data => {
if (!data.user || !data.user.birthdate) {
console.error("No birthdate found for user:", username);
return;
}
const birthdateMatch = data.user.birthdate.match(/-(\d{2})(\d{2})$/); // 获取月日
let emailUsername = username;
if (Math.random() < 0.45 && birthdateMatch) {
emailUsername += `_${birthdateMatch[1]}${birthdateMatch[2]}`; // 添加生日
}
if (Math.random() < 0.35) {
const randomStr = generateRandomString();
emailUsername += `_${randomStr}`; // 添加随机字符串
}
const email = `${emailUsername}@${randomEmailDomain()}`;
insertEmail(email);
})
.catch(error => console.error("Failed to fetch user data:", error));
}
// 执行函数
const username = extractUsernameFromBaseURI();
if (username) {
fetchUserBirthdayAndCreateEmail(username);
}
})();
在任意用户的个人主页时,使用「控制台」执行本脚本即可:
你也可以拥有随便看别人邮箱的能力。(假的啦)
有没有人拿这个和 linuxdo-fakeKing 脚本 MIX 一下试试?
Google Chrome 127 | Windows 10 | Taiwan, Taipei | 2024/08/19 16:37:24