37 lines
No EOL
929 B
Bash
Executable file
37 lines
No EOL
929 B
Bash
Executable file
#!/bin/bash
|
|
set -eufo pipefail
|
|
|
|
BRIDGE=/bin/protonmail-bridge
|
|
PRINT_INFO=${PRINT_INFO:-""}
|
|
SMTP_PORT=${SMTP_PORT:-"25"}
|
|
IMAP_PORT=${IMAP_PORT:-"143"}
|
|
|
|
#### INIT
|
|
PASS_FILE=${PASS_FILE:-}
|
|
if [ -n "$PASS_FILE" ]; then
|
|
echo "Using PASS file."
|
|
PASS=$(cat $PASS_FILE)
|
|
fi
|
|
|
|
if ! [ -f ./initialized ]; then
|
|
gpg --generate-key --batch /tmp/gpgparams
|
|
pass init pass-key
|
|
COMMAND="login\n$EMAIL\n$PASSWORD"
|
|
RUN_2FA_LOGIN=${RUN_2FA_LOGIN:-}
|
|
if [ -n "$RUN_2FA_LOGIN" ]; then
|
|
echo "Using MFA code."
|
|
COMMAND="$COMMAND\n$MFA_CODE"
|
|
fi
|
|
echo "Executing COMMAND: $COMMAND"
|
|
echo -e "$COMMAND" | $BRIDGE --cli
|
|
touch ./initialized
|
|
fi
|
|
|
|
if [ -n "$PRINT_INFO" ]; then
|
|
echo info | $BRIDGE --cli | egrep '(Username|Password)' | sort -ru
|
|
fi
|
|
|
|
# Fake a terminal, so it does not quit because of EOF...
|
|
rm -f faketty
|
|
mkfifo faketty
|
|
cat faketty | $BRIDGE --cli |