-
-
Save luckysitara/90b3c5587a6137831658a92ad9826166 to your computer and use it in GitHub Desktop.
location wasn't included in the ip analysis output( and also if the analysis return the latitude and longitude of the location is there a way we can add a map feature using google map to view the location? ) and the result instead of being displayed in the same page can have a different page for it just like pii intelligence result page | |
https://v0.app/chat/sentinel-6pqhUTAgEUc | |
AIzaSyCoNJkO0GhoeY2uy6NPzxeVF0GxZvy33qI |
#!/usr/bin/env python3
import ipwhois
import ipinfo
import nmap
import json
------------------ Config ------------------
IPINFO_TOKEN = "e9f48a1b8ded6b"
handler = ipinfo.getHandler(IPINFO_TOKEN)
------------------ Helpers ------------------
def safe_getattr(obj, attr, default=None):
try:
return getattr(obj, attr)
except Exception:
return default
def flatten_email_field(field):
"""
Normalize various possible email representations into a flat list of strings.
"""
results = []
if not field:
return results
if isinstance(field, str):
results.append(field)
elif isinstance(field, list):
for item in field:
if isinstance(item, str):
results.append(item)
elif isinstance(item, list):
# nested lists (e.g., vcard-like structures)
for sub in item:
if isinstance(sub, str):
results.append(sub)
elif isinstance(field, dict):
# defensive: sometimes contact info may be dict-like
for v in field.values():
results.extend(flatten_email_field(v))
return results
------------------ IP Info ------------------
def get_ip_info(ip):
try:
details = handler.getDetails(ip)
except Exception as e:
return {"error": f"IPinfo lookup failed: {str(e)}"}
asn_dict = None
try:
asn_dict = details.asn if hasattr(details, "asn") else None
except Exception:
asn_dict = None
return {
"ip": safe_getattr(details, "ip", ip),
"hostname": safe_getattr(details, "hostname", None),
"asn": safe_getattr(details, "org", None),
"asn_number": asn_dict.get("asn") if isinstance(asn_dict, dict) and asn_dict.get("asn") else None,
"asn_org": asn_dict.get("name") if isinstance(asn_dict, dict) and asn_dict.get("name") else None,
"asn_domain": asn_dict.get("domain") if isinstance(asn_dict, dict) and asn_dict.get("domain") else None,
"asn_type": asn_dict.get("type") if isinstance(asn_dict, dict) and asn_dict.get("type") else None,
"city": safe_getattr(details, "city", None),
"region": safe_getattr(details, "region", None),
"country": safe_getattr(details, "country_name", None),
"country_code": safe_getattr(details, "country", None),
"location": safe_getattr(details, "loc", None),
"postal": safe_getattr(details, "postal", None),
"timezone": safe_getattr(details, "timezone", None),
"carrier": safe_getattr(details, "carrier", None),
"isp": safe_getattr(details, "org", None)
}
------------------ WHOIS Info ------------------
def get_whois_info(ip):
try:
obj = ipwhois.IPWhois(ip)
results = obj.lookup_rdap(asn_methods=["whois"])
except Exception as e:
return {"error": f"WHOIS lookup failed: {str(e)}"}
network = results.get("network", {}) or {}
objects = results.get("objects", {}) or {}
def contact_for_roles(role_names):
found = []
for obj_name, obj_data in objects.items():
roles = obj_data.get("roles", []) or []
contact = obj_data.get("contact", {}) or {}
# primary email fields
email_field = contact.get("email")
if email_field and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
found.extend(flatten_email_field(email_field))
# alternative fields that sometimes hold emails
emails_alt = contact.get("emails") or contact.get("emailAddresses") or contact.get("vcardArray")
if emails_alt and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
found.extend(flatten_email_field(emails_alt))
# dedupe while preserving order
seen = set()
unique = []
for e in found:
if e and e not in seen:
seen.add(e)
unique.append(e)
return unique or ["N/A"]
abuse = contact_for_roles(["abuse"])
tech = contact_for_roles(["tech"])
noc = contact_for_roles(["noc"])
# Also try to extract common named objects if present
abuse_obj = objects.get("ABUSE", {}).get("contact", {}) if isinstance(objects, dict) else {}
tech_obj = objects.get("TECH", {}).get("contact", {}) if isinstance(objects, dict) else {}
admin_obj = objects.get("ADMIN", {}).get("contact", {}) if isinstance(objects, dict) else {}
return {
"network": network.get("name"),
"cidr": network.get("cidr"),
"net_range": network.get("range"),
"org": network.get("org"),
"type": network.get("type"),
"country": network.get("country"),
"start_address": network.get("start_address"),
"end_address": network.get("end_address"),
"parent_handle": network.get("parent_handle"),
"abuse_contact": abuse if abuse != ["N/A"] else (abuse_obj or {}),
"tech_contact": tech if tech != ["N/A"] else (tech_obj or {}),
"admin_contact": admin_obj or {},
"creation_date": network.get("created"),
"updated_date": network.get("updated"),
"entities": results.get("entities")
}
------------------ Port Scanner ------------------
def scan_ports_list(ip, ports="20-1000"):
nm = nmap.PortScanner()
try:
nm.scan(ip, ports, arguments="-sV")
except Exception as e:
return [{"error": str(e)}]
results = []
if ip not in nm.all_hosts():
return [{"info": "No host results from nmap (host may be down or filtered)"}]
for host in nm.all_hosts():
for proto in nm[host].all_protocols():
ports_dict = nm[host][proto]
for port, port_data in ports_dict.items():
results.append({
"port": port,
"protocol": proto,
"state": port_data.get("state"),
"service": port_data.get("name"),
"product": port_data.get("product"),
"version": port_data.get("version")
})
return results if results else [{"info": "No open ports found"}]
------------------ Classification ------------------
def classify_ip(ipinfo_data):
asn_type = (ipinfo_data.get("asn_type") or "") or ""
asn_type = asn_type.lower()
if "hosting" in asn_type or "datacenter" in asn_type:
return "Hosting/Server Provider"
if "isp" in asn_type or "residential" in asn_type:
return "Residential/ISP"
if "mobile" in asn_type or ipinfo_data.get("carrier"):
return "Mobile Network"
asn_field = (ipinfo_data.get("asn") or "").lower()
if "google" in asn_field or "amazon" in asn_field or "microsoft" in asn_field:
return "Cloud/Hosting Provider"
return "Unknown"
------------------ Main ------------------
if name == "main":
ip = input("Enter an IP (e.g., 8.8.8.8): ").strip()
ip_info = get_ip_info(ip)
whois_info = get_whois_info(ip)
nmap_info = scan_ports_list(ip)
classification = classify_ip(ip_info)
combined_info = {
"ip_info": ip_info,
"whois_info": whois_info,
"nmap_info": nmap_info,
"classification": classification
}
print("\nFull Combined OSINT Report for", ip)
print(json.dumps(combined_info, indent=2))
INFO: 127.0.0.1:42716 - "OPTIONS /api/api/v1/maps/embed-url HTTP/1.1" 200 OK
INFO: 127.0.0.1:42718 - "OPTIONS /api/api/v1/maps/embed-url HTTP/1.1" 200 OK
INFO: 127.0.0.1:42716 - "POST /api/api/v1/maps/embed-url HTTP/1.1" 404 Not Found
INFO: 127.0.0.1:42718 - "POST /api/api/v1/maps/embed-url HTTP/1.1" 404 Not Found
✓ Compiled /ip-analysis/results in 382ms (922 modules)
GET /ip-analysis/results?q=162.210.96.125&data=%7B%22ip_info%22%3A%7B%22ip%22%3A%22162.210.96.125%22%2C%22hostname%22%3Anull%2C%22asn%22%3A%22AS14555+LiquidNet+US+LLC%22%2C%22asn_number%22%3Anull%2C%22asn_org%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22city%22%3A%22Chicago%22%2C%22region%22%3A%22Illinois%22%2C%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22location%22%3A%2241.8500%2C-87.6500%22%2C%22postal%22%3A%2260666%22%2C%22timezone%22%3A%22America%2FChicago%22%2C%22carrier%22%3Anull%2C%22isp%22%3A%22AS14555+LiquidNet+US+LLC%22%7D%2C%22whois_info%22%3A%7B%22network%22%3A%22LIQUIDNET-HOSTING%22%2C%22cidr%22%3A%22162.210.96.0%2F21%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22type%22%3A%22DIRECT+ALLOCATION%22%2C%22country%22%3Anull%2C%22start_address%22%3A%22162.210.96.0%22%2C%22end_address%22%3A%22162.210.103.255%22%2C%22parent_handle%22%3A%22NET-162-0-0-0-0%22%2C%22abuse_contact%22%3A%7B%7D%2C%22tech_contact%22%3A%7B%7D%2C%22admin_contact%22%3A%7B%7D%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%2C%22entities%22%3A%5B%22LUL-5%22%5D%7D%2C%22nmap_info%22%3A%5B%7B%22port%22%3A21%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22ftp%22%2C%22product%22%3A%22Pure-FTPd%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A22%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22ssh%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A25%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22smtp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A80%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A111%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22rpcbind%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A135%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22msrpc%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A136%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22profile%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A137%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ns%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A138%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-dgm%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A139%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ssn%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A443%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A445%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22microsoft-ds%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A646%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22ldp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%5D%2C%22classification%22%3A%22Unknown%22%2C%22ip_address%22%3A%22162.210.96.125%22%2C%22type%22%3A%22IPv4%22%2C%22is_private%22%3Afalse%2C%22is_loopback%22%3Afalse%2C%22is_multicast%22%3Afalse%2C%22reverse_dns%22%3Anull%2C%22geolocation%22%3A%7B%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22region%22%3A%22Illinois%22%2C%22city%22%3A%22Chicago%22%2C%22latitude%22%3A41.85%2C%22longitude%22%3A-87.65%2C%22timezone%22%3A%22America%2FChicago%22%2C%22isp%22%3A%22AS14555+LiquidNet+US+LLC%22%2C%22organization%22%3Anull%2C%22postal%22%3A%2260666%22%7D%2C%22network%22%3A%7B%22asn%22%3A%22AS14555+LiquidNet+US+LLC%22%2C%22asn_name%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22cidr%22%3A%22162.210.96.0%2F21%22%2C%22type%22%3A%22unknown%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22start_address%22%3A%22162.210.96.0%22%2C%22end_address%22%3A%22162.210.103.255%22%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%7D%2C%22ports%22%3A%7B%22open%22%3A%5B21%2C80%2C443%5D%2C%22filtered%22%3A%5B%5D%2C%22closed%22%3A%5B%5D%7D%2C%22services%22%3A%5B%7B%22port%22%3A21%2C%22service%22%3A%22ftp%22%2C%22product%22%3A%22Pure-FTPd%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Pure-FTPd%22%7D%2C%7B%22port%22%3A80%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Apache+httpd%22%7D%2C%7B%22port%22%3A443%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Apache+httpd%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Apache+httpd%22%7D%5D%2C%22contacts%22%3A%7B%22abuse%22%3A%7B%7D%2C%22tech%22%3A%7B%7D%2C%22admin%22%3A%7B%7D%7D%2C%22reputation%22%3A%7B%22score%22%3A100%2C%22category%22%3A%22legitimate%22%2C%22threats%22%3A%5B%5D%2C%22blacklisted%22%3Afalse%7D%2C%22vulnerabilities%22%3A%5B%5D%7D 200 in 79ms
└──╼ $uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
INFO: Will watch for changes in these directories: ['/home/venom/nip/backend']
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO: Started reloader process [6773] using WatchFiles
INFO: Started server process [6775]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:44638 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
INFO: 127.0.0.1:44622 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
INFO: 127.0.0.1:44622 - "GET /api/ip/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:44622 - "GET /api/ip/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:38356 - "POST /api/ip/analyze HTTP/1.1" 200 OK
INFO: 127.0.0.1:38356 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:55508 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:55504 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:55504 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:48204 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
INFO: 127.0.0.1:48220 - "POST /api/maps/embed-url HTTP/1.1" 401 Unauthorized
✓ Starting...
✓ Ready in 2.1s
○ Compiling /login ...
✓ Compiled /login in 4.1s (664 modules)
GET /login 200 in 4185ms
○ Compiling /dashboard ...
✓ Compiled /dashboard in 956ms (992 modules)
✓ Compiled /ip-analysis in 226ms (1003 modules)
✓ Compiled /ip-analysis/results in 431ms (1024 modules)
GET /ip-analysis/results?q=205.251.242.103&data=%7B%22ip_info%22%3A%7B%22ip%22%3A%22205.251.242.103%22%2C%22hostname%22%3A%22s3-console-us-standard.console.aws.amazon.com%22%2C%22asn%22%3A%22AS16509+Amazon.com%2C+Inc.%22%2C%22asn_number%22%3Anull%2C%22asn_org%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22city%22%3A%22Ashburn%22%2C%22region%22%3A%22Virginia%22%2C%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22location%22%3A%2239.0437%2C-77.4875%22%2C%22postal%22%3A%2220147%22%2C%22timezone%22%3A%22America%2FNew_York%22%2C%22carrier%22%3Anull%2C%22isp%22%3A%22AS16509+Amazon.com%2C+Inc.%22%7D%2C%22whois_info%22%3A%7B%22network%22%3A%22AMAZON-05%22%2C%22cidr%22%3A%22205.251.192.0%2F18%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22type%22%3A%22DIRECT+ALLOCATION%22%2C%22country%22%3Anull%2C%22start_address%22%3A%22205.251.192.0%22%2C%22end_address%22%3A%22205.251.255.255%22%2C%22parent_handle%22%3A%22NET-205-0-0-0-0%22%2C%22abuse_contact%22%3A%7B%7D%2C%22tech_contact%22%3A%7B%7D%2C%22admin_contact%22%3A%7B%7D%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%2C%22entities%22%3A%5B%22AMAZON-4%22%2C%22ROLEA19-ARIN%22%5D%7D%2C%22nmap_info%22%3A%5B%7B%22port%22%3A25%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22smtp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A80%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A135%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22msrpc%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A136%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22profile%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A137%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ns%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A138%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-dgm%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A139%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22netbios-ssn%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A443%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22open%22%2C%22service%22%3A%22https%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A445%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22microsoft-ds%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%2C%7B%22port%22%3A646%2C%22protocol%22%3A%22tcp%22%2C%22state%22%3A%22filtered%22%2C%22service%22%3A%22ldp%22%2C%22product%22%3A%22%22%2C%22version%22%3A%22%22%7D%5D%2C%22classification%22%3A%22Cloud%2FHosting+Provider%22%2C%22ip_address%22%3A%22205.251.242.103%22%2C%22type%22%3A%22IPv4%22%2C%22is_private%22%3Afalse%2C%22is_loopback%22%3Afalse%2C%22is_multicast%22%3Afalse%2C%22reverse_dns%22%3A%22s3-console-us-standard.console.aws.amazon.com%22%2C%22geolocation%22%3A%7B%22country%22%3A%22United+States%22%2C%22country_code%22%3A%22US%22%2C%22region%22%3A%22Virginia%22%2C%22city%22%3A%22Ashburn%22%2C%22latitude%22%3A39.0437%2C%22longitude%22%3A-77.4875%2C%22timezone%22%3A%22America%2FNew_York%22%2C%22isp%22%3A%22AS16509+Amazon.com%2C+Inc.%22%2C%22organization%22%3Anull%2C%22postal%22%3A%2220147%22%7D%2C%22network%22%3A%7B%22asn%22%3A%22AS16509+Amazon.com%2C+Inc.%22%2C%22asn_name%22%3Anull%2C%22asn_domain%22%3Anull%2C%22asn_type%22%3Anull%2C%22cidr%22%3A%22205.251.192.0%2F18%22%2C%22type%22%3A%22cloud%2Fhosting+provider%22%2C%22net_range%22%3Anull%2C%22org%22%3Anull%2C%22start_address%22%3A%22205.251.192.0%22%2C%22end_address%22%3A%22205.251.255.255%22%2C%22creation_date%22%3Anull%2C%22updated_date%22%3Anull%7D%2C%22ports%22%3A%7B%22open%22%3A%5B80%2C443%5D%2C%22filtered%22%3A%5B%5D%2C%22closed%22%3A%5B%5D%7D%2C%22services%22%3A%5B%7B%22port%22%3A80%2C%22service%22%3A%22http%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Server%22%7D%2C%7B%22port%22%3A443%2C%22service%22%3A%22https%22%2C%22product%22%3A%22Server%22%2C%22version%22%3A%22%22%2C%22banner%22%3A%22Server%22%7D%5D%2C%22contacts%22%3A%7B%22abuse%22%3A%7B%7D%2C%22tech%22%3A%7B%7D%2C%22admin%22%3A%7B%7D%7D%2C%22reputation%22%3A%7B%22score%22%3A100%2C%22category%22%3A%22legitimate%22%2C%22threats%22%3A%5B%5D%2C%22blacklisted%22%3Afalse%7D%2C%22vulnerabilities%22%3A%5B%5D%7D 200 in 80ms
┌─[venom@parrot]─[~/nip/frontend]
└──╼ $npm run dev
[email protected] dev
next dev
▲ Next.js 14.2.31
- Local: http://localhost:3000
- Environments: .env.local
✓ Starting...
✓ Ready in 2.1s
○ Compiling /login ...
✓ Compiled /login in 1652ms (664 modules)
○ Compiling /dashboard ...
✓ Compiled /dashboard in 859ms (992 modules)
✓ Compiled /social-intelligence in 362ms (1007 modules)
✓ Compiled /api/social-intel/analytics in 66ms (547 modules)
Analytics API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/analytics/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/analytics 500 in 137ms
Analytics API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/analytics/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/analytics 500 in 139ms
✓ Compiled /api/social-intel/twitter/threats in 115ms (547 modules)
✓ Compiled (549 modules)
Twitter threats API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/twitter/threats/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/twitter/threats 500 in 143ms
Twitter threats API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/twitter/threats/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/twitter/threats 500 in 143ms
✓ Compiled /api/social-intel/news/articles in 81ms (549 modules)
✓ Compiled (551 modules)
News articles API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/news/articles/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/news/articles 500 in 130ms
News articles API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/news/articles/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/news/articles 500 in 131ms
✓ Compiled /api/social-intel/alerts in 75ms (551 modules)
✓ Compiled (553 modules)
Alerts API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/alerts/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/alerts 500 in 126ms
Alerts API error: Error: Backend responded with 403
at GET (webpack-internal:///(rsc)/./app/api/social-intel/alerts/route.ts:15:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/alerts 500 in 127ms
✓ Compiled in 75ms (553 modules)
INFO: 127.0.0.1:60036 - "POST /api/auth/login HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "OPTIONS /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "OPTIONS /api/dashboard/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "OPTIONS /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60050 - "OPTIONS /api/users/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "GET /api/dashboard/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "GET /api/dashboard/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:60036 - "GET /api/users/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60050 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60044 - "GET /api/users/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60050 - "GET /api/cases/ HTTP/1.1" 200 OK
INFO: 127.0.0.1:60058 - "GET /api/social-intel/analytics HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/analytics HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60058 - "GET /api/social-intel/twitter/threats HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/twitter/threats HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60058 - "GET /api/social-intel/news/articles HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/news/articles HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60058 - "GET /api/social-intel/alerts HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:60052 - "GET /api/social-intel/alerts HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/analytics HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/twitter/threats HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/news/articles HTTP/1.1" 403 Forbidden
INFO: 127.0.0.1:57382 - "GET /api/social-intel/alerts HTTP/1.1" 403 Forbidden
✓ Starting...
✓ Ready in 1988ms
○ Compiling /dark-web ...
✓ Compiled /dark-web in 1770ms (723 modules)
✓ Compiled /social-intelligence in 297ms (734 modules)
✓ Compiled /api/social-intel/analytics in 54ms (409 modules)
GET /api/social-intel/analytics 401 in 101ms
GET /api/social-intel/analytics 401 in 101ms
✓ Compiled /api/social-intel/twitter/threats in 83ms (409 modules)
✓ Compiled (411 modules)
GET /api/social-intel/twitter/threats 401 in 112ms
GET /api/social-intel/twitter/threats 401 in 112ms
✓ Compiled /api/social-intel/news/articles in 67ms (411 modules)
✓ Compiled (413 modules)
GET /api/social-intel/news/articles 401 in 99ms
GET /api/social-intel/news/articles 401 in 99ms
✓ Compiled /api/social-intel/alerts in 62ms (413 modules)
✓ Compiled (415 modules)
GET /api/social-intel/alerts 401 in 100ms
GET /api/social-intel/alerts 401 in 100ms
✓ Compiled in 58ms (415 modules)
GET /api/social-intel/analytics 401 in 35ms
GET /api/social-intel/twitter/threats 401 in 8ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 10ms
✓ Compiled /api/social-intel/search in 74ms (417 modules)
GET /api/social-intel/search?q=wetywre 401 in 104ms
✓ Compiled in 86ms (417 modules)
GET /api/social-intel/search?q=wetywre 401 in 31ms
GET /api/social-intel/search?q=wetywre 401 in 4ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 4ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 401 in 4ms
GET /api/social-intel/twitter/threats 401 in 5ms
GET /api/social-intel/news/articles 401 in 4ms
GET /api/social-intel/alerts 401 in 2ms
(nip) ┌─[venom@parrot]─[~/nip/backend]
└──╼ $uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
INFO: Will watch for changes in these directories: ['/home/venom/nip/backend']
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO: Started reloader process [40315] using WatchFiles
INFO: Started server process [40317]
INFO: Waiting for application startup.
INFO: Application startup complete.
✓ Starting...
✓ Ready in 1838ms
✓ Compiled /api/social-intel/analytics in 234ms (56 modules)
GET /api/social-intel/analytics 401 in 280ms
✓ Compiled /api/social-intel/twitter/threats in 66ms (56 modules)
✓ Compiled (58 modules)
GET /api/social-intel/twitter/threats 401 in 73ms
✓ Compiled /api/social-intel/news/articles in 43ms (58 modules)
✓ Compiled (60 modules)
GET /api/social-intel/news/articles 401 in 59ms
✓ Compiled /api/social-intel/alerts in 39ms (60 modules)
✓ Compiled (62 modules)
GET /api/social-intel/alerts 401 in 58ms
✓ Compiled in 38ms (62 modules)
GET /api/social-intel/analytics 401 in 28ms
GET /api/social-intel/twitter/threats 401 in 6ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 7ms
GET /api/social-intel/analytics 401 in 14ms
GET /api/social-intel/twitter/threats 401 in 9ms
GET /api/social-intel/news/articles 401 in 9ms
GET /api/social-intel/alerts 401 in 6ms
GET /api/social-intel/analytics 401 in 10ms
GET /api/social-intel/twitter/threats 401 in 9ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 11ms
GET /api/social-intel/analytics 401 in 6ms
GET /api/social-intel/twitter/threats 401 in 10ms
GET /api/social-intel/news/articles 401 in 5ms
GET /api/social-intel/alerts 401 in 4ms
○ Compiling /social-intelligence ...
✓ Compiled /social-intelligence in 1873ms (771 modules)
GET /social-intelligence 200 in 1985ms
GET /api/social-intel/analytics 200 in 27ms
GET /api/social-intel/analytics 200 in 28ms
GET /api/social-intel/twitter/threats 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 11ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 8ms
GET /api/social-intel/alerts 200 in 8ms
GET /api/social-intel/analytics 401 in 7ms
GET /api/social-intel/twitter/threats 401 in 5ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 4ms
GET /social-intelligence 200 in 34ms
GET /api/social-intel/analytics 200 in 13ms
GET /api/social-intel/analytics 200 in 15ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 6ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 7ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 4ms
GET /api/social-intel/analytics 200 in 8ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 5ms
GET /api/social-intel/alerts 401 in 6ms
GET /api/social-intel/analytics 401 in 4ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 6ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 3ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 5ms
✓ Compiled /api/social-intel/search in 151ms (409 modules)
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 191ms
✓ Compiled in 80ms (409 modules)
GET /api/social-intel/analytics 401 in 28ms
GET /api/social-intel/twitter/threats 401 in 4ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 7ms
GET /api/social-intel/analytics 200 in 11ms
GET /api/social-intel/twitter/threats 200 in 12ms
GET /api/social-intel/news/articles 200 in 7ms
GET /api/social-intel/alerts 200 in 5ms
GET /api/social-intel/analytics 401 in 3ms
GET /api/social-intel/twitter/threats 401 in 7ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 6ms
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 13ms
GET /api/social-intel/analytics 200 in 7ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 19ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 7ms
GET /api/social-intel/twitter/threats 401 in 5ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 4ms
GET /api/social-intel/analytics 200 in 6ms
GET /api/social-intel/twitter/threats 200 in 6ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 200 in 12ms
GET /api/social-intel/twitter/threats 200 in 7ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 10ms
GET /api/social-intel/twitter/threats 401 in 6ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 4ms
GET /api/social-intel/analytics 401 in 4ms
GET /api/social-intel/twitter/threats 401 in 3ms
GET /api/social-intel/news/articles 401 in 3ms
GET /api/social-intel/alerts 401 in 3ms
GET /api/social-intel/analytics 200 in 17ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 401 in 10ms
GET /api/social-intel/twitter/threats 401 in 12ms
GET /api/social-intel/news/articles 401 in 6ms
GET /api/social-intel/alerts 401 in 3ms
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 22ms
GET /api/social-intel/analytics 401 in 5ms
GET /api/social-intel/twitter/threats 401 in 8ms
GET /api/social-intel/news/articles 401 in 7ms
GET /api/social-intel/alerts 401 in 4ms
Backend responded with 422: {"detail":[{"type":"missing","loc":["query","query"],"msg":"Field required","input":null,"url":"https://errors.pydantic.dev/2.5/v/missing"}]}
Search API error: Error: Backend responded with 422
at GET (webpack-internal:///(rsc)/./app/api/social-intel/search/route.ts:39:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
GET /api/social-intel/search?q=gfffffffffffhg 500 in 21ms
GET /api/social-intel/analytics 200 in 12ms
GET /api/social-intel/twitter/threats 200 in 6ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 8ms
GET /api/social-intel/analytics 401 in 8ms
GET /api/social-intel/twitter/threats 401 in 12ms
GET /api/social-intel/news/articles 401 in 12ms
GET /api/social-intel/alerts 401 in 8ms
INFO: Application shutdown complete.
INFO: Finished server process [41262]
INFO: Started server process [41448]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:56592 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:56612 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56592 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56612 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:56602 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:56612 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:46512 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:46512 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:46548 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46548 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:46532 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:44474 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:59978 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:59982 - "OPTIONS /api/social-intel/twitter/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:59982 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:39820 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:55122 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55122 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55122 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:55122 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:55138 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:55138 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:37268 - "OPTIONS /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:37268 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:37280 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:46630 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:37270 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:37764 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:34238 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:34254 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:34254 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:34254 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:57026 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:57026 - "POST /api/social-intel/search HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45560 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45560 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45560 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 422 Unprocessable Entity
INFO: 127.0.0.1:45572 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:45572 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:45572 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:45572 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
└──╼ $npm run dev
[email protected] dev
next dev
▲ Next.js 14.2.31
- Local: http://localhost:3000
- Environments: .env.local
✓ Starting...
✓ Ready in 1847ms
○ Compiling / ...
✓ Compiled / in 1815ms (722 modules)
GET / 200 in 1932ms
✓ Compiled /social-intelligence in 477ms (743 modules)
✓ Compiled /api/social-intel/analytics in 86ms (413 modules)
GET /api/social-intel/analytics 200 in 147ms
GET /api/social-intel/analytics 200 in 153ms
✓ Compiled /api/social-intel/twitter/threats in 100ms (413 modules)
✓ Compiled (415 modules)
GET /api/social-intel/twitter/threats 200 in 111ms
GET /api/social-intel/twitter/threats 200 in 123ms
✓ Compiled /api/social-intel/news/articles in 82ms (415 modules)
✓ Compiled (417 modules)
GET /api/social-intel/news/articles 200 in 113ms
GET /api/social-intel/news/articles 200 in 119ms
✓ Compiled /api/social-intel/alerts in 67ms (417 modules)
✓ Compiled (419 modules)
GET /api/social-intel/alerts 200 in 111ms
GET /api/social-intel/alerts 200 in 119ms
✓ Compiled in 64ms (419 modules)
GET /api/social-intel/analytics 200 in 34ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 7ms
✓ Compiled /api/social-intel/twitter/start-monitoring in 78ms (421 modules)
Backend responded with 503: {"detail":"Twitter API not configured"}
Twitter monitoring API error: Error: Backend responded with 503
at POST (webpack-internal:///(rsc)/./app/api/social-intel/twitter/start-monitoring/route.ts:30:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
POST /api/social-intel/twitter/start-monitoring 500 in 115ms
✓ Compiled in 92ms (421 modules)
GET /api/social-intel/analytics 200 in 28ms
GET /api/social-intel/twitter/threats 200 in 10ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 18ms
✓ Compiled /api/social-intel/search in 92ms (423 modules)
GET /api/social-intel/search?q=abia 200 in 127ms
✓ Compiled in 72ms (423 modules)
GET /api/social-intel/search?q=abia 200 in 33ms
GET /api/social-intel/analytics 200 in 18ms
GET /api/social-intel/twitter/threats 200 in 17ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 8ms
✓ Compiled /api/social-intel/news/start-monitoring in 68ms (425 modules)
✓ Compiled in 89ms (425 modules)
GET /api/social-intel/search?q=abia 200 in 29ms
POST /api/social-intel/news/start-monitoring 200 in 17331ms
GET /api/social-intel/analytics 200 in 11ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 16ms
GET /api/social-intel/alerts 200 in 7ms
POST /api/social-intel/news/start-monitoring 200 in 12470ms
GET /api/social-intel/analytics 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 10ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 200 in 10ms
GET /api/social-intel/twitter/threats 200 in 7ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 6ms
Backend responded with 503: {"detail":"Twitter API not configured"}
Twitter monitoring API error: Error: Backend responded with 503
at POST (webpack-internal:///(rsc)/./app/api/social-intel/twitter/start-monitoring/route.ts:30:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:57228
at async eT.execute (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:46851)
at async eT.handle (/home/venom/nip/frontend/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:58760)
at async doRender (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1366:42)
at async cacheEntry.responseCache.get.routeKind (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1588:28)
at async DevServer.renderToResponseWithComponentsImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1496:28)
at async DevServer.renderPageComponent (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1924:24)
at async DevServer.renderToResponseImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:1962:32)
at async DevServer.pipeImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:922:25)
at async NextNodeServer.handleCatchallRenderRequest (/home/venom/nip/frontend/node_modules/next/dist/server/next-server.js:272:17)
at async DevServer.handleRequestImpl (/home/venom/nip/frontend/node_modules/next/dist/server/base-server.js:818:17)
at async /home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:339:20
at async Span.traceAsyncFn (/home/venom/nip/frontend/node_modules/next/dist/trace/trace.js:154:20)
at async DevServer.handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/dev/next-dev-server.js:336:24)
at async invokeRender (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:179:21)
at async handleRequest (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:359:24)
at async requestHandlerImpl (/home/venom/nip/frontend/node_modules/next/dist/server/lib/router-server.js:383:13)
at async Server.requestListener (/home/venom/nip/frontend/node_modules/next/dist/server/lib/start-server.js:141:13)
POST /api/social-intel/twitter/start-monitoring 500 in 11ms
GET /api/social-intel/analytics 200 in 15ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 10ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/search?q=enugu 200 in 22ms
GET /api/social-intel/analytics 200 in 14ms
GET /api/social-intel/twitter/threats 200 in 8ms
GET /api/social-intel/news/articles 200 in 8ms
GET /api/social-intel/alerts 200 in 7ms
GET /api/social-intel/analytics 200 in 11ms
GET /api/social-intel/twitter/threats 200 in 9ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 6ms
GET /api/social-intel/analytics 200 in 9ms
GET /api/social-intel/twitter/threats 200 in 6ms
GET /api/social-intel/news/articles 200 in 9ms
GET /api/social-intel/alerts 200 in 8ms
──╼ $uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
INFO: Will watch for changes in these directories: ['/home/venom/nip/backend']
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO: Started reloader process [42464] using WatchFiles
INFO: Started server process [42466]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: 127.0.0.1:58126 - "OPTIONS /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:58126 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:58126 - "GET /api/users/me HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:34992 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:34998 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:51292 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:57940 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 503 Service Unavailable
INFO: 127.0.0.1:47218 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:47218 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:47218 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:47218 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:47222 - "POST /api/social-intel/search?query=abia HTTP/1.1" 200 OK
INFO: 127.0.0.1:43768 - "POST /api/social-intel/search?query=abia HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:36744 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:35778 - "POST /api/social-intel/search?query=abia HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:36760 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:45430 - "POST /api/social-intel/news/start-monitoring HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:35122 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:50416 - "POST /api/social-intel/twitter/start-monitoring HTTP/1.1" 503 Service Unavailable
INFO: 127.0.0.1:50700 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:50700 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:50700 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:50700 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:50710 - "POST /api/social-intel/search?query=enugu HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:57972 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:57982 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/stats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/twitter/threats HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/news/articles HTTP/1.1" 200 OK
INFO: 127.0.0.1:55794 - "GET /api/social-intel/alerts HTTP/1.1" 200 OK
Persist cookies between sessions to avoid repeated logins, using a library like selenium-wire or browsercookie.
Rotate user agents using a library like fake-useragent.
Use a headless browser with stealth capabilities (e.g., undetected-chromedriver) to further reduce detection risks.
Because some RDAP objects return a list (or nested lists) for the email field, your contact_for_roles collects values that can be strings or lists. Calling set(emails) fails when one item is a list (lists are unhashable). Google’s RDAP data happened to return only strings, so it worked; Twitter’s returned at least one list.
Fix — normalize/flatten before deduping. Replace contact_for_roles in your script with this robust version:
def contact_for_roles(role_names):
found = []
for obj_name, obj_data in objects.items():
roles = obj_data.get("roles", []) or []
contact = obj_data.get("contact", {}) or {}
email = contact.get("email")
if email and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
if isinstance(email, list):
for e in email:
if e:
found.append(e)
else:
found.append(email)
# sometimes emails are under other keys (just in case)
emails_alt = contact.get("emails") or contact.get("emailAddresses") or contact.get("vcardArray")
if emails_alt and any(r.lower() in [rr.lower() for rr in roles] for r in role_names):
if isinstance(emails_alt, list):
for e in emails_alt:
if isinstance(e, list):
# vcardArray style can be nested; flatten strings
for sub in e:
if isinstance(sub, str):
found.append(sub)
elif isinstance(e, str):
found.append(e)
elif isinstance(emails_alt, str):
found.append(emails_alt)