Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80ad79d7be |
73
README.md
73
README.md
|
|
@ -1,73 +1,4 @@
|
||||||
Remote Media Killer
|
remote_media_killer
|
||||||
===============
|
===============
|
||||||
|
|
||||||
A shell script to make purging remote media files from a Matrix *Synapse* server
|
A shell script to make purging remote media files from a Matrix Synapse server easier.
|
||||||
easier.
|
|
||||||
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
These (or compatible versions) are likely included by default with your chosen
|
|
||||||
GNU/Linux system.
|
|
||||||
|
|
||||||
- Tested with *GNU bash* 5.0.11
|
|
||||||
- Requires *GNU date* for date/time conversion
|
|
||||||
- Requires *Perl* for domain validation
|
|
||||||
- Uses the `_synapse/admin/v1/purge_media_cache` API endpoint
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
### Downloading directly
|
|
||||||
|
|
||||||
Go to the [Releases](https://gitbucket.thisisjoes.site/joe/remote_media_killer/releases)
|
|
||||||
page and click the link for `rmk.sh` to download the script.
|
|
||||||
|
|
||||||
### Downloading using *git*
|
|
||||||
|
|
||||||
Navigate to a reasonable directory and download the repo with `git clone
|
|
||||||
https://gitbucket.thisisjoes.site/git/joe/remote_media_killer.git`. This will
|
|
||||||
create a directory named `remote_media_killer` automatically.
|
|
||||||
|
|
||||||
To ensure you run the latest version of the script, first navigate to the
|
|
||||||
directory with `cd remote_media_killer`, then switch to the latest version with
|
|
||||||
`git checkout 1.0.0`, replacing "1.0.0" with a more recent version if necessary.
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Executing the script
|
|
||||||
|
|
||||||
You may execute the script directly using *bash* with `bash rmk.sh`.
|
|
||||||
|
|
||||||
You may also **mark the script as executable** with `chmod +x rmk.sh` and
|
|
||||||
execute using this shorthand `./rmk.sh`.
|
|
||||||
|
|
||||||
#### Making executable from anywhere
|
|
||||||
If you don't want to have to navigate to the directory containing the script
|
|
||||||
before executing it, you can make it executable from anywhere by first marking
|
|
||||||
it as executable (see above), then copying it to an appropriate directory
|
|
||||||
`cp -p rmk.sh /usr/bin/local/rmk`. Finally execute the script with `rmk`.
|
|
||||||
|
|
||||||
### Inputting Information
|
|
||||||
|
|
||||||
*Remote Media Killer* only takes three variables:
|
|
||||||
|
|
||||||
1. The FQDN (Domain) of your Matrix Synapse server.
|
|
||||||
2. The time/date (Time) of the oldest media you want to keep.
|
|
||||||
3. The account token (Token) of a Matrix account with administrative privileges
|
|
||||||
on your server.
|
|
||||||
|
|
||||||
Type each of these variables when prompted and press ***Enter*** to continue.
|
|
||||||
The script will return relevant errors if there are any, as well as any output
|
|
||||||
from the *Synapse* server.
|
|
||||||
|
|
||||||
For example, a successful media purge would result in output similar to the
|
|
||||||
following:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"deleted": 1337
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Common Errors
|
|
||||||
|
|
||||||
If you encounter an error while using the script you may find a solution on the [Common Errors](https://gitbucket.thisisjoes.site/joe/remote_media_killer/wiki/Common Errors) page.
|
|
||||||
2
rmk.sh
2
rmk.sh
|
|
@ -11,7 +11,7 @@ UserInput() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ExecutePurge() {
|
ExecutePurge() {
|
||||||
echo 'Purging remote media, please wait.'
|
echo -e '\nPurging remote media, please wait.'
|
||||||
curl -X POST "https://$1/_synapse/admin/v1/purge_media_cache?before_ts=$2&access_token=$3" --data '{}'
|
curl -X POST "https://$1/_synapse/admin/v1/purge_media_cache?before_ts=$2&access_token=$3" --data '{}'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue