Observed since 20 Oct, 16:55 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
hostile Intel for Alliance Auth (GitHub Version)
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.
⚡ Tactical Command Center Dashboard:
🛰️ Non-ESI Structure & Fitting Ingestion:
eve_sde.⚔️ Sovereignty Campaign & Contest Timers:
⏱️ Structure Reinforcement Timers Board:
🎯 Local Threat Scanner & Drop Risk Engine:
📡 Tactical Sitreps & Gate Camp Ingestion:
-15m, -30m, -1h, -2h, -4h).Gate Camp, Bubbles on Gate, Smartbomb Trap, Blops Hunter, Capital Fleet, Cyno Beacon, Roving Gang) with on-the-fly custom tag creation.LocalThreatScan records and auto-applying threat tags.👤 Hostile Pilot Dossiers Registry:
🏛️ Alliances, Corporations & Coalitions Profiling:
USTZ, EUTZ, AUTZ) derived from vulnerability distributions and 7x24 activity heatmaps.🚀 Hostile Staging Hubs & Fleet Doctrines:
🔒 Tiered Moderation & Audit Logging:
basic_access, manage_intel, officer_access).Install the package into your Alliance Auth virtual environment:
pip install aa-hostile-intel
In your local.py settings file, add hostile to INSTALLED_APPS:
INSTALLED_APPS += [
"hostile",
]
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"),
}
python manage.py migrate
python manage.py collectstatic --noinput
Restart your Alliance Auth supervisor or systemd services:
supervisorctl restart all
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. |
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 |
See CHANGELOG.md for details on changes in each release.
This project is licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.0.7 | 12 Oct 2026 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 16:55 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:657605a06913c4387d56cab8d46886d8259561ddf9d8cc0199fec418d4601dd1