Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/quantixed/slack-export-local

Make a fully local slack archive
https://github.com/quantixed/slack-export-local

archive slack

Last synced: 15 days ago
JSON representation

Make a fully local slack archive

Awesome Lists containing this project

README

        

# slack-export-local

## Background

Slack announced a new policy, effective from August 26th, 2024, that messages and files older than one year in workspaces on the free tier will be **deleted**.
This is in addition to the 90 day limit for viewing content in the workspace.

## Partial solution

There is an excellent tool [`slack-export-viewer`](https://github.com/hfaran/slack-export-viewer) that can generate a viewable archive of your slack workspace.

It is possible to compile a full archive of a workspace using this tool.
To do so, one needs to export the workspace data at 90 day intervals and compile the exports to generate a full archive - details [here](https://quantixed.org/2022/08/11/slacker-archiving-information-from-a-slack-workspace/).
Or perhaps the workspace has had a free trial of the paid offering and a full export has been generated.

By default `slack-export-viewer` serves up a viewable archive as a flask application.
It is also possible to generate a local static html instance of the archive using:

```
slack-export-viewer -z path/to/archive.zip --html-only
```

The archive is viewable in both cases, but **the content is external**.
It is only a partial solution because **all the content will disappear when slack deletes any files older than one year**.

## Full solution

This repo is aimed at modifying the local html instance generated by `slack-export-viewer` so that all files are downloaded, and stored and linked as a local copy.

Once the script has run, you will be able to access a local copy of your files direct from the conversations in your Slack workspace - and your access will contnue long after Slack delete your precious files!

### How to:

- generate the local instance of your slack archive (usually `~/html-output/`)
- download `slack-export-local.py` script
- run using `python slack-export-local.py ~/html-output/`

Requires python3 and BeautifulSoup.

Note that the paths in the html files are relative so that it is possible to move or rename the `html-output` folder and everything should still work.