[auto-b] fixed python & NodeJS CLI --websites "all" - ref 719ad252

This commit is contained in:
G
2021-01-11 12:02:06 -08:00
committed by GitHub
parent 58ab4d4fee
commit 4ac08da5a9
4 changed files with 45 additions and 31 deletions
+8 -7
View File
@@ -5,18 +5,17 @@
API and Web App for analyzing & finding a person profile across +300 social media websites. It includes different string analysis and detection modules, you can choose which combination of modules to use during the investigation
The detection modules utilize a rating mechanism based on different detection techniques, which produces a rate value that starts from 0 to 100 (No-Maybe-Yes) - This model produces less *False Positive* comparing with other models
The detection modules utilize a rating mechanism based on different detection techniques, which produces a rate value that starts from 0 to 100 (No-Maybe-Yes)
This project could help in investigating profiles related to suspicious or malicious activities such as [cyberbullying](https://en.wikipedia.org/wiki/Wikipedia:Cyberbullying), [cybergrooming](https://de.wikipedia.org/wiki/Cyber-Grooming) & [cyberstalking](https://en.wikipedia.org/wiki/Cyberstalking), [spreading misinformation](https://en.wikipedia.org/wiki/Misinformation). And, *"It's currently used by some law enforcement agencies in countries where resources are limited"*
**Pull Requests are welcomed!**
## Updates
- Added a new refactored version 👏👏👏
- Added --websites "all" for python & NodeJS CLI (You can scan ALL the websites within 2~10 seconds) 👏👏👏
- Added a new refactored version
- Added special detection for google
- Added more customization to the CLI python version (It's a lot easier to integrate using the JSON output switch)
- Added Custom Search Query
- Added similarity checking to FindOrigins
## Security Testing
@@ -48,15 +47,17 @@ Profile images **will not** be blurred. If you want them to be blurred, turn tha
- Multi Layers Detections (OCR, Normal, Advanced & Special)
- Find Profile using Multiple Techniques (Fast & Slow)
- Profile Screenshot, Title, Info and Website Description
- Find Name Origins & Common words by Language
- Find Name Origins, Name Similarity & Common words by Language
- Custom user-agent, proxy, timeout & implicit wait
- Python CLI & NodeJS CLI (Limited to FindUserProfilesFast option)
- Grid Option for Faster Checking (Limited to docker-compose) 👏
- Dump Logs to folder or terminal (prettified)
- Dump Logs to Folder or Terminal (prettified)
- [Wiki](https://github.com/qeeqbox/social-analyzer/wiki)
## Special Detections
- Facebook, @gmail and google
- Facebook (Phone number, name or profile name
- Gmail (example@gmail.com)
- Google (example@example.com)
## Install and run as web app (NodeJS + NPM + Firefox)
```bash
+18 -10
View File
@@ -367,16 +367,24 @@ async function check_user_cli(argv) {
'option': 'FindUserProfilesFast,' + argv.output
}
}
await helper.parsed_sites.forEach(async function(value, i) {
helper.parsed_sites[i].selected = "false"
if (argv.websites.length > 0) {
await argv.websites.split(' ').forEach(item => {
if (helper.parsed_sites[i].url.toLowerCase().includes(item.toLowerCase())) {
helper.parsed_sites[i].selected = "true"
}
});
}
});
if (argv.websites == "all"){
await helper.parsed_sites.forEach(async function(value, i) {
helper.parsed_sites[i].selected = "true"
});
}
else{
await helper.parsed_sites.forEach(async function(value, i) {
helper.parsed_sites[i].selected = "false"
if (argv.websites.length > 0) {
await argv.websites.split(' ').forEach(item => {
if (helper.parsed_sites[i].url.toLowerCase().includes(item.toLowerCase())) {
helper.parsed_sites[i].selected = "true"
}
});
}
});
}
ret = await fastscan.find_username_normal(req)
if (typeof ret === 'undefined' || ret === undefined || ret.length == 0) {
+17 -12
View File
@@ -37,14 +37,14 @@ LOG = getLogger("social-analyzer")
@contextmanager
def ignore_excpetion(*exceptions):
'''
catch excpetion
'''
try:
yield
except exceptions as error:
#print("{} {} {}".format(datetime.utcnow(), EXCLAMATION_MARK, error))
pass
'''
catch excpetion
'''
try:
yield
except exceptions as error:
#print("{} {} {}".format(datetime.utcnow(), EXCLAMATION_MARK, error))
pass
def check_errors(on_off=None):
def decorator(func):
@@ -147,10 +147,15 @@ def check_user_cli(parsed):
temp_keys = {"found": 0,"link": "","rate": "","title": "","text": ""};
req = {"body": {"uuid": str(uuid4()),"string": parsed.username,"option": "FindUserProfilesFast"}}
setup_logger(req["body"]["uuid"],True)
for site in PARSED_SITES:
for temp in parsed.websites.split(" "):
if temp in site["url"]:
site["selected"] = "true"
if parsed.websites == "all":
for site in PARSED_SITES:
site["selected"] = "true"
else:
for site in PARSED_SITES:
for temp in parsed.websites.split(" "):
if temp in site["url"]:
site["selected"] = "true"
find_username_normal(req, parsed)
while not QUEUE.empty():
items = QUEUE.get()
+2 -2
View File
@@ -1,4 +1,4 @@
{"version":"2021.V.2.10",
{"version":"2021.V.2.11",
"build":"pass",
"test":"pass",
"grid_test":"pass",
@@ -6,4 +6,4 @@
"detections":"939",
"special":"3",
"awaiting_verification":"22",
"auto_testing":"bb581703-6333-4d78-bb30-e20a9e846145"}
"auto_testing":"7734d352-8446-4cda-99f1-73b5a263ac31"}