27 lines
799 B
Bash
Executable file
27 lines
799 B
Bash
Executable file
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
if [[ "${1:-}" == --help ]] || [[ "${1:-}" == -h ]]; then
|
|
echo "Feathermost rundev.sh: Run two things:" >&2
|
|
echo " - a HTTP server to serve the web application" >&2
|
|
echo " - a proxy server for a Mattermost instance to avoid CORS problems" >&2
|
|
exit
|
|
fi
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
if [[ ! -f config ]]; then
|
|
read -p 'Server URL (e.g. `https://mattermost.example.com`): ' MATTERMOST_REMOTE
|
|
echo "MATTERMOST_REMOTE='${MATTERMOST_REMOTE//\//}'" > config
|
|
echo 'You can change this later by editing the file `config`.' >&2
|
|
fi
|
|
source "config"
|
|
|
|
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 &
|
|
mitmproxy -s etc/mitm_cors.py -m "reverse:$MATTERMOST_REMOTE"
|