您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Steals IP addresses on Bonk.io with a fancy UI
- // ==UserScript==
- // @name Bonk IP logger
- // @namespace https://greasyfork.org/
- // @version 1.0
- // @description Steals IP addresses on Bonk.io with a fancy UI
- // @author Pugsby, with some help from Aspect#8445
- // @match *://bonk.io/
- // @icon https://www.google.com/s2/favicons?sz=64&domain=bonk.io
- // @grant none
- // @license MIT
- // ==/UserScript==
- /* jshint esversion: 6 */
- (() => {
- console.log('████████████████████████████▀█████▀█████████████\n█▄─▄█▄─▄▄─███▄─▄███─▄▄─█─▄▄▄▄█─▄▄▄▄█▄─▄▄─█▄─▄▄▀█\n██─███─▄▄▄████─██▀█─██─█─██▄─█─██▄─██─▄█▀██─▄─▄█\n▀▄▄▄▀▄▄▄▀▀▀▀▀▄▄▄▄▄▀▄▄▄▄▀▄▄▄▄▄▀▄▄▄▄▄▀▄▄▄▄▄▀▄▄▀▄▄▀\nIP Logger made by Pugsby on greasyfork.')
- const loggedIPs = [];
- // Replace contents of div with id "descriptioninner"
- const descriptionDiv = document.getElementById("descriptioninner");
- if (descriptionDiv) {
- descriptionDiv.innerHTML = `
- <h1>Bonk.io - IP logger</h1>
- <p>
- <small>Made by <a href="https://greasyfork.org/en/users/1422616-pugsby" style="color:black">Pugsby</a></small><br>
- I don't know what to put here lol.<br>
- If you have any suggestions for the IP logger, DM me on discord. <b>@Pugsbyy</b><br>
- Please don't blame me if you go to prison for doxxing people.
- </p>
- <div id="ipBox" style="margin-top: 15px; max-height: 200px; overflow-y: auto; border-top: 1px solid #ccc; padding-top: 10px;">
- <strong>Logged IPs:</strong><br>No IPs logged yet.
- </div>
- `;
- }
- // Create UI elements
- const button = document.createElement('button');
- button.textContent = 'Show IPs';
- button.style.position = 'absolute';
- button.style.top = '10px';
- button.style.left = '10px';
- button.style.zIndex = '9999';
- button.style.padding = '10px 15px';
- button.style.border = 'none';
- button.style.backgroundColor = '#050510';
- button.style.color = 'white';
- button.style.fontSize = '16px';
- button.style.cursor = 'pointer';
- button.style.borderRadius = '5px';
- document.body.appendChild(button);
- const menu = document.createElement('div');
- menu.style.position = 'fixed';
- menu.style.top = '50%';
- menu.style.left = '20px'; // Position the menu on the left
- menu.style.transform = 'translateY(-50%)'; // Center vertically
- menu.style.backgroundColor = '#fff';
- menu.style.border = '2px solid #4CAF50';
- menu.style.borderRadius = '10px';
- menu.style.padding = '20px';
- menu.style.boxShadow = '0 4px 20px rgba(0, 0, 0, 0.2)';
- menu.style.display = 'none';
- menu.style.zIndex = '10000';
- document.body.appendChild(menu);
- const closeButton = document.createElement('button');
- closeButton.textContent = 'X'; // Change text to "X"
- closeButton.style.padding = '5px 10px';
- closeButton.style.border = 'none';
- closeButton.style.backgroundColor = 'transparent';
- closeButton.style.color = '#f44336';
- closeButton.style.fontSize = '16px';
- closeButton.style.cursor = 'pointer';
- closeButton.style.position = 'absolute';
- closeButton.style.top = '10px';
- closeButton.style.right = '10px'; // Move to the right side of the menu
- closeButton.onclick = () => {
- menu.style.display = 'none';
- };
- menu.appendChild(closeButton);
- // Override addIceCandidate method
- window.onload = () => {
- let iframe = document.getElementById("maingameframe");
- let w = iframe.contentWindow;
- w.RTCPeerConnection.prototype.addIceCandidate2 = w.RTCPeerConnection.prototype.addIceCandidate;
- w.RTCPeerConnection.prototype.addIceCandidate = function(...args) {
- if (!args[0].address.includes(".local")) {
- loggedIPs.push(args[0].address);
- console.log(args[0].address)
- updateIPList();
- }
- this.addIceCandidate2(...args);
- }
- };
- // Update the IP list display
- function updateIPList() {
- const ipBox = document.getElementById("ipBox");
- if (ipBox) {
- ipBox.innerHTML = '<strong><h2>Logged IPs</h2></strong><br>' + (loggedIPs.length > 0 ? loggedIPs.join('<br>') : 'No IPs logged yet.');
- }
- }
- // Scroll to the IP box on button click
- button.onclick = () => {
- const ipBox = document.getElementById("ipBox");
- if (ipBox) {
- ipBox.scrollIntoView({ behavior: 'smooth' });
- }
- };
- })();