mirror of
https://github.com/qeeqbox/social-analyzer.git
synced 2026-09-12 20:57:45 +02:00
[auto-b] fixed python & NodeJS CLI --websites "all" - ref 719ad252
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"}
|
||||
|
||||
Reference in New Issue
Block a user