A Go application that zips, encrypts, and securely backup folder to an AWS S3 Bucket.
- 🔒 Secure: Uses trusted public keys for encryption and server's private keys for signing.
- 🗂 Batch Processing: Zips an entire folder for encrypted transfer.
- ☁️ Cloud Ready: Easily uploads to AWS S3 Bucket.
- Go (version 1.21 or higher)
- AWS CLI (configured with required access permissions)
- PGP keys (a trusted public key for encryption and a private key for server authentication)
git clone https://github.com/thomasdseao/go-secure-backup-s3.git
cd go-secure-backup-s3
go build .
./go-secure-backup-s3 -folder="/tmp/testpath" -tpubkey="/tmp/public_key.asc" -sprivkey="/tmp/private_key.asc" -bucket="backup-timestamp" -s3key="testbackup" -aws-access-key="XXXXXXXXXXXXXXXXX" -aws-secret-key="XXXXXXXXXXXXXX" -aws-region="eu-north-1" -signingpassword="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
folder
: Path to the folder you want to zip.tpubkey
: Path to the trusted public key for encryption.sprivkey
: Path to the server's private key for signing.signingpassword
: Password for the server's private key.bucket
: Name of the S3 bucket where the file will be uploaded.s3key
: Key name to use in S3.aws-access-key
: AWS access key for S3 authentication.aws-secret-key
: AWS secret key for S3 authentication.
This project is licensed under the MIT License.
For questions and support, please create an issue.