Skip to main content

A simple parser for D-Scans and more for Alliance Auth

Project description

AA Intel Tool

Badge: Version Badge: License Badge: Supported Python Versions Badge: Supported Django Versions Badge: pre-commit Badge: Code Style: black Badge: Support Discord Badge: Automated Tests Badge: Code Coverage Badge: Translation Status Badge: Contributor Covenant

Badge: Buy me a coffee

D-Scans and more in Alliance Auth.



Warning

This app is still in active development and only available as an early alpha version. Do not install this app in your live environment. If you want to test this app, do so in a dedicated test environment. Don't come crying if you wreck your live environment.

During the alpha phase, it is highly likely that the DB migrations will be reset a couple of times.

Bugs and errors are expected during this time as well, so feel free to report them as early as possible, if you dare to test this app.

Thank you!

Overview

Features

The following modules can be enabled or disabled. See Settings section for details.

  • Chat scan module (Disabled by default due to its possible high number of ESI calls)
  • D-Scan module

Screenshots

Chat Scan

Image: Chat Scan Module

D-Scan

Image: D-Scan Module

Installation

Important: Please make sure you meet all preconditions before you proceed:

  • AA Intel Tool is a plugin for Alliance Auth. If you don't have Alliance Auth running already, please install it first before proceeding. (see the official Alliance Auth installation guide for details)
  • AA Intel Tool needs at least Alliance Auth v3.6.1. Please make sure to meet this condition before installing this app, otherwise an update to Alliance Auth will be pulled in unsupervised.
  • AA Intel Tool needs Eve Universe to function. Please make sure it is installed, before continuing.

Step 1: Install the Package

Make sure you're in the virtual environment (venv) of your Alliance Auth installation Then install the latest release directly from PyPi.

pip install aa-intel-tool

Step 2: Configure Alliance Auth

Add the App to Alliance Auth

This is fairly simple, configure your AA settings (local.py) as follows:

  • Add eveuniverse (if not already done so for a different app) and aa_intel_tool to the list of INSTALLED_APPS

    # Add any additional apps to this list.
    INSTALLED_APPS += [
        "eveuniverse",
        "aa_intel_tool",  # https://github.com/ppfeufer/aa-intel-tool
    ]
    

Add the Scheduled Task

To remove old scans from your DB, add the following task. The retention time can be adjusted through the INTELTOOL_SCAN_RETENTION_TIME setting.

if "aa_intel_tool" in INSTALLED_APPS:
    # Run at 01:00 each day
    CELERYBEAT_SCHEDULE["AA Intel Tool :: Housekeeping"] = {
        "task": "aa_intel_tool.tasks.housekeeping",
        "schedule": crontab(minute="0", hour="1"),
    }

(Optional) Allow Public Views

This app supports AA's feature of public views, since time zones conversion is not any mission-critical information. To allow users to view the time zone conversion page without the need to log in, please add "aa_intel_tool", to the list of APPS_WITH_PUBLIC_VIEWS in your local.py:

# By default, apps are prevented from having public views for security reasons.
# To allow specific apps to have public views, add them to APPS_WITH_PUBLIC_VIEWS
#   » The format is the same as in INSTALLED_APPS
#   » The app developer must also explicitly allow public views for their app
APPS_WITH_PUBLIC_VIEWS = [
    "aa_intel_tool",  # https://github.com/ppfeufer/aa-intel-tool
]

Note

If you don't have a list for APPS_WITH_PUBLIC_VIEWS yet, then add the whole block from here. This feature has been added in Alliance Auth v3.6.0 so you might not yet have this list in your local.py.

Step 4: Preload Eve Universe Data

AA Intel Tool utilizes the EveUniverse module, so it doesn't need to ask ESI for ship information. To set this up, you now need to run the following command.

python manage.py aa_intel_tool_load_eve_types

Step 5: Finalizing the Installation

Run static files collection and migrations.

python manage.py collectstatic
python manage.py migrate

Restart your supervisor services for Auth.

Step 6: Update Your Webserver Configuration

By default, webservers have a timout of about 30 seconds for requests. So we have to tweak that a little bit, since parsing intel data can take a while, and we don't want the webserver to spoil our fun, right?

Apache 2

Open your vhost configuration and add the following 2 lines right after the ProxyPreserveHost On directive:

Timeout      600
ProxyTimeout 600

Restart your Apache2 service.

Nginx

Open your vhost configuration and add the following lines inside the location / { directive:

proxy_connect_timeout 600;
proxy_send_timeout    600;
proxy_read_timeout    600;
send_timeout          600;

Restart your Nginx service.

Settings

To customize the app, the following settings are available and can be made in your local.py.

Warning

Enable the chat scan module at your own risk. This module has the potential to generate a huge number of ESI calls, which CCP might not be too happy about.

Name Description Default
INTELTOOL_ENABLE_MODULE_CHATSCAN Enable or disable the chat scan module. False
INTELTOOL_ENABLE_MODULE_DSCAN Enable or disable the d-scan module. True
INTELTOOL_ENABLE_MODULE_FLEETCOMP Enable or disable the fleet composition module. True
INTELTOOL_SCAN_RETENTION_TIME Set the time in days for how long the scans will be kept in the database. Set to 0 to keep scans indefinitely. 30
INTELTOOL_CHATSCAN_MAX_PILOTS Set the limit of pilots for chat scans, since these can take quite a long time to process. Set to 0 to disable. 500
INTELTOOL_DSCAN_GRID_SIZE Set the grid size for D-Scans. This defines
the size of the grid in km in which ships and structures are considered to be "on grid"
10000

Note

A word about the chat scan limitations:

It is advised to keep the INTELTOOL_CHATSCAN_MAX_PILOTS to a sane number. Large chat scans can take quite some time to parse and from a certain number of pilots, the bottleneck might be your browser refusing to render the results page. (Source: Trust me, bro …)

Changelog

See CHANGELOG.md

Contributing

Do you want to contribute to this project? That's cool!

Please make sure to read the Contribution Guidelines (I promise, it's not much, just some basics)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aa_intel_tool-0.0.1a14.tar.gz (89.2 kB view details)

Uploaded Source

Built Distribution

aa_intel_tool-0.0.1a14-py3-none-any.whl (160.2 kB view details)

Uploaded Python 3

File details

Details for the file aa_intel_tool-0.0.1a14.tar.gz.

File metadata

  • Download URL: aa_intel_tool-0.0.1a14.tar.gz
  • Upload date:
  • Size: 89.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.17

File hashes

Hashes for aa_intel_tool-0.0.1a14.tar.gz
Algorithm Hash digest
SHA256 90b621ed8b042c33b6408806eac0efa99ce6670cbd599d5aed96075f4ef1210d
MD5 afc7677ce2ae070f2fc0087f346c87f0
BLAKE2b-256 99ad4a4f7f2059c19b8796a2805af6732ac9ea3c5c331d227ffb526083a94c74

See more details on using hashes here.

File details

Details for the file aa_intel_tool-0.0.1a14-py3-none-any.whl.

File metadata

File hashes

Hashes for aa_intel_tool-0.0.1a14-py3-none-any.whl
Algorithm Hash digest
SHA256 284549c0b9b91a5167caae419b1d33a133c6748363d73e1a726607ad79fc12a7
MD5 acbb2db4f89c324add0bca4264a36b79
BLAKE2b-256 2a1c167d5925e0d8657325940eb7d1ea389c230392fb0ddad5d5467693989380

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page