MCPcopy Create free account
hub / github.com/CScorza/IntelOSINT / OSINTCore

Class OSINTCore

IntelOSINT.py:10287–18945  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10285
10286# --- BACKEND LOGIC ---
10287class OSINTCore:
10288 def __init__(self):
10289 self.creds = DEFAULT_CREDS.copy()
10290 loaded = _load_credentials()
10291 if isinstance(loaded, dict):
10292 migrated_tg_session = loaded.pop("tg_session", "")
10293 if migrated_tg_session:
10294 try:
10295 _store_tg_session(migrated_tg_session)
10296 except Exception:
10297 print("[!] Migrazione tg_session verso keyring non riuscita.")
10298 try:
10299 self.creds.update({k: v for k, v in loaded.items() if k in self.creds})
10300 except:
10301 pass
10302 try:
10303 self.creds.pop("tg_session", None)
10304 _save_credentials(self.creds)
10305 except:
10306 pass
10307 self._social_search_cache = {}
10308 self._social_search_cache_ttl = 180
10309 self._social_snapshot_dir = SOCIAL_SNAPSHOTS_DIR
10310
10311 def _normalize_instagram_share_link(self, target):
10312 if not target:
10313 return {"platform": "Instagram", "query": "", "metadata": {}}
10314 raw = str(target).strip()
10315 if not raw:
10316 return {"platform": "Instagram", "query": "", "metadata": {}}
10317 if not re.match(r"^https?://", raw, re.I):
10318 return {"platform": "Instagram", "query": raw.lstrip("@"), "metadata": {"share_source": "handle"}}
10319
10320 candidate = raw
10321 for _ in range(3):
10322 redirected = None
10323 for pattern in SHARETRACE_PLATFORM_PATTERNS.get("Instagram", {}).get("shortlink", []):
10324 match = re.search(pattern, candidate, re.I)
10325 if match:
10326 redirected = match.group(1)
10327 break
10328 if not redirected:
10329 parsed = urllib.parse.urlparse(candidate)
10330 host = (parsed.netloc or "").lower()
10331 if host.startswith("www."):
10332 host = host[4:]
10333 query_data = urllib.parse.parse_qs(parsed.query or "")
10334 if host in {"l.instagram.com", "l.insta.co", "l.inked.in"}:
10335 redirected = (
10336 query_data.get("u", [None])[0]
10337 or query_data.get("url", [None])[0]
10338 or query_data.get("link", [None])[0]
10339 )
10340 if isinstance(redirected, str) and redirected.strip().startswith("http"):
10341 candidate = urllib.parse.unquote(redirected.strip())
10342 continue
10343 if candidate == raw and not re.match(r"^https?://", candidate, re.I):
10344 break

Callers 1

IntelOSINT.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected