30 lines
758 B
Bash
Executable file
30 lines
758 B
Bash
Executable file
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
check_remote() {
|
|
if [[ $MATTERMOST_REMOTE == */ ]]; then
|
|
echo "MATTERMOST_REMOTE should not end with a slash (it should only the protocol and the domain; no path)" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
if [[ ! -f config ]]; then
|
|
read -p 'Server URL (e.g. `https://mattermost.example.com`): ' MATTERMOST_REMOTE
|
|
check_remote
|
|
echo "MATTERMOST_REMOTE='$MATTERMOST_REMOTE'" > config
|
|
echo 'You can change this later by editing the file `config`.'
|
|
fi
|
|
source "config"
|
|
check_remote
|
|
|
|
server_pid=0
|
|
finish() {
|
|
if [[ $server_pid -gt 1 ]]; then kill "$server_pid" || true; server_pid=0; fi
|
|
}
|
|
trap finish EXIT
|
|
|
|
python3 -m "http.server" >/dev/null 2>&1 &
|
|
server_pid=$!
|
|
mitmproxy -s etc/mitm_cors.py -m "reverse:$MATTERMOST_REMOTE"
|