mirror of
https://github.com/qeeqbox/social-analyzer.git
synced 2026-10-01 14:04:52 +02:00
Add files via upload
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{"version":"2020.V.01.04",
|
||||
{"version":"2020.V.01.05",
|
||||
"build":"pass",
|
||||
"test":"pass",
|
||||
"websites":"37",
|
||||
"detections":"120",
|
||||
"special":"1",
|
||||
"auto_testing":"8567cdf8-b542-406f-9eea-e30caa1d9897"}
|
||||
"auto_testing":"44429398-fc43-4ca2-b985-1c14c0ac2173"}
|
||||
|
||||
Generated
+186
@@ -41,6 +41,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
|
||||
},
|
||||
"array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
@@ -86,6 +91,11 @@
|
||||
"type-is": "~1.6.17"
|
||||
}
|
||||
},
|
||||
"boolbase": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
||||
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@@ -156,6 +166,54 @@
|
||||
"capture-stack-trace": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"css-select": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
|
||||
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
|
||||
"requires": {
|
||||
"boolbase": "~1.0.0",
|
||||
"css-what": "2.1",
|
||||
"domutils": "1.5.1",
|
||||
"nth-check": "~1.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"dom-serializer": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
|
||||
"integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"entities": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"domelementtype": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
|
||||
"integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"domelementtype": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
|
||||
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
|
||||
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
|
||||
"requires": {
|
||||
"dom-serializer": "0",
|
||||
"domelementtype": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"css-what": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
|
||||
"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
@@ -179,6 +237,14 @@
|
||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
|
||||
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
|
||||
},
|
||||
"dom-converter": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
|
||||
"integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
|
||||
"requires": {
|
||||
"utila": "~0.4"
|
||||
}
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz",
|
||||
@@ -315,6 +381,11 @@
|
||||
"vary": "~1.1.2"
|
||||
}
|
||||
},
|
||||
"express-async-errors": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/express-async-errors/-/express-async-errors-3.1.1.tgz",
|
||||
"integrity": "sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng=="
|
||||
},
|
||||
"finalhandler": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
|
||||
@@ -673,6 +744,14 @@
|
||||
"resolved": "https://registry.npmjs.org/node-tesseract-ocr/-/node-tesseract-ocr-2.0.0.tgz",
|
||||
"integrity": "sha512-NU2D6MpH6DSpv01ZrmCqMsbG/sPLq3WMOL7dJAP8D00djSrqnin96Vhu1uaf5/tiqXLEMe1Yiv69Uf0R/f0Dug=="
|
||||
},
|
||||
"nth-check": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
|
||||
"integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
|
||||
"requires": {
|
||||
"boolbase": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
@@ -765,6 +844,15 @@
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz",
|
||||
"integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg=="
|
||||
},
|
||||
"pretty-error": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
|
||||
"integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.20",
|
||||
"renderkid": "^2.0.4"
|
||||
}
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||
@@ -823,6 +911,91 @@
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"renderkid": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz",
|
||||
"integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==",
|
||||
"requires": {
|
||||
"css-select": "^1.1.0",
|
||||
"dom-converter": "^0.2",
|
||||
"htmlparser2": "^3.3.0",
|
||||
"lodash": "^4.17.20",
|
||||
"strip-ansi": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"dom-serializer": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
|
||||
"integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"entities": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"domelementtype": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
|
||||
"integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w=="
|
||||
},
|
||||
"entities": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
|
||||
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"domelementtype": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
|
||||
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
|
||||
},
|
||||
"domhandler": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
|
||||
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
|
||||
"requires": {
|
||||
"domelementtype": "1"
|
||||
}
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
|
||||
"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
|
||||
"requires": {
|
||||
"dom-serializer": "0",
|
||||
"domelementtype": "1"
|
||||
}
|
||||
},
|
||||
"entities": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
|
||||
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "3.10.1",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
|
||||
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
|
||||
"requires": {
|
||||
"domelementtype": "^1.3.1",
|
||||
"domhandler": "^2.3.0",
|
||||
"domutils": "^1.5.1",
|
||||
"entities": "^1.1.1",
|
||||
"inherits": "^2.0.1",
|
||||
"readable-stream": "^3.1.1"
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
|
||||
@@ -941,6 +1114,14 @@
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"tar": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
|
||||
@@ -1014,6 +1195,11 @@
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"utila": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
|
||||
"integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw="
|
||||
},
|
||||
"utils-merge": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||
|
||||
+3
-1
@@ -22,7 +22,9 @@
|
||||
"sanitize-html": "2.1.2",
|
||||
"async": "3.2.0",
|
||||
"follow-redirects": "1.13.0",
|
||||
"html-to-text": "6.0.0"
|
||||
"html-to-text": "6.0.0",
|
||||
"express-async-errors": "3.1.1",
|
||||
"pretty-error": "2.1.2"
|
||||
},
|
||||
"author": "QeeqBox",
|
||||
"license": "AGPL 3.0"
|
||||
|
||||
@@ -16,6 +16,9 @@ var firefox = require("selenium-webdriver/firefox");
|
||||
var { Builder, By } = require("selenium-webdriver");
|
||||
var https = require("follow-redirects").https;
|
||||
var async = require("async");
|
||||
var PrettyError = require('pretty-error');
|
||||
var pe = new PrettyError();
|
||||
require('express-async-errors');
|
||||
//var jsdom = require('jsdom');
|
||||
//var dom = new jsdom.JSDOM();
|
||||
//var window = dom.window;
|
||||
@@ -28,9 +31,8 @@ var parsed_sites = JSON.parse(fs.readFileSync("sites.json"));
|
||||
var app = express();
|
||||
|
||||
var WordsNinja = new WordsNinjaPack();
|
||||
app.use(express.urlencoded({extended: true}));
|
||||
app.use(express.json());
|
||||
|
||||
app.use(express.urlencoded({ extended: true }));
|
||||
app.use(express.json());
|
||||
app.use(express.static("public"));
|
||||
|
||||
async function find_username_special(username, options) {
|
||||
@@ -45,7 +47,7 @@ async function find_username_special(username, options) {
|
||||
if ("name" in site) {
|
||||
if (site.name == "facebook") {
|
||||
if (site.selected == "true") {
|
||||
functions.push(find_username_site_special_facebook_1.bind(null, username,site));
|
||||
functions.push(find_username_site_special_facebook_1.bind(null, username, site));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,32 +57,32 @@ async function find_username_special(username, options) {
|
||||
return results.filter(item => item !== undefined)
|
||||
}
|
||||
|
||||
async function find_username_site_special_facebook_1(username,site) {
|
||||
return new Promise( async (resolve, reject) => {
|
||||
async function find_username_site_special_facebook_1(username, site) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
let driver = new Builder()
|
||||
.forBrowser("firefox")
|
||||
.setFirefoxOptions(new firefox.Options().headless().windowSize({ width: 640, height: 480 }))
|
||||
.build();
|
||||
.forBrowser("firefox")
|
||||
.setFirefoxOptions(new firefox.Options().headless().windowSize({ width: 640, height: 480 }))
|
||||
.build();
|
||||
|
||||
try{
|
||||
try {
|
||||
var timeouts = {
|
||||
implicit: 0,
|
||||
pageLoad: 10000,
|
||||
script: 10000
|
||||
};
|
||||
|
||||
|
||||
var source = "";
|
||||
var data = "";
|
||||
var text_only = "unavailable";
|
||||
var title = "unavailable";
|
||||
var temp_profile = { "found": 0, "image": "", "link": "", rate: "", title: "", text: ""};
|
||||
var temp_profile = { "found": 0, "image": "", "link": "", rate: "", title: "", text: "" };
|
||||
var link = "https://mbasic.facebook.com/login/identify/?ctx=recoveqr";
|
||||
await driver.manage().setTimeouts(timeouts);
|
||||
await driver.get(link);;
|
||||
await driver.findElement(By.id('identify_search_text_input')).sendKeys(username);
|
||||
await driver.findElement(By.id('identify_search_text_input')).sendKeys(username);
|
||||
await driver.findElement(By.id('did_submit')).click();
|
||||
var source = await driver.getPageSource();
|
||||
source = await driver.getPageSource();
|
||||
text_only = await driver.findElement(By.tagName("body")).getText();
|
||||
await driver.quit()
|
||||
if (source.includes("Try Entering Your Password")) {
|
||||
@@ -94,16 +96,16 @@ async function find_username_site_special_facebook_1(username,site) {
|
||||
temp_profile.link = site.url.replace("{username}", username);
|
||||
resolve(temp_profile);
|
||||
}
|
||||
else{
|
||||
else {
|
||||
resolve(undefined)
|
||||
}
|
||||
}
|
||||
catch(err){
|
||||
if (driver !== undefined){
|
||||
try{
|
||||
}
|
||||
catch (err) {
|
||||
if (driver !== undefined) {
|
||||
try {
|
||||
await driver.quit()
|
||||
}
|
||||
catch(err){
|
||||
catch (err) {
|
||||
console.log("Driver Session Issue")
|
||||
}
|
||||
}
|
||||
@@ -131,31 +133,31 @@ async function find_username_advanced(username, options) {
|
||||
}
|
||||
|
||||
async function find_username_site_new(username, options, site) {
|
||||
return new Promise( async (resolve, reject) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
let driver = new Builder()
|
||||
.forBrowser("firefox")
|
||||
.setFirefoxOptions(new firefox.Options().headless().windowSize({ width: 640, height: 480 }))
|
||||
.build();
|
||||
.forBrowser("firefox")
|
||||
.setFirefoxOptions(new firefox.Options().headless().windowSize({ width: 640, height: 480 }))
|
||||
.build();
|
||||
|
||||
try{
|
||||
try {
|
||||
var timeouts = {
|
||||
implicit: 0,
|
||||
pageLoad: 10000,
|
||||
script: 10000
|
||||
};
|
||||
|
||||
|
||||
var source = "";
|
||||
var data = "";
|
||||
var text_only = "unavailable";
|
||||
var title = "unavailable";
|
||||
var temp_profile = { "found": 0, "image": "", "link": "", rate: "", title: "", text: ""};
|
||||
var temp_profile = { "found": 0, "image": "", "link": "", rate: "", title: "", text: "" };
|
||||
var link = site.url.replace("{username}", username);
|
||||
await driver.manage().setTimeouts(timeouts);
|
||||
await driver.get(link);;
|
||||
var source = await driver.getPageSource();
|
||||
var data = await driver.takeScreenshot();
|
||||
var title = await driver.getTitle();
|
||||
source = await driver.getPageSource();
|
||||
data = await driver.takeScreenshot();
|
||||
title = await driver.getTitle();
|
||||
text_only = await driver.findElement(By.tagName("body")).getText();
|
||||
await driver.quit()
|
||||
if (options.includes("ShowUserProflesSlow")) {
|
||||
@@ -163,7 +165,7 @@ async function find_username_site_new(username, options, site) {
|
||||
}
|
||||
if (site.selected == "true" && site.detections.length > 0 && options.includes("FindUserProflesSlow")) {
|
||||
await Promise.all(site.detections.map(async detection => {
|
||||
try{
|
||||
try {
|
||||
if ("status" in detection) {
|
||||
if (detection.status == "bad") {
|
||||
return;
|
||||
@@ -202,9 +204,9 @@ async function find_username_site_new(username, options, site) {
|
||||
temp_profile.found += 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
catch(err){
|
||||
catch (err) {
|
||||
|
||||
}
|
||||
}));
|
||||
@@ -216,16 +218,16 @@ async function find_username_site_new(username, options, site) {
|
||||
temp_profile.link = site.url.replace("{username}", username);
|
||||
resolve(temp_profile);
|
||||
}
|
||||
else{
|
||||
else {
|
||||
resolve(undefined)
|
||||
}
|
||||
}
|
||||
catch(err){
|
||||
if (driver !== undefined){
|
||||
try{
|
||||
}
|
||||
catch (err) {
|
||||
if (driver !== undefined) {
|
||||
try {
|
||||
await driver.quit()
|
||||
}
|
||||
catch(err){
|
||||
catch (err) {
|
||||
console.log("Driver Session Issue")
|
||||
}
|
||||
}
|
||||
@@ -266,7 +268,7 @@ async function find_username_normal(username, options) {
|
||||
ignoreHref: true,
|
||||
ignoreImage: true
|
||||
});
|
||||
if(temp_profile.text == ""){
|
||||
if (temp_profile.text == "") {
|
||||
temp_profile.text = "unavailable"
|
||||
}
|
||||
temp_profile.title = sanitizeHtml(title);
|
||||
@@ -330,7 +332,7 @@ async function find_username_advanced_2(username, options) {
|
||||
var data = "";
|
||||
var text_only = "unavailable";
|
||||
var title = "unavailable";
|
||||
var temp_profile = { "found": 0, "image": "", "link": "", rate: "", title: "", text: ""};
|
||||
var temp_profile = { "found": 0, "image": "", "link": "", rate: "", title: "", text: "" };
|
||||
var link = site.url.replace("{username}", username);
|
||||
await driver.get(link);;
|
||||
source = await driver.getPageSource();
|
||||
@@ -462,26 +464,21 @@ app.get("/get_settings", async function (req, res, next) {
|
||||
});
|
||||
|
||||
app.post("/save_settings", async function (req, res, next) {
|
||||
try {
|
||||
await parsed_sites.forEach(function (value, i) {
|
||||
parsed_sites[i].selected = "false"
|
||||
});
|
||||
if ("detections" in req.body) {
|
||||
if (req.body.detections.length > 0) {
|
||||
await req.body.detections.forEach(item => {
|
||||
parsed_sites[Number(item)].selected = "true";
|
||||
});
|
||||
}
|
||||
}
|
||||
if (req.body.google[0] != google_api_key.substring(0, 10) + "******") {
|
||||
google_api_key = req.body.google[0];
|
||||
}
|
||||
if (req.body.google[1] != google_api_cs.substring(0, 10) + "******") {
|
||||
google_api_cs = req.body.google[1];
|
||||
await parsed_sites.forEach(function (value, i) {
|
||||
parsed_sites[i].selected = "false"
|
||||
});
|
||||
if ("detections" in req.body) {
|
||||
if (req.body.detections.length > 0) {
|
||||
await req.body.detections.forEach(item => {
|
||||
parsed_sites[Number(item)].selected = "true";
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
if (req.body.google[0] != google_api_key.substring(0, 10) + "******") {
|
||||
google_api_key = req.body.google[0];
|
||||
}
|
||||
if (req.body.google[1] != google_api_cs.substring(0, 10) + "******") {
|
||||
google_api_cs = req.body.google[1];
|
||||
}
|
||||
|
||||
res.json("Done");
|
||||
@@ -489,21 +486,17 @@ app.post("/save_settings", async function (req, res, next) {
|
||||
|
||||
app.get("/generate", async function (req, res, next) {
|
||||
var list_of_combinations = []
|
||||
try {
|
||||
if (req.body.option == "Generate") {
|
||||
if (req.body.words != undefined && req.body.words.length > 1 && req.body.words.length < 8) {
|
||||
for (var perm of generatorics.permutationCombination(req.body.words)) {
|
||||
if (perm.join("") !== "") {
|
||||
list_of_combinations.push(perm.join(""));
|
||||
}
|
||||
if (req.body.option == "Generate") {
|
||||
if (req.body.words != undefined && req.body.words.length > 1 && req.body.words.length < 8) {
|
||||
for (var perm of generatorics.permutationCombination(req.body.words)) {
|
||||
if (perm.join("") !== "") {
|
||||
list_of_combinations.push(perm.join(""));
|
||||
}
|
||||
}
|
||||
}
|
||||
res.json({ combinations: list_of_combinations });
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);;
|
||||
}
|
||||
res.json({ combinations: list_of_combinations });
|
||||
|
||||
});
|
||||
|
||||
async function get_words_info(all_words, words_info) {
|
||||
@@ -560,8 +553,7 @@ async function get_words_info(all_words, words_info) {
|
||||
|
||||
async function check_engines(req, info) {
|
||||
try {
|
||||
if (google_api_key == "" || google_api_cs == "")
|
||||
{
|
||||
if (google_api_key == "" || google_api_cs == "") {
|
||||
return
|
||||
}
|
||||
var url = "https://www.googleapis.com/customsearch/v1?key={0}&cx={1}&q={2}".replace("{0}", google_api_key).replace("{1}", google_api_cs).replace("{2}", req.body.string);
|
||||
@@ -719,165 +711,169 @@ async function analyze_name(req, all_words) {
|
||||
app.post("/url", async function (req, res, next) {
|
||||
await WordsNinja.loadDictionary();
|
||||
var info = { "items": [], "original": "", "corrected": "", "total": 0, "checking": "Using " + req.body.string + " with no lookups" }
|
||||
var user_info_normal = {data:{},type:"all"}
|
||||
var user_info_advanced = {data:{},type:"all"}
|
||||
var user_info_special = {data:{},type:"all"}
|
||||
var user_info_normal = { data: {}, type: "all" }
|
||||
var user_info_advanced = { data: {}, type: "all" }
|
||||
var user_info_special = { data: {}, type: "all" }
|
||||
var all_words = { "prefix": [], "name": [], "number": [], "symbol": [], "unknown": [], "maybe": [] }
|
||||
var words_info = []
|
||||
var temp_words = []
|
||||
try {
|
||||
if (req.body.string == null || req.body.string == "") {
|
||||
res.json("Error");
|
||||
if (req.body.string == null || req.body.string == "") {
|
||||
res.json("Error");
|
||||
}
|
||||
else {
|
||||
if (req.body.option.includes("FindUserProflesSpecial")) {
|
||||
user_info_special.data = await find_username_special(req.body.string, req.body.option);
|
||||
}
|
||||
else {
|
||||
if (req.body.option.includes("FindUserProflesSpecial")) {
|
||||
user_info_special.data = await find_username_special(req.body.string, req.body.option);
|
||||
if (req.body.option.includes("FindUserProflesFast")) {
|
||||
user_info_advanced.data = await find_username_normal(req.body.string, req.body.option);
|
||||
}
|
||||
if (req.body.option.includes("FindUserProflesSlow") || req.body.option.includes("ShowUserProflesSlow")) {
|
||||
if (!req.body.option.includes("FindUserProflesSlow")) {
|
||||
user_info_normal.type = "show"
|
||||
}
|
||||
if (req.body.option.includes("FindUserProflesFast")) {
|
||||
user_info_advanced.data = await find_username_normal(req.body.string, req.body.option);
|
||||
else if (!req.body.option.includes("ShowUserProflesSlow")) {
|
||||
user_info_normal.type = "noshow"
|
||||
}
|
||||
if (req.body.option.includes("FindUserProflesSlow") || req.body.option.includes("ShowUserProflesSlow")) {
|
||||
if (!req.body.option.includes("FindUserProflesSlow"))
|
||||
{
|
||||
user_info_normal.type = "show"
|
||||
}
|
||||
else if (!req.body.option.includes("ShowUserProflesSlow")){
|
||||
user_info_normal.type = "noshow"
|
||||
}
|
||||
user_info_normal.data = await find_username_advanced(req.body.string, req.body.option);
|
||||
}
|
||||
if (req.body.option.includes("LookUps")) {
|
||||
await check_engines(req, info);
|
||||
}
|
||||
if (req.body.option.includes("SplitWordsByUpperCase")) {
|
||||
try {
|
||||
req.body.string.match(/[A-Z][a-z]+/g).forEach((item) => {
|
||||
if (item.length > 1 && !all_words.unknown.includes(item) && !all_words.maybe.includes(item)) {
|
||||
all_words.unknown.push(item.toLowerCase());
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) { }
|
||||
}
|
||||
|
||||
if (req.body.option.includes("SplitWordsByAlphabet")) {
|
||||
try {
|
||||
req.body.string.match(/[A-Za-z]+/g).forEach((item) => {
|
||||
if (item.length > 1 && !all_words.unknown.includes(item) && !all_words.maybe.includes(item)) {
|
||||
all_words.unknown.push(item.toLowerCase());
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) { }
|
||||
}
|
||||
|
||||
req.body.string = req.body.string.toLowerCase();
|
||||
|
||||
if (req.body.option.includes("ConvertNumbers")) {
|
||||
numbers_to_letters = {
|
||||
"4": "a",
|
||||
"8": "b",
|
||||
"3": "e",
|
||||
"1": "l",
|
||||
"0": "o",
|
||||
"5": "s",
|
||||
"7": "t",
|
||||
"2": "z"
|
||||
}
|
||||
|
||||
temp_value = ""
|
||||
for (i = 0; i < req.body.string.length; i++) {
|
||||
_temp = numbers_to_letters[req.body.string.charAt(i)]
|
||||
if (_temp != undefined) {
|
||||
temp_value += numbers_to_letters[req.body.string.charAt(i)];
|
||||
}
|
||||
else {
|
||||
temp_value += req.body.string.charAt(i);
|
||||
}
|
||||
}
|
||||
req.body.string = temp_value
|
||||
}
|
||||
|
||||
if (req.body.option.includes("LookUps") ||
|
||||
req.body.option.includes("WordInfo") ||
|
||||
req.body.option.includes("MostCommon") ||
|
||||
req.body.option.includes("SplitWordsByUpperCase") ||
|
||||
req.body.option.includes("SplitWordsByAlphabet") ||
|
||||
req.body.option.includes("FindSymbols") ||
|
||||
req.body.option.includes("FindNumbers") ||
|
||||
req.body.option.includes("ConvertNumbers")) {
|
||||
if (req.body.option.includes("FindNumbers")) {
|
||||
try {
|
||||
req.body.string.match(/(\d+)/g).forEach((item) => {
|
||||
if (!all_words.number.includes(item)) {
|
||||
all_words.number.push(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) { }
|
||||
}
|
||||
|
||||
if (req.body.option.includes("FindSymbols")) {
|
||||
try {
|
||||
req.body.string.match(/[ \[\]:"\\|,.<>\/?~`!@#$%^&*()_+\-={};']/gi).forEach((item) => {
|
||||
if (item !== " " && !all_words.symbol.includes(item)) {
|
||||
all_words.symbol.push(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) { }
|
||||
}
|
||||
|
||||
if (req.body.option.includes("SplitUpperCase")) {
|
||||
req.body.string = req.body.string.replace(/([A-Z]+)/g, " $1");
|
||||
if (req.body.string.startsWith(" ")) {
|
||||
req.body.string = req.body.string.substring(1);
|
||||
}
|
||||
}
|
||||
all_words.maybe = WordsNinja.splitSentence(req.body.string).filter(function (elem, index, self) { return index === self.indexOf(elem); }).filter(word => word.length > 1);
|
||||
await analyze_name(req, all_words);
|
||||
//find_other(all_words)
|
||||
Object.keys(all_words).forEach((key) => (all_words[key].length == 0) && delete all_words[key]);
|
||||
|
||||
if (req.body.option.includes("MostCommon")) {
|
||||
await most_common(all_words, temp_words);
|
||||
}
|
||||
if (req.body.option.includes("WordInfo")) {
|
||||
await get_words_info(all_words, words_info);
|
||||
}
|
||||
}
|
||||
else if (req.body.option.includes("NormalAnalysis@@")) {
|
||||
var maybe_words = WordsNinja.splitSentence(req.body.string);
|
||||
all_words.maybe = maybe_words.filter(function (elem, index, self) { return index === self.indexOf(elem); });
|
||||
list_of_tokens = _tokenizer.tokenize(req.body.string);
|
||||
list_of_tokens.forEach(function (item, index) {
|
||||
if (item.tag in all_words) {
|
||||
all_words[item.tag].push(item.token);
|
||||
}
|
||||
else {
|
||||
all_words[item.tag] = []
|
||||
all_words[item.tag].push(item.token);
|
||||
user_info_normal.data = await find_username_advanced(req.body.string, req.body.option);
|
||||
}
|
||||
if (req.body.option.includes("LookUps")) {
|
||||
await check_engines(req, info);
|
||||
}
|
||||
if (req.body.option.includes("SplitWordsByUpperCase")) {
|
||||
try {
|
||||
req.body.string.match(/[A-Z][a-z]+/g).forEach((item) => {
|
||||
if (item.length > 1 && !all_words.unknown.includes(item) && !all_words.maybe.includes(item)) {
|
||||
all_words.unknown.push(item.toLowerCase());
|
||||
}
|
||||
});
|
||||
|
||||
Object.keys(all_words).forEach((key) => (all_words[key].length == 0) && delete all_words[key]);
|
||||
}
|
||||
res.json({ info, table: all_words, common: temp_words, words_info: words_info, user_info_normal: user_info_normal,user_info_advanced: user_info_advanced,user_info_special: user_info_special});
|
||||
catch (err) { }
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
console.log(e);
|
||||
res.json("Error");
|
||||
|
||||
if (req.body.option.includes("SplitWordsByAlphabet")) {
|
||||
try {
|
||||
req.body.string.match(/[A-Za-z]+/g).forEach((item) => {
|
||||
if (item.length > 1 && !all_words.unknown.includes(item) && !all_words.maybe.includes(item)) {
|
||||
all_words.unknown.push(item.toLowerCase());
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) { }
|
||||
}
|
||||
|
||||
req.body.string = req.body.string.toLowerCase();
|
||||
|
||||
if (req.body.option.includes("ConvertNumbers")) {
|
||||
numbers_to_letters = {
|
||||
"4": "a",
|
||||
"8": "b",
|
||||
"3": "e",
|
||||
"1": "l",
|
||||
"0": "o",
|
||||
"5": "s",
|
||||
"7": "t",
|
||||
"2": "z"
|
||||
}
|
||||
|
||||
temp_value = ""
|
||||
for (i = 0; i < req.body.string.length; i++) {
|
||||
_temp = numbers_to_letters[req.body.string.charAt(i)]
|
||||
if (_temp != undefined) {
|
||||
temp_value += numbers_to_letters[req.body.string.charAt(i)];
|
||||
}
|
||||
else {
|
||||
temp_value += req.body.string.charAt(i);
|
||||
}
|
||||
}
|
||||
req.body.string = temp_value
|
||||
}
|
||||
|
||||
if (req.body.option.includes("LookUps") ||
|
||||
req.body.option.includes("WordInfo") ||
|
||||
req.body.option.includes("MostCommon") ||
|
||||
req.body.option.includes("SplitWordsByUpperCase") ||
|
||||
req.body.option.includes("SplitWordsByAlphabet") ||
|
||||
req.body.option.includes("FindSymbols") ||
|
||||
req.body.option.includes("FindNumbers") ||
|
||||
req.body.option.includes("ConvertNumbers")) {
|
||||
if (req.body.option.includes("FindNumbers")) {
|
||||
try {
|
||||
req.body.string.match(/(\d+)/g).forEach((item) => {
|
||||
if (!all_words.number.includes(item)) {
|
||||
all_words.number.push(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) { }
|
||||
}
|
||||
|
||||
if (req.body.option.includes("FindSymbols")) {
|
||||
try {
|
||||
req.body.string.match(/[ \[\]:"\\|,.<>\/?~`!@#$%^&*()_+\-={};']/gi).forEach((item) => {
|
||||
if (item !== " " && !all_words.symbol.includes(item)) {
|
||||
all_words.symbol.push(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) { }
|
||||
}
|
||||
|
||||
if (req.body.option.includes("SplitUpperCase")) {
|
||||
req.body.string = req.body.string.replace(/([A-Z]+)/g, " $1");
|
||||
if (req.body.string.startsWith(" ")) {
|
||||
req.body.string = req.body.string.substring(1);
|
||||
}
|
||||
}
|
||||
all_words.maybe = WordsNinja.splitSentence(req.body.string).filter(function (elem, index, self) { return index === self.indexOf(elem); }).filter(word => word.length > 1);
|
||||
await analyze_name(req, all_words);
|
||||
//find_other(all_words)
|
||||
Object.keys(all_words).forEach((key) => (all_words[key].length == 0) && delete all_words[key]);
|
||||
|
||||
if (req.body.option.includes("MostCommon")) {
|
||||
await most_common(all_words, temp_words);
|
||||
}
|
||||
if (req.body.option.includes("WordInfo")) {
|
||||
await get_words_info(all_words, words_info);
|
||||
}
|
||||
}
|
||||
else if (req.body.option.includes("NormalAnalysis@@")) {
|
||||
var maybe_words = WordsNinja.splitSentence(req.body.string);
|
||||
all_words.maybe = maybe_words.filter(function (elem, index, self) { return index === self.indexOf(elem); });
|
||||
list_of_tokens = _tokenizer.tokenize(req.body.string);
|
||||
list_of_tokens.forEach(function (item, index) {
|
||||
if (item.tag in all_words) {
|
||||
all_words[item.tag].push(item.token);
|
||||
}
|
||||
else {
|
||||
all_words[item.tag] = []
|
||||
all_words[item.tag].push(item.token);
|
||||
}
|
||||
});
|
||||
|
||||
Object.keys(all_words).forEach((key) => (all_words[key].length == 0) && delete all_words[key]);
|
||||
}
|
||||
res.json({ info, table: all_words, common: temp_words, words_info: words_info, user_info_normal: user_info_normal, user_info_advanced: user_info_advanced, user_info_special: user_info_special });
|
||||
}
|
||||
});
|
||||
|
||||
app.use((err, req, res, next) => {
|
||||
console.log(" --- Global Error ---")
|
||||
console.log(pe.render(err));
|
||||
res.json("Error");
|
||||
});
|
||||
|
||||
process.on('uncaughtException', function(err) {
|
||||
console.log(" --- Uncaught Error ---")
|
||||
console.log(pe.render(err));
|
||||
})
|
||||
|
||||
|
||||
process.on('unhandledRejection', function(err) {
|
||||
console.log(" --- Uncaught Rejection ---")
|
||||
console.log(pe.render(err));
|
||||
})
|
||||
|
||||
var server = app.listen(9005, function () {
|
||||
var port = server.address().port;
|
||||
console.log("Server started at http://localhost:%s/app.html", port);
|
||||
});
|
||||
|
||||
//server.setTimeout(60000);
|
||||
Reference in New Issue
Block a user