This commit is contained in:
overcuriousity
2025-09-14 16:07:58 +02:00
parent 72f7056bc7
commit 3511f18f9a
7 changed files with 50 additions and 206 deletions

View File

@@ -703,7 +703,6 @@ class Scanner:
'current_depth': self.current_depth,
'max_depth': self.max_depth,
'current_indicator': self.current_indicator,
'total_indicators_found': self.total_indicators_found,
'indicators_processed': self.indicators_processed,
'indicators_completed': self.indicators_completed,
'tasks_re_enqueued': self.tasks_re_enqueued,
@@ -721,7 +720,6 @@ class Scanner:
'current_depth': 0,
'max_depth': 0,
'current_indicator': '',
'total_indicators_found': 0,
'indicators_processed': 0,
'indicators_completed': 0,
'tasks_re_enqueued': 0,
@@ -732,10 +730,11 @@ class Scanner:
}
def _calculate_progress(self) -> float:
"""Calculate scan progress percentage."""
if self.total_indicators_found == 0:
"""Calculate scan progress percentage based on task completion."""
total_tasks = self.indicators_completed + len(self.task_queue)
if total_tasks == 0:
return 0.0
return min(100.0, (self.indicators_processed / self.total_indicators_found) * 100)
return min(100.0, (self.indicators_completed / total_tasks) * 100)
def get_graph_data(self) -> Dict[str, Any]:
"""Get current graph data for visualization."""
@@ -798,9 +797,6 @@ class Scanner:
'statistics': live_provider.get_statistics() if live_provider else temp_provider.get_statistics(),
'enabled': self.config.is_provider_enabled(provider_name),
'rate_limit': self.config.get_rate_limit(provider_name),
'task_queue_size': len(self.task_queue),
'tasks_completed': self.indicators_completed,
'tasks_re_enqueued': self.tasks_re_enqueued,
}
except Exception as e:
print(f"✗ Failed to get info for provider from {filename}: {e}")

View File

@@ -355,31 +355,6 @@ class SessionManager:
time.sleep(300) # Sleep for 5 minutes
def list_active_sessions(self) -> List[Dict[str, Any]]:
"""List all active sessions for admin purposes."""
try:
session_keys = self.redis_client.keys("dnsrecon:session:*")
sessions = []
for session_key in session_keys:
session_id = session_key.decode('utf-8').split(':')[-1]
session_data = self._get_session_data(session_id)
if session_data:
scanner = session_data.get('scanner')
sessions.append({
'session_id': session_id,
'created_at': session_data.get('created_at'),
'last_activity': session_data.get('last_activity'),
'scanner_status': scanner.status if scanner else 'unknown',
'current_target': scanner.current_target if scanner else None
})
return sessions
except Exception as e:
print(f"ERROR: Failed to list active sessions: {e}")
return []
def get_statistics(self) -> Dict[str, Any]:
"""Get session manager statistics."""
try: