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:
Esmail EL BoB
2019-07-23 23:16:24 +02:00
parent 259c8c1e8f
commit 260fb8639b
3 changed files with 437 additions and 65 deletions

View File

@@ -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:

View File

@@ -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
View 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();