sherlock / app.py
bangunx
πŸš€ Initial commit: Complete modular OSINT tool with Gradio interface
c7daaca
"""
Sherlock OSINT Tool - Main Application
A modular OSINT tool for username searching across multiple platforms.
"""
import sys
import os
from pathlib import Path
# Add src to path for imports
sys.path.insert(0, str(Path(__file__).parent / "src"))
from sherlock.web.gradio_interface import SherlockGradioInterface
from sherlock.config.settings import settings
def main():
"""Main function to launch the Sherlock OSINT tool."""
print("πŸ” Starting Sherlock OSINT Tool...")
print(f"πŸ“Š Configuration:")
print(f" - Debug Mode: {settings.debug}")
print(f" - Max Concurrent Requests: {settings.max_concurrent_requests}")
print(f" - Request Timeout: {settings.request_timeout}s")
print(f" - Server: {settings.gradio_server_name}:{settings.gradio_server_port}")
print(f" - Share: {settings.gradio_share}")
print()
try:
# Create and launch interface
interface = SherlockGradioInterface()
# For Hugging Face Spaces, use default settings
interface.launch(
server_name="0.0.0.0",
server_port=7860,
share=False,
debug=False
)
except KeyboardInterrupt:
print("\nπŸ‘‹ Sherlock OSINT Tool stopped by user")
except Exception as e:
print(f"❌ Error starting Sherlock OSINT Tool: {e}")
sys.exit(1)
if __name__ == "__main__":
main()