mirror of
https://github.com/shenxn/protonmail-bridge-docker.git
synced 2026-03-27 05:45:58 +00:00
Merge 383840cb3f into e02b51acc3
This commit is contained in:
commit
a7f7f571ee
@ -4,7 +4,7 @@ FROM debian:sid-slim AS build
|
|||||||
ARG version
|
ARG version
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
RUN apt-get update && apt-get install -y golang build-essential libsecret-1-dev
|
RUN apt-get update && apt-get install -y golang build-essential libsecret-1-dev libfido2-dev pkg-config libcbor-dev
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
ADD https://github.com/ProtonMail/proton-bridge.git#${version} /build/
|
ADD https://github.com/ProtonMail/proton-bridge.git#${version} /build/
|
||||||
@ -19,7 +19,7 @@ EXPOSE 143/tcp
|
|||||||
|
|
||||||
# Install dependencies and protonmail bridge
|
# Install dependencies and protonmail bridge
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends socat pass libsecret-1-0 ca-certificates \
|
&& apt-get install -y --no-install-recommends socat pass libsecret-1-0 ca-certificates libfido2-1 libcbor0 \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Copy bash scripts
|
# Copy bash scripts
|
||||||
|
|||||||
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
# Workaround for stale gpg-agent socket causing auth failures on restart
|
||||||
|
# Cleans up leftover sockets in the GPG home directory
|
||||||
|
if [ -d /root/.gnupg ]; then
|
||||||
|
rm -f /root/.gnupg/S.gpg-agent*
|
||||||
|
fi
|
||||||
|
|
||||||
# Initialize
|
# Initialize
|
||||||
if [[ $1 == init ]]; then
|
if [[ $1 == init ]]; then
|
||||||
|
|
||||||
@ -23,13 +29,22 @@ else
|
|||||||
# socat will make the conn appear to come from 127.0.0.1
|
# socat will make the conn appear to come from 127.0.0.1
|
||||||
# ProtonMail Bridge currently expects that.
|
# ProtonMail Bridge currently expects that.
|
||||||
# It also allows us to bind to the real ports :)
|
# It also allows us to bind to the real ports :)
|
||||||
socat TCP-LISTEN:25,fork TCP:127.0.0.1:1025 &
|
socat TCP-LISTEN:25,fork,reuseaddr TCP:127.0.0.1:1025,nodelay &
|
||||||
socat TCP-LISTEN:143,fork TCP:127.0.0.1:1143 &
|
socat TCP-LISTEN:143,fork,reuseaddr TCP:127.0.0.1:1143,nodelay &
|
||||||
|
|
||||||
# Start protonmail
|
# Start protonmail
|
||||||
# Fake a terminal, so it does not quit because of EOF...
|
# Fake a terminal, so it does not quit because of EOF...
|
||||||
rm -f faketty
|
rm -f faketty
|
||||||
mkfifo faketty
|
mkfifo faketty
|
||||||
cat faketty | /protonmail/proton-bridge --cli $@
|
|
||||||
|
# Keep faketty open
|
||||||
|
sleep infinity > faketty &
|
||||||
|
|
||||||
|
# Start bridge reading from faketty
|
||||||
|
/protonmail/proton-bridge --cli $@ < faketty &
|
||||||
|
|
||||||
|
# Wait for the bridge to exit
|
||||||
|
wait $!
|
||||||
|
exit $?
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
# Workaround for stale gpg-agent socket causing auth failures on restart
|
||||||
|
# Cleans up leftover sockets in the GPG home directory
|
||||||
|
if [ -d /root/.gnupg ]; then
|
||||||
|
rm -f /root/.gnupg/S.gpg-agent*
|
||||||
|
fi
|
||||||
|
|
||||||
# Initialize
|
# Initialize
|
||||||
if [[ $1 == init ]]; then
|
if [[ $1 == init ]]; then
|
||||||
|
|
||||||
@ -37,13 +43,22 @@ else
|
|||||||
# socat will make the conn appear to come from 127.0.0.1
|
# socat will make the conn appear to come from 127.0.0.1
|
||||||
# ProtonMail Bridge currently expects that.
|
# ProtonMail Bridge currently expects that.
|
||||||
# It also allows us to bind to the real ports :)
|
# It also allows us to bind to the real ports :)
|
||||||
socat TCP-LISTEN:25,fork TCP:127.0.0.1:1025 &
|
socat TCP-LISTEN:25,fork,reuseaddr TCP:127.0.0.1:1025,nodelay &
|
||||||
socat TCP-LISTEN:143,fork TCP:127.0.0.1:1143 &
|
socat TCP-LISTEN:143,fork,reuseaddr TCP:127.0.0.1:1143,nodelay &
|
||||||
|
|
||||||
# Start protonmail
|
# Start protonmail
|
||||||
# Fake a terminal, so it does not quit because of EOF...
|
# Fake a terminal, so it does not quit because of EOF...
|
||||||
rm -f faketty
|
rm -f faketty
|
||||||
mkfifo faketty
|
mkfifo faketty
|
||||||
cat faketty | protonmail-bridge --cli
|
|
||||||
|
# Keep faketty open
|
||||||
|
sleep infinity > faketty &
|
||||||
|
|
||||||
|
# Start bridge reading from faketty
|
||||||
|
protonmail-bridge --cli < faketty &
|
||||||
|
|
||||||
|
# Wait for the bridge to exit
|
||||||
|
wait $!
|
||||||
|
exit $?
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user