2020-04-15 00:59:21 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
2020-04-15 07:17:01 +00:00
|
|
|
set -ex
|
2020-04-15 00:59:21 +00:00
|
|
|
|
|
|
|
|
# Initialize
|
|
|
|
|
if [[ $1 == init ]]; then
|
|
|
|
|
|
|
|
|
|
# # Parse parameters
|
|
|
|
|
# TFP="" # Default empty two factor passcode
|
|
|
|
|
# shift # skip `init`
|
|
|
|
|
# while [[ $# -gt 0 ]]; do
|
|
|
|
|
# key="$1"
|
|
|
|
|
# case $key in
|
|
|
|
|
# -u|--username)
|
|
|
|
|
# USERNAME="$2"
|
|
|
|
|
# ;;
|
|
|
|
|
# -p|--password)
|
|
|
|
|
# PASSWORD="$2"
|
|
|
|
|
# ;;
|
|
|
|
|
# -t|--twofactor)
|
|
|
|
|
# TWOFACTOR="$2"
|
|
|
|
|
# ;;
|
|
|
|
|
# esac
|
|
|
|
|
# shift
|
|
|
|
|
# shift
|
|
|
|
|
# done
|
|
|
|
|
|
|
|
|
|
# Initialize pass
|
|
|
|
|
gpg --generate-key --batch /protonmail/gpgparams
|
|
|
|
|
pass init pass-key
|
|
|
|
|
|
|
|
|
|
# Login
|
2024-12-06 13:01:27 +00:00
|
|
|
protonmail-bridge --cli $@
|
2020-04-15 00:59:21 +00:00
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
2024-12-06 13:01:27 +00:00
|
|
|
# delete lock files if they exist - this can happen if the container is restarted forcefully
|
|
|
|
|
find $HOME -name "*.lock" -delete
|
|
|
|
|
|
2020-04-15 00:59:21 +00:00
|
|
|
# socat will make the conn appear to come from 127.0.0.1
|
|
|
|
|
# ProtonMail Bridge currently expects that.
|
|
|
|
|
# It also allows us to bind to the real ports :)
|
2024-12-06 13:01:27 +00:00
|
|
|
if [[ $(id -u) == 0 ]]; then
|
|
|
|
|
socat TCP-LISTEN:25,fork TCP:127.0.0.1:1025 &
|
|
|
|
|
socat TCP-LISTEN:143,fork TCP:127.0.0.1:1143 &
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
socat TCP-LISTEN:2025,fork TCP:127.0.0.1:1025 &
|
|
|
|
|
socat TCP-LISTEN:2143,fork TCP:127.0.0.1:1143 &
|
2020-04-15 00:59:21 +00:00
|
|
|
|
|
|
|
|
# Start protonmail
|
2024-12-06 13:01:27 +00:00
|
|
|
/protonmail/proton-bridge --noninteractive $@
|
2020-04-15 00:59:21 +00:00
|
|
|
|
|
|
|
|
fi
|