镜像自地址
https://github.com/A6-9V/MQL5-Google-Onedrive.git
已同步 2026-04-11 06:10:57 +00:00
34 行
1,017 B
Bash
34 行
1,017 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
# Decrypt an OpenSSL-encrypted archive created by encrypt_workspace.sh and extract it.
|
||
|
|
# Passphrase is taken from ENCRYPTION_PASSPHRASE, or (fallback) JULES_API_KEY.
|
||
|
|
#
|
||
|
|
# Example:
|
||
|
|
# export ENCRYPTION_PASSPHRASE='...'
|
||
|
|
# ./scripts/decrypt_workspace.sh workspace.tar.gz.enc /path/to/output_dir
|
||
|
|
|
||
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||
|
|
IN_FILE="${1:-${ROOT_DIR}/workspace.tar.gz.enc}"
|
||
|
|
OUT_DIR="${2:-${ROOT_DIR}/_decrypted_workspace}"
|
||
|
|
TMP_TAR="${OUT_DIR}/workspace.tar.gz"
|
||
|
|
|
||
|
|
PASSPHRASE="${ENCRYPTION_PASSPHRASE:-${JULES_API_KEY:-}}"
|
||
|
|
if [[ -z "${PASSPHRASE}" ]]; then
|
||
|
|
echo "ERROR: Set ENCRYPTION_PASSPHRASE (preferred) or JULES_API_KEY in the environment." >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
mkdir -p "${OUT_DIR}"
|
||
|
|
|
||
|
|
export PASSPHRASE
|
||
|
|
openssl enc -d -aes-256-gcm -pbkdf2 -iter 200000 \
|
||
|
|
-pass env:PASSPHRASE \
|
||
|
|
-in "${IN_FILE}" \
|
||
|
|
-out "${TMP_TAR}"
|
||
|
|
unset PASSPHRASE
|
||
|
|
|
||
|
|
tar -xzf "${TMP_TAR}" -C "${OUT_DIR}"
|
||
|
|
rm -f "${TMP_TAR}"
|
||
|
|
|
||
|
|
echo "Decrypted workspace extracted to: ${OUT_DIR}"
|