updated a bunch

This commit is contained in:
2026-05-20 18:14:15 +02:00
parent 45fb878bd1
commit 8989c7927c
29 changed files with 680 additions and 514 deletions
+53 -1
View File
@@ -1,5 +1,57 @@
sudo openconnect -vvvv --timestamp --dump-http-traffic \
#!/usr/bin/env bash
set -euo pipefail
BW_ITEM_ID="00103432-dabe-4fad-b0c0-0f40ab1ebb36"
export NODE_EXTRA_CA_CERTS="$HOME/.config/bitwarden-certs/vaultwarden-agres-site.pem"
# Ensure Bitwarden is available.
if ! command -v bw >/dev/null 2>&1; then
echo "Error: bw CLI not found." >&2
exit 1
fi
# Ensure we have a usable Bitwarden session.
BW_STATUS="$(bw status 2>/dev/null | jq -r '.status')"
case "$BW_STATUS" in
unauthenticated)
echo "Bitwarden is not logged in. Logging in..."
bw login
export BW_SESSION="$(bw unlock --raw)"
;;
locked)
echo "Bitwarden vault is locked. Unlocking..."
export BW_SESSION="$(bw unlock --raw)"
;;
unlocked)
# Already unlocked in this shell/session.
;;
*)
echo "Error: unknown Bitwarden status: $BW_STATUS" >&2
exit 1
;;
esac
# Pull latest vault data if reachable. Do not fail hard if sync is unavailable.
bw sync >/dev/null 2>&1 || echo "Warning: bw sync failed; using local Bitwarden cache." >&2
VPN_USER="$(bw get username "$BW_ITEM_ID")"
VPN_PASS="$(bw get password "$BW_ITEM_ID")"
if [[ -z "$VPN_USER" || -z "$VPN_PASS" ]]; then
echo "Error: username or password is empty for Bitwarden item: $BW_ITEM_ID" >&2
exit 1
fi
# Feed only the VPN password through stdin.
# OpenConnect will still prompt interactively for 2FA if the server requires it.
{
printf '%s\n' "$VPN_PASS"
cat /dev/tty
} | sudo openconnect --timestamp --dump-http-traffic \
--protocol=anyconnect \
--user="$VPN_USER" \
--passwd-on-stdin \
--useragent='AnyConnect' \
--gnutls-priority="NORMAL:-VERS-ALL:+VERS-TLS1.2:+RSA:+AES-128-CBC:+SHA1" \
vpn-ac.uni-heidelberg.de/2fa