Purges Mastodon accounts. Deletes old posts. Makes things clean again.
UPDATE:
MastoPurge is now archived and is not maintained anymore, since Mastodon has received an included "auto-delete" feature that allows you to automatically deleting your old posts based on various criteria. You can find the setting at: https://yourmastodoninstance.tld/statuses_cleanup .
MastoPurge connects to your Mastodon account and automatically mass-deletes your old toots. You define what "old" means: Posts from the last few hours/days/weeks/months are preserved while older ones get deleted from your account.
MastoPurge is executed as a command line application on your own PC. You do not need to rely on third parties.
Please note:
- Deleting hundreds or thousands of posts can take a long time due to Mastodon API limits/throttling
- There is no guarantee that your federated toots are deleted on every foreign instance
See https://youtu.be/fQzc6CHq3aU
There is a German word for the process of removing old data: "Datenhygiene". Datenhygiene can be translated to "data hygiene", which means to remove data which is not needed or relevant anymore. This brings some advantages:
- Remove part of your personal history from the internet: Maybe you regret having written something publicly or privately, which new users should not see anymore. We all change our opinions over time. Be sure nobody gets a wrong impression based on outdated posts.
- Improve server performance: Less posts => Less data => Better database performance => Quicker Mastodon reaction. Posts usually are not relevant anymore after a few days. Do your instance administrator a favor and clean up your space to keep costs for computing and storage as low as possible.
Mass-deletions by MastoPurge cause a lot of traffic between Mastodon instances, because deletions are federated one after another. Unfortunately Mastodon does not offer mass-deleting old posts itself, so there is no other efficient way to get rid of your old data. Mass-deletions could be implemented quite traffic-respecting, if well integrated into Mastodon - obviously there is no solution to that yet. (Also see: #875, #69)
Download latest binary from https://github.com/ThomasLeister/mastopurge/releases/latest
chmod u+x mastopurge_linux_x86_64
./mastopurge_linux_x86_64
(Golang must be set up)
(change to your Golang source dir)
git clone https://github.com/ThomasLeister/mastopurge.git
cd mastopurge
go run mastopurge.go
- Download and run MastoPurge (see above)
- Enter the domain name of your Mastodon home instance
- MastoPurge will ask you to visit a certain URL. Open this URL in your web browser
- Authorize MastoPurge to access your Mastodon account. A Code will be displayed.
- Enter the code into MastoPurge
- Select a timespan of your choice. Posts from this time range will not be deleted. Older posts will be removed. (Note: "pinned posts" will not be deleted!)
- Wait. Removing hundreds or thousands of posts can take a long time due to API limits.
- MastoPurge will remember your account the next time you use it. No more authentication needed. If you want to use another account, delete the
.mastopurgesettings
file.
After you have run Mastopurge in interactive mode, once (see instructions above), you will be able to run it in non-interactive mode, if you like. This mode enables you to run Mastopurge automatically e.g. as a Crob Job.
Example:
./mastopurge --noninteractive --maxage "30 days"
If you'd like to check whether Mastopurge works properly (without actually deleting your posts!), you can try the "dry run mode":
./mastopurge --noninteractive --maxage "30 days" --dryrun