Skip to content

Solar-Helix-Independent-Transport/allianceauth-mumble-temp

Repository files navigation

Mumble Temp Links

Important

This does nothing on its own you also need to update your authenticator to my fork found here.

More on that in the setup instructions below!

This Alliance Auth module lets you give temp access to your mumble service with ease.



Usage

A user with the create permission creates a link and copies it to the people who need access, TempLink users will be given the group Guest, mumble ACL's can be setup to restrict access as required. The mumble chat command !kicktemps will purge the mumble server of all temp users, if they still have a valid Templink they will be able to reconnect until it either expires or is removed from the tool. Only members who have the Kick User permission can use the command.

Setup

Note

️This is assuming you already have configured a fully functioning mumble service.

Alliance Auth Plugin

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 allianceauth-mumbletemps

Step 2: Configure Alliance Auth

You need to add 'mumbletemps', to your INSTALLED_APPS and APPS_WITH_PUBLIC_VIEWS in the local.py file of your Alliance Auth installation.

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

INSTALLED_APPS += [
    # Your other apps are here as well
    "mumbletemps",
]

APPS_WITH_PUBLIC_VIEWS += [
    # Other apps with public views might live here
    "mumbletemps",
]

CELERYBEAT_SCHEDULE["mumbletemps_tidy_up_temp_links"] = {
    "task": "mumbletemps.tasks.tidy_up_temp_links",
    "schedule": crontab(minute="*/5"),
}

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 3: Finalizing the Installation

Run static files collection and migrations.

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

Mumble Authenticator

To update your mumble authenticator if you git cloned the original repo, we will add my branch as a remote and check out the updated code.

Important

️It is a good idea to back up your authenticator.ini file before starting.

  1. cd into the folder you have the authenticator code in.
  2. git status to confirm it is a git repo, and the correct place.
  3. git remote add upstream [email protected]:aaronkable/mumble-authenticator.git to add the remote.
  4. git fetch upstream to grab the updates.
  5. git checkout upstream/master to roll over to my code.
  6. Restart your authenticator with supervisor.

Note

The authenticator.log should show something like:

Starting AllianceAuth mumble authenticator V:1.0.0 - TempLinks

If you are on the correct branch and version, if not, you may still be running the default auth version and will need to investigate why. Users will get prompted for passwords when they try to connect with a temp link, and you are not running this version. The Authenticator version needs to match this version!

If you did not use the git clone method of installing the authenticator, copy the contents of my forkfound here on top of your current installation.

Settings

Setting Default Description
MUMBLE_TEMPS_FORCE_SSO True Setting this to False will allow users to auth with the non-sso method
MUMBLE_TEMPS_SSO_PREFIX [TEMP] Display Name Prefix for an SSO'd temp user in mumble
MUMBLE_TEMPS_LOGIN_PREFIX [*TEMP] Display Name Prefix for a non-SSO'd temp user in mumble

Restart services and you're done.

Restart your Alliance Auth instance to apply the changes.

sudo systemctl restart supervisor.service

Permissions

Perm Admin Site Auth Site
mumbletemps.create_new_links None Can create and delete Temp Links.

Preview

Management and Creation

image

OPTIONAL Login Screen (Non SSO mode)

Login

Templink User View

Demo