transparent slack message anonymizer
Project description
hades
transparent slack message anonymizer
Installation
Requires Python 3.12+
uv tool install hades-slack
Usage
Create Slack apps
Slack has a funny thing called ratelimiting so we need multiple apps so this doesn't take 5 and a half years to complete.
This is automated and needs an "App Configuration Token" from Slack. How do you get one?
- Go to https://api.slack.com/apps
- Scroll down to "Your App Configuration Tokens"
- Click "Generate Token"
- Copy the "Access Token" that is generated
hades create-apps APP_CONFIG_TOKEN_HERE
This will create 5 slack apps and save their credentials. (The amount can be changed with the --count flag.)
Authenticating the Slack apps
What we actually need are user tokens for each app. To get those, run:
hades install-apps
This will open a browser window for each app and ask you to authorize it. After authorizing all apps, the user tokens will be saved to apps.json.
Downloading your messages
Before any operation, you will need to make a full download of your messages. This is done with:
hades download YOUR_USER_ID_HERE --apps apps.json
This will use the apps you created to download all your messages and save them to slack_messages.db.
Use --resume to continue a previously interrupted download.
Use --purge to delete any existing messages in the database before downloading.
Seeing your message stats
Now that you have your messages downloaded, you can see some stats about them with:
hades stats
Encrypting your messages
To encrypt your messages, run:
hades encrypt YOUR_PASSWORD_HERE ENCRYPT_OLDER_THAN --apps apps.json --execute
ENCRYPT_OLDER_THAN is the amount of days old a message has to be to be encrypted. For example, 30 will encrypt all messages older than 30 days and 0 will encrypt all messages.
Removing the --execute flag will do a dry run and show you how many messages would be encrypted without actually encrypting them on Slack.
Encryption modes
Use --mode to control what replaces your message text:
text(default): Replace with custom text via--text(default:[anonymized with hades])random: Replace with random hex stringinvisible: Make the message invisibleredact: Replaces non space characters with asterisks (*)
Channel type filtering
Use --channel-type / -c to filter which types of channels to encrypt. Can be repeated for multiple types.
public(default): Public channelsprivate: Private channelsdm: Direct messagesgdm: Group direct messages
For example, to encrypt messages in DMs and private channels older than 30 days, run:
hades encrypt YOUR_PASSWORD_HERE 30 --apps apps.json -c dm -c private --execute
Decrypting your messages
To decrypt your messages you will need to have a fresh download of your messages (run the download command again) and then run:
hades decrypt YOUR_PASSWORD_HERE DECRYPT_YOUNGER_THAN --apps apps.json --execute
DECRYPT_YOUNGER_THAN is the amount of days old a message has to be to be decrypted. For example, 30 will decrypt all messages younger than 30 days and 0 will decrypt all messages.
Removing the --execute flag will do a dry run and show you how many messages would be decrypted without actually decrypting them on Slack.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hades_slack-0.1.6.tar.gz.
File metadata
- Download URL: hades_slack-0.1.6.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53fff5f0a4606d3d9f6689666223ede541f2d0f585c9f0caea17412e4d1f4131
|
|
| MD5 |
ea0399967baeb1574b0bcb6e9a5624f3
|
|
| BLAKE2b-256 |
4710c49c23d9126fdfd9657494dcd20d24840afa84f2589630fb81971e2c8d5d
|
File details
Details for the file hades_slack-0.1.6-py3-none-any.whl.
File metadata
- Download URL: hades_slack-0.1.6-py3-none-any.whl
- Upload date:
- Size: 27.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d03053c2b109c655919c3248c5da4fe8b7ddb7bf77a93ba3d82010e6370f3c1
|
|
| MD5 |
cd8b5890c845be391634bf1091e45364
|
|
| BLAKE2b-256 |
7eb14780799ffa57c70fce0a561333be2d8dfcbee21bbdbccb2cbdf3848226ec
|