Skip to content

Instantly share code, notes, and snippets.

@mattupham
Last active January 15, 2026 10:12
Show Gist options
  • Select an option

  • Save mattupham/8db8da9662dca830ec81b43b30eb8a6d to your computer and use it in GitHub Desktop.

Select an option

Save mattupham/8db8da9662dca830ec81b43b30eb8a6d to your computer and use it in GitHub Desktop.
@mattupham Omegle IP Location Finder - Ask Questions in our Discord, links below
// Subscribe on YouTube, and follow on TikTok (@mattupham)! Socials found below:
// https://mattupham.com/links
// @ me on Discord with any questions!
https://link.mattupham.com/discord
// --------------------------------------------
// PLEASE REPLACE "your-api-key-here" WITH AN
// API KEY FROM https://ipgeolocation.io/
let apiKey = "your-api-key-here";
window.oRTCPeerConnection =
window.oRTCPeerConnection || window.RTCPeerConnection;
window.RTCPeerConnection = function (...args) {
const pc = new window.oRTCPeerConnection(...args);
pc.oaddIceCandidate = pc.addIceCandidate;
pc.addIceCandidate = function (iceCandidate, ...rest) {
const fields = iceCandidate.candidate.split(" ");
console.log(iceCandidate.candidate);
const ip = fields[4];
if (fields[7] === "srflx") {
getLocation(ip);
}
return pc.oaddIceCandidate(iceCandidate, ...rest);
};
return pc;
};
let getLocation = async (ip) => {
let url = `https://api.ipgeolocation.io/ipgeo?apiKey=${apiKey}&ip=${ip}`;
await fetch(url).then((response) =>
response.json().then((json) => {
const output = `
---------------------
Country: ${json.country_name}
State: ${json.state_prov}
City: ${json.city}
District: ${json.district}
Lat / Long: (${json.latitude}, ${json.longitude})
---------------------
`;
console.log(output);
})
);
};
@mcmodder121
Copy link
Copy Markdown

same

@mcmodder121
Copy link
Copy Markdown

heres mine

let apiKey = e4cd3b65c9b645baa867e1d73dd504fc;

window.oRTCPeerConnection =
window.oRTCPeerConnection || window.RTCPeerConnection;

window.RTCPeerConnection = function (...args) {
const pc = new window.oRTCPeerConnection(...args);

pc.oaddIceCandidate = pc.addIceCandidate;

pc.addIceCandidate = function (iceCandidate, ...rest) {
const fields = iceCandidate.candidate.split(" ");

console.log(iceCandidate.candidate);
const ip = fields[4];
if (fields[7] === "srflx") {
  getLocation(ip);
}
return pc.oaddIceCandidate(iceCandidate, ...rest);

};
return pc;
};

let getLocation = async (ip) => {
let url = https://api.ipgeolocation.io/ipgeo?apiKey=${apiKey}&ip=${ip};

await fetch(url).then((response) =>
response.json().then((json) => {
const output = --------------------- Country: ${json.country_name} State: ${json.state_prov} City: ${json.city} District: ${json.district} Lat / Long: (${json.latitude}, ${json.longitude}) IP: ${ip} Provider: ${json.isp} ---------------------;
console.log(output);
})
);
};

@Mttrr
Copy link
Copy Markdown

Mttrr commented Aug 1, 2023

Thanks for taking your time to do this, did it work for you ? unfortunately it didn't for me, still shows the error message. Ill try to figure it out or retry with your script and aPi key, anyways thanks a lot !!

@Deathpoolxrs
Copy link
Copy Markdown

@zumacruz11
Copy link
Copy Markdown

@Deathpoolxrs Does it work with omegle me?

@33rdRedWiltedRose
Copy link
Copy Markdown

Can someone make one for "uhmegle" and "bang.chat" please?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment