diff --git a/README.md b/README.md index b3f6eea..de35b70 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![User Scanner Logo](https://github.com/user-attachments/assets/49ec8d24-665b-4115-8525-01a8d0ca2ef4)

- + @@ -19,14 +19,14 @@ --- A powerful **2-in-1 OSINT suite** engineered for deep **Email and Username Intelligence**. -With **285+ total scan vectors**—including **100+ email-integrated sites** and **185+ username platforms**—you can map digital footprints, analyze target behavior, uncover interests, and verify account registrations in seconds. +With **290+ total scan vectors**—including **105+ email-integrated sites** and **185+ username platforms**—you can map digital footprints, analyze target behavior, uncover interests, and verify account registrations in seconds. The ultimate reconnaissance tool for hunting down targets using just an email or username—now fully integrated with **Hudson Rock** for instant data breach intelligence. ## Features -- ✅ **Deep Email & Username OSINT:** Look up email registrations and perform advanced username profiling across 285+ platforms. +- ✅ **Deep Email & Username OSINT:** Look up email registrations and perform advanced username profiling across 290+ platforms. - ✅ **Profile Data Extraction:** Goes beyond basic availability checks to scrape and extract rich metadata, account details, and digital footprints from target profiles. - ✅ **Dual-Mode Engine:** Run targeted email campaigns, massive username sweeps, or simultaneous dual-identifier scans. - ✅ **Granular Status Reporting:** Get crystal-clear results (`Registered`/`Available` for emails; `Found`/`Not Found`/`Error` for usernames) backed by precise exception handling. diff --git a/flake.nix b/flake.nix index 65b9dbf..11ad733 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ in { default = pkgs.python312Packages.buildPythonApplication { pname = "user-scanner"; - version = "1.4.0.3"; + version = "1.4.1.1"; src = self; diff --git a/pyproject.toml b/pyproject.toml index 6768287..23b395c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi" [project] name = "user-scanner" -version = "1.4.0.3" +version = "1.4.1.1" description = "Check username availability across multiple popular platforms" readme = "README.md" license = {file = "LICENSE"} diff --git a/user_scanner/core/engine.py b/user_scanner/core/engine.py index f3c9952..3706a47 100644 --- a/user_scanner/core/engine.py +++ b/user_scanner/core/engine.py @@ -1,11 +1,13 @@ import asyncio import inspect +import concurrent.futures + from typing import List from types import ModuleType - from user_scanner.core.result import Result from user_scanner.core.helpers import find_category, get_site_name, load_modules, load_categories +_shared_executor = concurrent.futures.ThreadPoolExecutor(max_workers=60) async def check(module: ModuleType, target: str) -> Result: module_name = module.__name__.split(".")[-1] @@ -27,7 +29,8 @@ async def check(module: ModuleType, target: str) -> Result: if inspect.iscoroutinefunction(func): result = await func(target) else: - result = await asyncio.to_thread(func, target) + loop = asyncio.get_running_loop() + result = await loop.run_in_executor(_shared_executor, func, target) except Exception as e: result = Result.error(e) @@ -65,3 +68,4 @@ async def check_all(target: str, is_email: bool = True) -> List[Result]: results.extend(sublist) return results + diff --git a/user_scanner/version.json b/user_scanner/version.json index 18e3916..5d4e288 100644 --- a/user_scanner/version.json +++ b/user_scanner/version.json @@ -1,4 +1,4 @@ { -"version": "1.4.0.3", +"version": "1.4.1.1", "version_type": "pypi" }