aboutsummaryrefslogtreecommitdiff
path: root/bridge-sync
diff options
context:
space:
mode:
Diffstat (limited to 'bridge-sync')
-rwxr-xr-xbridge-sync88
1 files changed, 0 insertions, 88 deletions
diff --git a/bridge-sync b/bridge-sync
deleted file mode 100755
index b92f849..0000000
--- a/bridge-sync
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-CERT_FILE="${HOME}/.config/isync/proton-bridge.pem"
-
-BRIDGE_UNIT="protonmail-bridge.service"
-IMAP_PORT="1143"
-
-# These paths match what your ps output shows.
-BRIDGE_CHILD_PATH="/usr/lib/protonmail/bridge/bridge"
-BRIDGE_LAUNCHER_PATH="/usr/bin/protonmail-bridge"
-
-CERT_REFRESH_UNIT="proton-bridge-cert-refresh.service"
-
-port_listening() {
- ss -ltn "( sport = :${IMAP_PORT} )" | grep -q ":${IMAP_PORT}"
-}
-
-echo "[0] Preconditions"
-command -v ss >/dev/null
-command -v mbsync >/dev/null
-command -v systemctl >/dev/null
-
-echo "[1] Stop Bridge (systemd user service)"
-systemctl --user stop "${BRIDGE_UNIT}" || true
-
-echo "[1.1] Kill any remaining processes in unit cgroup"
-# If stop didn't fully terminate, this forces remaining processes in the unit's cgroup to die.
-systemctl --user kill -s SIGKILL "${BRIDGE_UNIT}" || true
-
-echo "[1.2] Hard kill Bridge child (the one that tends to linger)"
-pkill -u "${USER}" -f "${BRIDGE_CHILD_PATH}" || true
-
-echo "[1.3] Optional: kill launcher if it lingers"
-pkill -u "${USER}" -f "${BRIDGE_LAUNCHER_PATH}" || true
-
-echo "[1.4] Wait until IMAP port ${IMAP_PORT} is closed"
-for i in {1..15}; do
- port_listening || break
- sleep 1
-done
-
-if port_listening; then
- echo "ERROR: Port ${IMAP_PORT} still open after stop/kill."
- echo "Diagnostics:"
- ss -ltnp | grep ":${IMAP_PORT}" || true
- ps -u "${USER}" -o pid,comm,args | grep -E 'protonmail|/usr/lib/protonmail/bridge/bridge' | grep -v grep || true
- exit 1
-fi
-
-echo "[2] Start Bridge"
-systemctl --user start "${BRIDGE_UNIT}"
-
-echo "[2.1] Wait for Bridge IMAP port ${IMAP_PORT}"
-for i in {1..30}; do
- port_listening && break
- sleep 1
-done
-
-if ! port_listening; then
- echo "ERROR: Bridge did not start (port ${IMAP_PORT} not listening)."
- echo "Diagnostics:"
- systemctl --user status "${BRIDGE_UNIT}" --no-pager || true
- journalctl --user -u "${BRIDGE_UNIT}" -n 80 --no-pager || true
- exit 1
-fi
-
-echo "[3] Refresh cert"
-systemctl --user start "${CERT_REFRESH_UNIT}"
-
-echo "[3.1] Wait for cert: ${CERT_FILE}"
-for i in {1..10}; do
- [ -s "${CERT_FILE}" ] && break
- sleep 1
-done
-
-if [ ! -s "${CERT_FILE}" ]; then
- echo "ERROR: Cert not created at ${CERT_FILE}"
- echo "Diagnostics:"
- systemctl --user status "${CERT_REFRESH_UNIT}" --no-pager || true
- journalctl --user -u "${CERT_REFRESH_UNIT}" -n 80 --no-pager || true
- ls -la "$(dirname "${CERT_FILE}")" || true
- exit 1
-fi
-
-echo "[4] Run mbsync"
-mbsync -a -V
-