Celery

Since v0.3.0, Burp-UI supports asynchronous operations thanks to Celery. In order to use this feature, you need to enable it in the configuration (see Production section)

You will also need some extra requirements:

pip install "burp-ui[celery]"

Celery needs a Broker to communicate between the workers and your application. I chose Redis so you will need a working Redis server (Basically you just need to run apt-get install redis-server on Debian based distributions)

Configure Burp-UI to enable Celery support by setting both the redis and celery option of the [Production] section. Example:

[Production]
# redis server to connect to
redis = localhost:6379
# whether to use celery or not
# may also be a broker url like: redis://localhost:6379/0
# if set to "true", the broker url defaults to:
# redis://<redis_host>:<redis_port>/2
# where <redis_host> is the host part, and <redis_port> is the port part of
# the above "redis" setting
celery = true

Runner

Once everything is setup, you need to launch a worker. Burp-UI ships with a helper script called bui-celery. You can use it like this:

bui-celery --beat

If your configuration is not in a common location, you can specify it like this:

bui-celery -c path/to/burpui.cfg -- --beat

Note

A systemd service example file is shiped in the contrib directory

Note

The --beat option is recommended since some operations need to be executed periodically

Note

The usage of a database is recommended to keep a track of executed tasks