Sending secret messages using a password.
- sectxt-core - domain layer
- sectxt-db - database layer
- sectxt-lambda-message - AWS lambda function for handling message uploads
- sectxt-shared - common code (such as DTOs)
docker compose up -d
$env:DATABASE_URL = "postgres://postgres:postgres@127.0.0.1:5432/postgres?sslmode=disable"
sqlx migrate run --source 'crates/sectxt-db/migrations'
trunk serve$env:DATABASE_URL = "postgres://postgres:postgres@127.0.0.1:5432/postgres?sslmode=disable"
cargo test# backend
cargo lambda build --arm64 --release --output-format zip -p sectxt-lambda-message
aws login
terraform init
terraform apply -auto-approve
sqlx migrate run --source 'crates/sectxt-db/migrations' --database-url "$(terraform output -raw database_url)"
# frontend
trunk build --release
aws s3 sync 'dist/' "s3://$(terraform output -raw asset_bucket)" --deleteTest create message:
curl -X POST -H "Content-Type: application/json" "$(terraform output -raw create_endpoint_url)" -d '{
"auth_token": [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2],
"ciphertext": [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9],
"nonce": [1,2,3,4,5,6,7,8,9,0,1,2],
"salt": [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]
}'Test consume message:
curl -X POST -H "Content-Type: application/json" "$(terraform output -raw consume_endpoint_url)" -d '{
"auth_token": [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2],
"id": "<ID>"
}'terraform destroy -auto-approve- Add attachment upload support
- Implement frontend