#!/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"