Skip to main content

AA Hostile Intel

PyPI Python Django Alliance Auth License: GPL v3

AA Hostile Intel is an operational tactical intelligence, non-ESI structure tracking, fitting inspection, and combat threat analysis platform for Alliance Auth.

Designed specifically to eliminate cognitive friction and decision latency during live operations, it empowers fleet commanders (FCs), scouts, and intelligence officers to track hostile infrastructure, parse non-ESI fittings, calculate combat drop risks, monitor sovereignty vulnerability windows, and profile hostile alliance timezones.


Key Features

  • ⚡ Tactical Command Center Dashboard:

    • Universal Fast-Triage Hero Deck: Omnisearch bar for instant client-side queries across pilots, systems, alliances, and timers; direct smart clipboard parser dropzone; and a Home Staging Anchor filter calculating live jump routing across all cards.
    • Temporal Urgency KPI Deck: Time-sensitive operational metrics (Timers <6h, Timers <24h, Active Sov Campaigns, Active Gate Camps, 7-Day Hotspots, Tracked Supers & Cynos).
    • Two-Column Operational Layout: Separates immediate tactical threats (urgent timers with live ticking countdowns and 1-click FC Discord pings, active gate camps with time-decay status badges, recent threat scans) from strategic landscape monitoring (hotspot activity rankings, active sovereignty battles, hostile staging hubs, and fleet doctrines).
    • Real-Time Live Intelligence Feed: Unified chronological ticker tracking sitreps, structure discoveries, timer updates, and threat scans with 60-second background auto-synchronization.
  • 🛰️ Non-ESI Structure & Fitting Ingestion:

    • Smart Multi-Format Parser: Automatically classifies D-Scans, structure show-info copy-pastes, and EFT fitting blocks.
    • SDE Asset Identification: Resolves structure types, celestial locations, owner tickers, quantum core statuses, and fitted modules via eve_sde.
    • Interactive Module Inspection: Corptools-inspired High, Medium, Low, Rig, and Service slot modals with official CCP asset icons and 1-click Copy EFT to Clipboard export for Pyfa and EVE Online.
  • ⚔️ Sovereignty Campaign & Contest Timers:

    • Dynamic Real-Time Polling: Tracks active and upcoming ADM sovereignty campaigns with 60-second change detection polling and live DOM updates.
    • Contest Score Donuts: Visual 60/40 circular donut charts, ongoing contest indicators, and defender/attacker score tracking.
    • Staging Proximity Routing: Real-time gate jump counts and jump drive light-year calculations from your home staging base.
  • ⏱️ Structure Reinforcement Timers Board:

    • Dedicated timer board tracking hostile armor and hull vulnerability windows.
    • Live client-side ticking countdowns with multi-layer ambient tactical pulse glows for imminent timers.
    • One-click Fleet Commander (FC) Discord / broadcast ping generator formatted with target system, structure type, and time remaining.
  • 🎯 Local Threat Scanner & Drop Risk Engine:

    • Asynchronous Pilot Intelligence Streaming: Non-blocking local chat paste ingestion that eliminates HTTP gateway timeouts by streaming pilot corporation, alliance, top flown ships, and loss data in the background.
    • Drop Probability Algorithms: Evaluates pilot combat histories, cyno loss records, and zKillboard tags to estimate real-time Black Ops (Blops) and Capital drop risks.
    • Grid Anchor & Ship Composition: Combines Local chat rosters with D-Scan items to classify grid composition and identify hostile FCs.
  • 📡 Tactical Sitreps & Gate Camp Ingestion:

    • Time Seen & Freshness Tracking: UTC timestamps with 1-click "Now" and relative time offsets (-15m, -30m, -1h, -2h, -4h).
    • Interactive Threat Classification Tags: Preselectable pills (Gate Camp, Bubbles on Gate, Smartbomb Trap, Blops Hunter, Capital Fleet, Cyno Beacon, Roving Gang) with on-the-fly custom tag creation.
    • Integrated Local & D-Scan Scanner: Submitting camp sitreps allows optional Local chat and D-Scan pastes, generating linked LocalThreatScan records and auto-applying threat tags.
    • 1-Click FC Ping Generator: Instant Discord-formatted broadcast pings detailing system, freshness, threat level, bubble status, and linked threat analysis.
  • 👤 Hostile Pilot Dossiers Registry:

    • Comprehensive database tracking hostile cyno alts, supercarrier/titan pilots, fleet commanders, and scouts.
    • Searchable across character names, corporations, alliances, alt associations, notes, and behavioral tags with multi-role category filtering.
  • 🏛️ Alliances, Corporations & Coalitions Profiling:

    • Automated ESI and zKillboard tracking of hostile coalition hierarchies, sovereignty footprints, and member counts.
    • Primary operational timezone profiling (USTZ, EUTZ, AUTZ) derived from vulnerability distributions and 7x24 activity heatmaps.
    • Formup potential estimations for subcap, capital, and supercapital fleets.
  • 🚀 Hostile Staging Hubs & Fleet Doctrines:

    • Track forward deployment bases, lowsec staging hubs, and nullsec citadels outside target sovereignty.
    • Catalog fleet doctrines (Mainline Fleet, Skirmish / HACs, Capital / Super, Home Defense, Roaming) with example fittings, zKillboard killmail references, and interactive slot inspection.
  • 🔒 Tiered Moderation & Audit Logging:

    • Role-based access control with granular permissions (basic_access, manage_intel, officer_access).
    • Immutable audit logs recording all operator creations, edits, and deletions.

Installation

1. Install Package

Install the package into your Alliance Auth virtual environment:

pip install aa-hostile-intel

2. Configure Alliance Auth Settings

In your local.py settings file, add hostile to INSTALLED_APPS:

INSTALLED_APPS += [
    "hostile",
]

3. Configure Periodic Celery Tasks

Add the periodic tasks to CELERYBEAT_SCHEDULE in local.py:

from celery.schedules import crontab

# Periodic ESI Sovereignty & Structure Map Synchronization (Every 2 Hours)
CELERYBEAT_SCHEDULE["hostile_update_sovereignty_intelligence"] = {
    "task": "hostile.tasks.update_sovereignty_intelligence",
    "schedule": crontab(minute="0", hour="*/2"),
}

# Periodic Active Sovereignty Campaign Synchronization (Every 15 Minutes)
CELERYBEAT_SCHEDULE["hostile_update_sovereignty_campaigns"] = {
    "task": "hostile.tasks.update_sovereignty_campaigns",
    "schedule": crontab(minute="*/15"),
}

# Periodic zKillboard Entity Statistics & Member Counts (Every 6 Hours)
CELERYBEAT_SCHEDULE["hostile_update_all_zkill_stats"] = {
    "task": "hostile.tasks.update_all_zkill_stats",
    "schedule": crontab(minute="30", hour="*/6"),
}

4. Run Migrations & Collect Static Files

python manage.py migrate
python manage.py collectstatic --noinput

5. Restart Services

Restart your Alliance Auth supervisor or systemd services:

supervisorctl restart all

Configuration Settings

You can customize app behavior by adding the following optional settings to your local.py:

Setting Type Default Description
HOSTILE_SOV_SYNC_MINUTES int 60 Interval (in minutes) for caching ESI sovereignty map and structure vulnerability syncs.
HOSTILE_CAMPAIGN_SYNC_MINUTES int 15 Interval (in minutes) for caching active ESI sovereignty campaign syncs.
HOSTILE_AUTO_VERIFY_OFFICER_POSTS bool True Automatically marks system observations submitted by users with hostile.manage_intel as verified.
HOSTILE_MAX_ACTIVE_OBSERVATION_DAYS int 7 Number of days before unverified or inactive system observations are pruned from active feeds.
HOSTILE_ZKILL_ENABLED bool True Enables automated background zKillboard statistics and pilot intelligence queries.
HOSTILE_ZKILL_SYNC_HOURS int 6 Cache duration and sync interval for entity-level zKillboard statistics.
HOSTILE_ZKILL_MIN_REQUEST_INTERVAL float 0.5 Minimum delay in seconds between successive zKillboard API calls to ensure respectful rate limiting.
HOSTILE_ZKILL_USER_AGENT str None Custom User-Agent header for zKillboard requests (defaults to auto-generated AA Hostile Intel User-Agent).
HOSTILE_MAIN_ALLIANCE_ID int None Friendly / home alliance ID (defaults to ALLIANCE_ID if defined). Used for threat filtering.
HOSTILE_MAIN_ALLIANCE_NAME str None Friendly / home alliance name (defaults to ALLIANCE_NAME if defined).
HOSTILE_IGNORED_ALLIANCE_IDS list[int] [] List of alliance IDs to exclude from hostile threat tracking and classification.
HOSTILE_IGNORED_ALLIANCE_NAMES list[str] [] List of alliance names to exclude from hostile tracking.
HOSTILE_IGNORED_ALLIANCE_TICKERS list[str] [] List of alliance tickers to exclude from hostile tracking.
HOSTILE_IGNORED_CORP_IDS list[int] [] List of corporation IDs to exclude from hostile tracking.
HOSTILE_IGNORED_CORP_NAMES list[str] [] List of corporation names to exclude from hostile tracking.

Permissions

AA Hostile Intel provides three granular permission levels:

Permission Description Recommended Roles
hostile.basic_access View access to all intelligence catalog pages, dashboards, and timers. Can create new alliances, member/alt corporations, structures, timers, pilot dossiers, stagings, fleet doctrines, and tactical sitreps. Can edit their own submissions. Cannot delete any entries or view audit logs. General Members, Scouts, Line Pilots
hostile.manage_intel Full operational management: can edit all submissions regardless of author, delete any intelligence records (structures, timers, sitreps, pilots, stagings, doctrines, scans), verify and pin sitreps, manage coalitions, and view the complete audit log trail. Fleet Commanders, Intel Scouts, Moderators
hostile.officer_access Senior intel officer access: bulk database operations and advanced system reconfiguration. Intel Directors, Lead FCs, Auth Admins

Changelog

See CHANGELOG.md for details on changes in each release.


License

This project is licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.

Metadata

Release files for aa-hostile-intel 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aa-hostile-intel 0.0.2
File Size Uploaded
aa_hostile_intel-0.0.2.tar.gz 331.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aa-hostile-intel 0.0.2
File Interpreter ABI Platform
aa_hostile_intel-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 712.4 kB

Release files / aa_hostile_intel-0.0.2.tar.gz

Download URL aa_hostile_intel-0.0.2.tar.gz
Size 331.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a60f6b5841103216aa0310959ed88fd49a972d2fa41d0657bfaeea4b0453c7fe
BLAKE2b-256 checksum
How to use checksums
d91ccc0cd0fc3ec53775a2c7c641a3d42128b1bc406a431a4a4e6e290e8e6dd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.0

Release files / aa_hostile_intel-0.0.2-py3-none-any.whl

Download URL aa_hostile_intel-0.0.2-py3-none-any.whl
Size 381.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9af39a65d86a68576b022ec39f38b1a06ae34c99ba61762c093a14e42dc7d5b7
BLAKE2b-256 checksum
How to use checksums
5454393c1c43123bac3fad226afddf1d12acd674d9d255e2f29fe2acfc862c9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.0

Release history Release notifications | RSS feed

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page