mirror of
https://github.com/SrIzan10/What-Is-My-IP-Address.git
synced 2026-05-01 11:06:57 +00:00
Everything Fine!
Remember Last night ? when was just messy code ? now i made a look for website & added more tools 👍
This commit is contained in:
26
README.md
26
README.md
@@ -1,17 +1,13 @@
|
||||
| # | Name | Link |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| 1 | Read Before Use | https://github.com/EsmailELBoBDev2/Whatismyip#---------------------------------------- |
|
||||
| 2 | Why ? | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------1 |
|
||||
| 3 | What's New | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------2 |
|
||||
| 4 | How To Install| https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------3 |
|
||||
| 5 | Downloads | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------4 |
|
||||
| 6 | Preview/Demo | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------5 |
|
||||
| 7 | License | https://github.com/EsmailELBoBDev2/Whatismyip/blob/master/COPYING |
|
||||
| 8 | My Other Projects | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------6 |
|
||||
| 9 | Thx! | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------7 |
|
||||
## ----------------------------------------
|
||||
# Read Before Use
|
||||
Before Use It, I Wanna To Let You Know That I Just Copied The Code Over The Internet So I Still Did not Preview The Code So Yeah & I Will Add My Edits Soon! :)
|
||||
| 1 | Why ? | https://github.com/EsmailELBoBDev2/Whatismyip#----------------------------------------- |
|
||||
| 2 | What's New | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------1 |
|
||||
| 3 | How To Install| https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------2 |
|
||||
| 4 | Downloads | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------3 |
|
||||
| 5 | Preview/Demo | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------4 |
|
||||
| 6 | License | https://github.com/EsmailELBoBDev2/Whatismyip/blob/master/COPYING |
|
||||
| 7 | My Other Projects | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------5 |
|
||||
| 8 | Thx! | https://github.com/EsmailELBoBDev2/Whatismyip#-----------------------------------------6 |
|
||||
## ----------------------------------------
|
||||
# Why ?
|
||||
After I Started To Know More About Privacy & How Much FB & Other Companies Are Mining Our Data I Encouraged More To Build Open Source Alternates Like Youtube & [Invidio.us](https://github.com/omarroth/invidious)
|
||||
@@ -25,7 +21,7 @@ Although The Website Uses *WebRTC* To Check IPs & Most Of Us Disabled It But Thi
|
||||
1. *Nothing*
|
||||
## ----------------------------------------
|
||||
# How To Edit Codes
|
||||
1. **Clone Project Files**: `git clone https://github.com/EsmailELBoBDev2/Whatismyip.git` (*You Not Need*: **README.md** *&* **COPYING** *Files*)
|
||||
1. **Clone Project Files**: `git clone https://github.com/EsmailELBoBDev2/Whatismyip.git` (*You Not Need*: **README.md** *&* **LICENSE** *Files*)
|
||||
|
||||
2. **Download Code Editor** (*Skip This, If You Already Have One*): *https://yerl.org/5PJau*
|
||||
|
||||
@@ -44,6 +40,6 @@ Although The Website Uses *WebRTC* To Check IPs & Most Of Us Disabled It But Thi
|
||||
***https://esmailelbobdev2.github.io/Whatismyip/***
|
||||
## ----------------------------------------
|
||||
# My Other Projects
|
||||
**https://github.com/EsmailELBoBDev2?tab=repositories** *,* **https://gitlab.com/users/EsmailELBoBDev2/projects**
|
||||
**https://github.com/EsmailELBoBDev2?tab=repositories** *&* **https://gitlab.com/users/EsmailELBoBDev2/projects**
|
||||
## ----------------------------------------
|
||||
# Thx For Using My Projects :smiley:
|
||||
# Thx For Using My Projects :smiley:
|
||||
119
index.html
119
index.html
@@ -1,53 +1,72 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
function findIP(onNewIP) {
|
||||
var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
|
||||
var pc = new myPeerConnection({iceServers: [{urls: "stun:stun.l.google.com:19302"}]}),
|
||||
noop = function() {},
|
||||
localIPs = {},
|
||||
ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
|
||||
key;
|
||||
|
||||
function ipIterate(ip) {
|
||||
if (!localIPs[ip]) onNewIP(ip);
|
||||
localIPs[ip] = true;
|
||||
}
|
||||
|
||||
pc.createDataChannel("");
|
||||
|
||||
pc.createOffer(function(sdp) {
|
||||
sdp.sdp.split('\n').forEach(function(line) {
|
||||
if (line.indexOf('candidate') < 0) return;
|
||||
line.match(ipRegex).forEach(ipIterate);
|
||||
});
|
||||
pc.setLocalDescription(sdp, noop, noop);
|
||||
}, noop);
|
||||
|
||||
pc.onicecandidate = function(ice) {
|
||||
if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
|
||||
ice.candidate.candidate.match(ipRegex).forEach(ipIterate);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
var ul = document.createElement('ul');
|
||||
ul.textContent = 'Your IPs are: '
|
||||
document.body.appendChild(ul);
|
||||
|
||||
function addIP(ip) {
|
||||
console.log('got ip: ', ip);
|
||||
var li = document.createElement('li');
|
||||
li.textContent = ip;
|
||||
ul.appendChild(li);
|
||||
}
|
||||
|
||||
findIP(addIP);
|
||||
</script>
|
||||
</body>
|
||||
|
||||
<head>
|
||||
<title>What Is My IP Address ?</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- <link rel="stylesheet" type="text/css" href="style.css"> -->
|
||||
</head>
|
||||
<header>
|
||||
</header>
|
||||
|
||||
<body>
|
||||
<div id="IP">
|
||||
<h2>Your Public IP: </h2>
|
||||
<h2 id="ip"></h2>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="LOCATION">
|
||||
<button id="find-me">Check My Location</button><br />
|
||||
<p id="status"></p>
|
||||
<a id="map-link" target="_blank"></a>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="LANGUAGE">
|
||||
<h2>Your Browser's Language Is: </h2>
|
||||
<h2 id="language"></h2>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="SCREEN">
|
||||
<h2>Your Screen Size Is: </h2>
|
||||
<h2 id="screen"></h2>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="MOBILE">
|
||||
<h2>Are You Mobile User: </h2>
|
||||
<h2 id="mobile"></h2>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="COOKIES">
|
||||
<h2>Cookies Enabled: </h2>
|
||||
<h2 id="cookies"></h2>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="BROWSER">
|
||||
<h2>Your Browser Is: </h2>
|
||||
<h2 id="browser"></h2>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="OS">
|
||||
<h2>Your OS Is: </h2>
|
||||
<h2 id="os"></h2>
|
||||
</div>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<div id="USERAGENT">
|
||||
<h2>Your User Agent Is: </h2>
|
||||
<h2 id="useragent"></h2>
|
||||
</div>
|
||||
<script src="main.js"></script>
|
||||
</body>
|
||||
|
||||
<footer>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<p>ــــــــــــــــــــــ</p>
|
||||
<h2><a href="https://github.com/EsmailELBoBDev2/Whatismyip">It's Open Source Website</a> & It's Made By <a
|
||||
href="https://esmailelbob.hashbase.io">Esmail EL BoB</a> & <a
|
||||
href="https://github.com/EsmailELBoBDev2/Whatismyip/issues"> Feel Free To Request/Add/Suggest New Ideas</a></h2>
|
||||
<h2><a href="https://github.com/EsmailELBoBDev2/Whatismyip/blob/master/LICENSE">Licensed Under GNU General Public
|
||||
License v3.0</a></h2>
|
||||
</footer>
|
||||
|
||||
</html>
|
||||
357
main.js
Normal file
357
main.js
Normal file
@@ -0,0 +1,357 @@
|
||||
// Find my ip code
|
||||
var RTCPeerConnection = window.RTCPeerConnection || webkitRTCPeerConnection || mozRTCPeerConnection;
|
||||
var peerConn = new RTCPeerConnection({
|
||||
'iceServers': [{
|
||||
'urls': ['stun:stun.l.google.com:19302']
|
||||
}]
|
||||
});
|
||||
var dataChannel = peerConn.createDataChannel('test'); // Needs something added for some reason
|
||||
peerConn.createOffer({}).then((desc) => peerConn.setLocalDescription(desc));
|
||||
peerConn.onicecandidate = (e) => {
|
||||
if (e.candidate == null) {
|
||||
document.getElementById("ip").innerText = /c=IN IP4 ([^\n]*)\n/.exec(peerConn.localDescription.sdp)[1];
|
||||
}
|
||||
};
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// Location
|
||||
function geoFindMe() {
|
||||
|
||||
const status = document.querySelector('#status');
|
||||
const mapLink = document.querySelector('#map-link');
|
||||
|
||||
mapLink.href = '';
|
||||
mapLink.textContent = '';
|
||||
|
||||
function success(position) {
|
||||
const latitude = position.coords.latitude;
|
||||
const longitude = position.coords.longitude;
|
||||
|
||||
status.textContent = '';
|
||||
mapLink.href = `https://www.openstreetmap.org/#map=18/${latitude}/${longitude}`;
|
||||
mapLink.textContent = `Latitude: ${latitude} °, Longitude: ${longitude} °`;
|
||||
}
|
||||
|
||||
function error() {
|
||||
status.textContent = 'Unable to retrieve your location';
|
||||
}
|
||||
|
||||
if (!navigator.geolocation) {
|
||||
status.textContent = 'Geolocation is not supported by your browser';
|
||||
} else {
|
||||
status.textContent = 'Locating…';
|
||||
navigator.geolocation.getCurrentPosition(success, error);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
document.querySelector('#find-me').addEventListener('click', geoFindMe);
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// What My Browser Language
|
||||
|
||||
function checkLang() {
|
||||
var userLang = navigator.language || navigator.userLanguage;
|
||||
document.getElementById("language").innerHTML = userLang;
|
||||
}
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// Screen
|
||||
function checkScreen() {
|
||||
var screenSize = '';
|
||||
|
||||
if (screen.width) {
|
||||
width = (screen.width) ? screen.width : '';
|
||||
height = (screen.height) ? screen.height : '';
|
||||
screenSize += '' + width + " x " + height;
|
||||
}
|
||||
window.jscd = {
|
||||
screen: screenSize
|
||||
};
|
||||
(this);
|
||||
document.getElementById("screen").innerHTML = jscd.screen;
|
||||
|
||||
}
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// Mobile
|
||||
function checkMobile() {
|
||||
var nVer = navigator.appVersion;
|
||||
var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);
|
||||
|
||||
window.jscd = {
|
||||
mobile: mobile
|
||||
};
|
||||
(this);
|
||||
document.getElementById("mobile").innerHTML = jscd.mobile;
|
||||
}
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// Cookies
|
||||
function checkCookies() {
|
||||
var cookieEnabled = (navigator.cookieEnabled) ? true : false;
|
||||
|
||||
if (typeof navigator.cookieEnabled == 'undefined' && !cookieEnabled) {
|
||||
document.cookie = 'testcookie';
|
||||
cookieEnabled = (document.cookie.indexOf('testcookie') != -1) ? true : false;
|
||||
}
|
||||
|
||||
window.jscd = {
|
||||
cookies: cookieEnabled
|
||||
};
|
||||
(this);
|
||||
document.getElementById("cookies").innerHTML = jscd.cookies;
|
||||
}
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// Browser
|
||||
function checkBrowser() {
|
||||
// browser
|
||||
var nAgt = navigator.userAgent;
|
||||
var browser = navigator.appName;
|
||||
var version = '' + parseFloat(navigator.appVersion);
|
||||
var majorVersion = parseInt(navigator.appVersion, 10);
|
||||
var nameOffset, verOffset, ix;
|
||||
|
||||
// Opera
|
||||
if ((verOffset = nAgt.indexOf('Opera')) != -1) {
|
||||
browser = 'Opera';
|
||||
version = nAgt.substring(verOffset + 6);
|
||||
if ((verOffset = nAgt.indexOf('Version')) != -1) {
|
||||
version = nAgt.substring(verOffset + 8);
|
||||
}
|
||||
}
|
||||
// Opera Next
|
||||
if ((verOffset = nAgt.indexOf('OPR')) != -1) {
|
||||
browser = 'Opera';
|
||||
version = nAgt.substring(verOffset + 4);
|
||||
}
|
||||
// Edge
|
||||
else if ((verOffset = nAgt.indexOf('Edge')) != -1) {
|
||||
browser = 'Microsoft Edge';
|
||||
version = nAgt.substring(verOffset + 5);
|
||||
}
|
||||
// MSIE
|
||||
else if ((verOffset = nAgt.indexOf('MSIE')) != -1) {
|
||||
browser = 'Microsoft Internet Explorer';
|
||||
version = nAgt.substring(verOffset + 5);
|
||||
}
|
||||
// Chrome
|
||||
else if ((verOffset = nAgt.indexOf('Chrome')) != -1) {
|
||||
browser = 'Chrome';
|
||||
version = nAgt.substring(verOffset + 7);
|
||||
}
|
||||
// Safari
|
||||
else if ((verOffset = nAgt.indexOf('Safari')) != -1) {
|
||||
browser = 'Safari';
|
||||
version = nAgt.substring(verOffset + 7);
|
||||
if ((verOffset = nAgt.indexOf('Version')) != -1) {
|
||||
version = nAgt.substring(verOffset + 8);
|
||||
}
|
||||
}
|
||||
// Firefox
|
||||
else if ((verOffset = nAgt.indexOf('Firefox')) != -1) {
|
||||
browser = 'Firefox';
|
||||
version = nAgt.substring(verOffset + 8);
|
||||
}
|
||||
// MSIE 11+
|
||||
else if (nAgt.indexOf('Trident/') != -1) {
|
||||
browser = 'Microsoft Internet Explorer';
|
||||
version = nAgt.substring(nAgt.indexOf('rv:') + 3);
|
||||
}
|
||||
// Other browsers
|
||||
else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {
|
||||
browser = nAgt.substring(nameOffset, verOffset);
|
||||
version = nAgt.substring(verOffset + 1);
|
||||
if (browser.toLowerCase() == browser.toUpperCase()) {
|
||||
browser = navigator.appName;
|
||||
}
|
||||
}
|
||||
// trim the version string
|
||||
if ((ix = version.indexOf(';')) != -1) version = version.substring(0, ix);
|
||||
if ((ix = version.indexOf(' ')) != -1) version = version.substring(0, ix);
|
||||
if ((ix = version.indexOf(')')) != -1) version = version.substring(0, ix);
|
||||
|
||||
majorVersion = parseInt('' + version, 10);
|
||||
if (isNaN(majorVersion)) {
|
||||
version = '' + parseFloat(navigator.appVersion);
|
||||
majorVersion = parseInt(navigator.appVersion, 10);
|
||||
}
|
||||
|
||||
|
||||
window.jscd = {
|
||||
browser: browser,
|
||||
browserVersion: version,
|
||||
browserMajorVersion: majorVersion,
|
||||
};
|
||||
(this);
|
||||
document.getElementById("browser").innerHTML = jscd.browser + ' ' + jscd.browserMajorVersion + ' (' + jscd.browserVersion + ')';
|
||||
}
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// OS
|
||||
function checkOS() {
|
||||
var nVer = navigator.appVersion;
|
||||
var nAgt = navigator.userAgent;
|
||||
var unknown = '-';
|
||||
var os = unknown;
|
||||
var clientStrings = [{
|
||||
s: 'Windows 10',
|
||||
r: /(Windows 10.0|Windows NT 10.0)/
|
||||
},
|
||||
{
|
||||
s: 'Windows 8.1',
|
||||
r: /(Windows 8.1|Windows NT 6.3)/
|
||||
},
|
||||
{
|
||||
s: 'Windows 8',
|
||||
r: /(Windows 8|Windows NT 6.2)/
|
||||
},
|
||||
{
|
||||
s: 'Windows 7',
|
||||
r: /(Windows 7|Windows NT 6.1)/
|
||||
},
|
||||
{
|
||||
s: 'Windows Vista',
|
||||
r: /Windows NT 6.0/
|
||||
},
|
||||
{
|
||||
s: 'Windows Server 2003',
|
||||
r: /Windows NT 5.2/
|
||||
},
|
||||
{
|
||||
s: 'Windows XP',
|
||||
r: /(Windows NT 5.1|Windows XP)/
|
||||
},
|
||||
{
|
||||
s: 'Windows 2000',
|
||||
r: /(Windows NT 5.0|Windows 2000)/
|
||||
},
|
||||
{
|
||||
s: 'Windows ME',
|
||||
r: /(Win 9x 4.90|Windows ME)/
|
||||
},
|
||||
{
|
||||
s: 'Windows 98',
|
||||
r: /(Windows 98|Win98)/
|
||||
},
|
||||
{
|
||||
s: 'Windows 95',
|
||||
r: /(Windows 95|Win95|Windows_95)/
|
||||
},
|
||||
{
|
||||
s: 'Windows NT 4.0',
|
||||
r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/
|
||||
},
|
||||
{
|
||||
s: 'Windows CE',
|
||||
r: /Windows CE/
|
||||
},
|
||||
{
|
||||
s: 'Windows 3.11',
|
||||
r: /Win16/
|
||||
},
|
||||
{
|
||||
s: 'Android',
|
||||
r: /Android/
|
||||
},
|
||||
{
|
||||
s: 'Open BSD',
|
||||
r: /OpenBSD/
|
||||
},
|
||||
{
|
||||
s: 'Sun OS',
|
||||
r: /SunOS/
|
||||
},
|
||||
{
|
||||
s: 'Linux',
|
||||
r: /(Linux|X11)/
|
||||
},
|
||||
{
|
||||
s: 'iOS',
|
||||
r: /(iPhone|iPad|iPod)/
|
||||
},
|
||||
{
|
||||
s: 'Mac OS X',
|
||||
r: /Mac OS X/
|
||||
},
|
||||
{
|
||||
s: 'Mac OS',
|
||||
r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/
|
||||
},
|
||||
{
|
||||
s: 'QNX',
|
||||
r: /QNX/
|
||||
},
|
||||
{
|
||||
s: 'UNIX',
|
||||
r: /UNIX/
|
||||
},
|
||||
{
|
||||
s: 'BeOS',
|
||||
r: /BeOS/
|
||||
},
|
||||
{
|
||||
s: 'OS/2',
|
||||
r: /OS\/2/
|
||||
},
|
||||
{
|
||||
s: 'Search Bot',
|
||||
r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/
|
||||
}
|
||||
];
|
||||
for (var id in clientStrings) {
|
||||
var cs = clientStrings[id];
|
||||
if (cs.r.test(nAgt)) {
|
||||
os = cs.s;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var osVersion = unknown;
|
||||
|
||||
if (/Windows/.test(os)) {
|
||||
osVersion = /Windows (.*)/.exec(os)[1];
|
||||
os = 'Windows';
|
||||
}
|
||||
|
||||
switch (os) {
|
||||
case 'Mac OS X':
|
||||
osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1];
|
||||
break;
|
||||
|
||||
case 'Android':
|
||||
osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1];
|
||||
break;
|
||||
|
||||
case 'iOS':
|
||||
osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);
|
||||
osVersion = osVersion[1] + '.' + osVersion[2] + '.' + (osVersion[3] | 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
window.jscd = {
|
||||
os: os,
|
||||
osVersion: osVersion
|
||||
};
|
||||
(this);
|
||||
document.getElementById("os").innerHTML = jscd.os + ' ' + jscd.osVersion;
|
||||
}
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// User Agent
|
||||
function checkUserAgent() {
|
||||
document.getElementById("useragent").innerHTML = navigator.userAgent;
|
||||
}
|
||||
// ـــــــــــــــــــــــــــــــــــ
|
||||
|
||||
// <*>RUN ALL OF THEM, BABY!<*> \\
|
||||
checkLang();
|
||||
checkScreen();
|
||||
checkMobile();
|
||||
checkCookies();
|
||||
checkBrowser();
|
||||
checkOS();
|
||||
checkUserAgent();
|
||||
Reference in New Issue
Block a user