{% extends "base.html" %} {% block title %}Dashboard — Willhaben Tracker{% endblock %} {% block title_in_topbar %}Dashboard{% endblock %} {% block content %} {% if data %}

Overview

Total Keywords
{{ data.total_keywords }}
{{ data.active_keywords }} active
Total Ads Tracked
{{ data.total_ads }}
Across all time
Active Users
{{ data.total_users }}
Subscribed to updates
Notifications Sent
{{ data.notifications_sent }}
Via Telegram

System Health

Last Scheduler Run
{{ data.last_scheduler.strftime('%Y-%m-%d %H:%M:%S') if data.last_scheduler else 'Never' }}
Worker polling rhythm
HTTP Proxy
{% if data.proxy_enabled %}Active{% elif data.proxy_available %}Bypassed{% else %}Unavailable{% endif %}
{% if data.proxy_enabled %} Scraper uses proxy {% elif data.proxy_available %} Proxy present, scraper direct {% else %} No proxy in .env {% endif %}
Network Egress
System IP
{{ data.system_country_flag }} {{ data.system_public_ip or 'Unknown' }} {% if data.system_country_code %} ({{ data.system_country_code }}) {% endif %}
Last Used IP
{{ data.last_used_country_flag }} {{ data.last_used_public_ip or 'Unknown' }} {% if data.last_used_country_code %} ({{ data.last_used_country_code }}) {% endif %}
Turbo Mode (Admin)
{{ 'Active' if data.turbo_active else ('Armed' if data.turbo_mode else 'Off') }}
{% if data.proxy_enabled %} Scheduler runs every ~{{ '%.1f'|format(data.turbo_effective_sleep_s) }}s {% else %} Activate proxy first to enable turbo {% endif %}
{% if data.seconds_until_next is not none %}
Next cycle in ~{{ data.seconds_until_next }}s
{% endif %}
Delivery Queue
{{ data.queue_pending }} pending
{{ data.queue_dead }} dead letters
{% endif %} {% endblock %}