update useful aliases

This commit is contained in:
creme 2025-02-12 15:15:21 +01:00
parent 022dbeaed2
commit 990d8aa232
No known key found for this signature in database
GPG Key ID: C147C3B7FBDF08D0

View File

@ -1,16 +1,21 @@
**some useful aliases:** **some useful aliases:**
```
source "$HOME/.token" # contains $token
server='server.tld'
```
get a list of all rooms: get a list of all rooms:
```bash ```bash
matrix-show_rooms() { matrix-show_rooms() {
curl -s --header "Authorization: Bearer $token" -X GET 'https://matrix.envs.net/_synapse/admin/v1/rooms?order_by=state_events&limit=1000000' | jq -Mr . > ~/rooms.txt && nano ~/rooms.txt curl -s -H "Authorization: Bearer $token" -X GET 'https://'"$server"'/_synapse/admin/v1/rooms?order_by=state_events&limit=1000000' | jq -Mr . > ~/rooms.txt && nano ~/rooms.txt
} }
``` ```
get a list of all users: get a list of all users:
```bash ```bash
matrix-show_users() { matrix-show_users() {
curl -s --header "Authorization: Bearer $token" -X GET 'https://matrix.envs.net/_synapse/admin/v2/users?from=0&limit=100000&guests=false' | jq -Mr . > ~/users.txt && nano ~/users.txt curl -s -H "Authorization: Bearer $token" -X GET 'https://'"$server"'/_synapse/admin/v2/users?from=0&limit=100000&guests=false' | jq -Mr . > ~/users.txt && nano ~/users.txt
} }
``` ```
@ -19,16 +24,43 @@ deactivate a list of user_ids:
matrix-deactivate-users() { matrix-deactivate-users() {
while read i; do while read i; do
printf '%s\n' "$i"; \ printf '%s\n' "$i"; \
curl -s --header "Authorization: Bearer $token" -X POST 'https://matrix.envs.net/_synapse/admin/v1/deactivate/'"$i" -d '{"erase": true}'; printf '\n'; done < ~/deactivate_users.txt curl -s -H "Authorization: Bearer $token" -X POST 'https://'"$server"'/_synapse/admin/v1/deactivate/'"$i" -d '{"erase": true}'; printf '\n'
done < ~/deactivate_users.txt
echo > ~/deactivate_users.txt
} }
``` ```
purge and block a list of room_ids: remove all rooms without local members:
```bash
matrix-remove-empty-rooms() {
TOPURGE=$(curl -s -H "Authorization: Bearer $token" -X GET \
'https://'"$server"'/_synapse/admin/v1/rooms?limit=1000000' | jq -Mr '.rooms[] | select(.joined_local_members == 0) | .room_id')
for i in $TOPURGE; do
printf 'processing room %s ..\n' "$i"
curl -s -w "\nResponse code: %{response_code}\n" -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X DELETE -d '{}' \
'https://'"$server"'/_synapse/admin/v1/rooms/'"$i"''
done
}
```
purge and block a list of room_ids and also deactivate all local users in this rooms:
```bash ```bash
matrix-purge-rooms() { matrix-purge-rooms() {
echo > ~/blocked_members.txt
while read i; do while read i; do
printf '%s\n' "$i"; \ printf '%s\n' "$i"
curl -s --header "Authorization: Bearer $token" -X DELETE 'https://matrix.envs.net/_synapse/admin/v1/rooms/'"$i" -d '{"purge": true, "block": true}'; printf '\n'; done < ~/purge_rooms.txt curl -s -H "Authorization: Bearer $token" -X GET 'https://'"$server"'/_synapse/admin/v1/rooms/'"$i"'/members' | jq -Mr .members[] >> ~/blocked_members.txt
curl -s -H "Authorization: Bearer $token" -X DELETE 'https://'"$server"'/_synapse/admin/v1/rooms/'"$i" -d '{"purge": true, "block": true}'
printf '\n'
done < ~/purge_rooms.txt
sed -i -e '/^$/d' ~/blocked_members.txt
sort -u -o ~/blocked_members.txt{,}
for i in $(grep "$server" ~/blocked_members.txt); do
printf '%s\n' "$i"
curl -s -H "Authorization: Bearer $token" -X POST 'https://'"$server"'/_synapse/admin/v1/deactivate/'"$i" -d '{"erase": true}'
done
sed -i '/'"$server"'/d' ~/blocked_members.txt
} }
``` ```