Greasy Fork is available in English.

Omegle IP

Du siehst die IP im Chat

/* eslint-disable no-redeclare */
// ==UserScript==
// @name         Omegle IP
// @name:de      Omegle IP
// @namespace    https://omegleip.kaaaxcreators.de
// @version      1.4
// @description  You see the IP in the chat window
// @description:de  Du siehst die IP im Chat
// @author       Bernd Storath
// @include      https://omegle.com/*
// @include      https://www.omegle.com/*
// @grant        none
// @license      GPL-3.0-only; https://raw.githubusercontent.com/kaaaxcreators/omegleip/master/LICENSE
// @run-at       document-end
// @antifeature  ads, tracking
// ==/UserScript==

function setAttributes(elements, attributes) {
	Object.keys(attributes).forEach(function (name) {
		elements.setAttribute(name, attributes[name]);
	})
}

(function () {
	var ga = document.createElement('script');
	ga.type = 'text/javascript';
	ga.async = true;
	ga.src = 'https://ackee.server.kaaaxcreators.de/tracker.js';
	setAttributes(ga, {
		"data-ackee-server": "https://ackee.server.kaaaxcreators.de",
		"data-ackee-domain-id": "ffb2160c-f29d-4e49-bfc7-dc5dd1120426",
    "data-ackee-opts": '{"detailed":true}'
	})
	var s = document.getElementsByTagName('script')[0];
	s.parentNode.insertBefore(ga, s);
})();
var tracker = "https://whatismyipaddress.com/ip/"; // sets whats the link you get redirected to when pressing "More Information"
var api_list = ["8145d1cec79548918b7a1049655d3564", "d605ac624e444e28ad44ca5239bfcd5f", "4ee7c1b7bbd84348b5eb17dc19337b2a", "aefc960b2bcf4db3a4ab0180833917ff", "cdd0e14f2a724d86b5a9c319588bf46e", "0a8c250fb87a481d9da1292d85a209e5"]
var api_key = api_list[Math.floor(Math.random() * api_list.length)];
var tagline = document.getElementById("tagline")
var height = tagline.offsetHeight;
var ip,city,region,country,isp;
tagline.innerHTML = "<div onclick=\"myFunctions.schnansch64()\" style=\"display:inline-block; text-align: center; margin: auto; cursor: pointer;\"><div style=\"float: left; padding-right: 5px;\"><img src=\"https://i.imgur.com/N3XyfVk.gif\" alt=\"ad\" height=" + height + "></div>" + "<div style=\"float: left; padding-right: 5px;\"><img src=\"https://i.imgur.com/pKJaNZQ.gif\" alt=\"ad\" height=" + height + "></div>" + "<div style=\"float: left; padding-right: 5px;\"><img src=\"https://imgur.com/iCisxBM.gif\" alt=\"ad\" height=" + height + "></div><div style=\"float: left;\"><img src=\"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRqjE_SCfhipjea8SFmhtpNV5bV5q2oKf9NNw&usqp=CAU\" alt=\"ad\" height=" + height + "></div></div>"
window.oRTCPeerConnection = window.oRTCPeerConnection || window.RTCPeerConnection // connects to the rtc client
window.RTCPeerConnection = function (...args) {
	const pc = new window.oRTCPeerConnection(...args)
	pc.oaddIceCandidate = pc.addIceCandidate
	pc.addIceCandidate = async function (iceCandidate, ...rest) {
		const fields = iceCandidate.candidate.split(' ')
		if (fields[7] === 'srflx') {
			try {
				/**
				 * the IP of the stranger
				 * @type string
				 */
				var strangerIP = fields[4];
				/**
				 * First Chat Text
				 * @type HTMLDivElement
				 */
				var list = document.getElementsByClassName("logitem")[0];
				/**
				 * Display the Information of the Stranger
				 * @param {any} data The returned data from the server
				 * @param {'ipapi' | 'bigdatacloud' | 'ipwhois' | 'freegeoip' | 'extreme-ip-lookup'} endpoint The Endpoint of the API Request
				 */
				// eslint-disable-next-line no-inner-declarations
				function setText(data, endpoint) {
					switch (endpoint) {
						case 'ipapi':
							ip = data.ip;
							city = data.city;
							region = data.region;
							country = data.country_name;
							isp = data.org;
							break;
						case 'bigdatacloud':
							ip = data.ip;
							city = data.location.localityName;
							region = data.location.isoPrincipalSubdivision;
							country = data.country.isoName;
							isp = data.network.organisation;
							break;
						case 'ipwhois':
							ip = data.ip;
							city = data.city;
							region = data.region;
							country = data.country;
							isp = data.isp;
							break;
						case 'freegeoip':
							ip = data.ip;
							city = data.city;
							region = data.region_name;
							country = data.country_name;
							isp = '';
							break;
						case 'extreme-ip-lookup':
							ip = data.query;
							city = data.city;
							region = data.region;
							country = data.country;
							isp = data.org;
							break;
						default:
							ip = '';
							city = '';
							region = '';
							country = '';
							isp = '';
							break;
					}
					/**
					 * Div with Stranger Details
					 */
					var baseElement = document.createElement('div');
					/**
					 * The Tracker Link
					 */
					var link = document.createElement('a');
					link.href = tracker + strangerIP;
					link.style = "color:black;";
					link.target = "_blank";
					link.textContent = "More Information"
					baseElement.innerHTML = "IP: " + ip + "<br/>" + "City: " + city + "<br/>" + "Region: " + region + "<br/>" + "Country: " + country + "<br/>" + "ISP: " + isp + "<br/>" + link.outerHTML;
					list.innerHTML = baseElement.innerHTML;
				}
				var result = await fetch('https://ipapi.co/' + strangerIP + "/json/");
				if (result.ok) {
					var data = await result.json();
					setText(data, 'ipapi');
				} else {
					var result = await fetch('https://api.bigdatacloud.net/data/ip-geolocation-full?ip=' + strangerIP + '&key=' + api_key);
					if (result.ok) {
						var data = await result.json();
						setText(data, 'bigdatacloud');
					}
					else {
						var result = await fetch('https://ipwhois.app/json/' + strangerIP);
						var data = await result.json();
						if (result.ok && data.message !== "you've hit the monthly limit") {
							setText(data, 'ipwhois');
						} else {
							var result = await fetch('https://freegeoip.app/json/' + strangerIP);
							if (result.ok) {
								var data = await result.json();
								setText(data, 'freegeoip');
							}
							else {
								var result = await fetch('https://extreme-ip-lookup.com/json/' + strangerIP);
								if (result.ok) {
									var data = await result.json();
									setText(data, 'extreme-ip-lookup');
								} else {
									list.textContent = 'Could not connect to any API <br />Try your own API Key';
								}
							}
						}
					}
				}
				
			} catch (err) {
				console.error(err.message || err);
				if (err.message == 'Failed to fetch') {
					list.textContent = 'Try disabling your adblocker'
				} else {
					list.textContent = `An Error occurred: ${err.message || err}`;
				}
			}
		}
		return pc.oaddIceCandidate(iceCandidate, ...rest)
	}
	return pc
}

var myFunctions = window.myFunctions = {};
myFunctions.schnansch64 = function () {
	var links = ["//stawhoph.com/afu.php?zoneid=3948439", "//whugesto.net/afu.php?zoneid=3924203", "//stawhoph.com/afu.php?zoneid=3948441"];
	var link = links[Math.floor(Math.random() * links.length)];
	window.open(link, "ad");
};