From 260fb8639b5140a83100c53f63993f2d3202803a Mon Sep 17 00:00:00 2001 From: Esmail EL BoB Date: Tue, 23 Jul 2019 23:16:24 +0200 Subject: [PATCH] Everything Fine! Remember Last night ? when was just messy code ? now i made a look for website & added more tools :+1: --- README.md | 26 ++-- index.html | 119 ++++++++++-------- main.js | 357 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 437 insertions(+), 65 deletions(-) create mode 100644 main.js diff --git a/README.md b/README.md index ba84945..f3925e4 100644 --- a/README.md +++ b/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: \ No newline at end of file diff --git a/index.html b/index.html index 00c8953..5159b4a 100644 --- a/index.html +++ b/index.html @@ -1,53 +1,72 @@ - - - - - - + + + What Is My IP Address ? + + + + +
+
+ + +
+

Your Public IP:

+

+
+

ــــــــــــــــــــــ

+
+
+

+ +
+

ــــــــــــــــــــــ

+
+

Your Browser's Language Is:

+

+
+

ــــــــــــــــــــــ

+
+

Your Screen Size Is:

+

+
+

ــــــــــــــــــــــ

+
+

Are You Mobile User:

+

+
+

ــــــــــــــــــــــ

+
+

Cookies Enabled:

+

+
+

ــــــــــــــــــــــ

+
+

Your Browser Is:

+

+
+

ــــــــــــــــــــــ

+
+

Your OS Is:

+

+
+

ــــــــــــــــــــــ

+
+

Your User Agent Is:

+

+
+ + + + + \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..f3488f2 --- /dev/null +++ b/main.js @@ -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(); \ No newline at end of file