PotatoMaster101/sectxt
GitHub: PotatoMaster101/sectxt
Stars: 0 | Forks: 0
[](https://www.gnu.org/licenses/gpl-3.0)
# Sectxt
Sending secret messages using a password.
## Crates
- [sectxt-core](crates/sectxt-core) - domain layer
- [sectxt-db](crates/sectxt-db) - database layer
- [sectxt-lambda-message](crates/sectxt-lambda-message) - AWS lambda function for handling message uploads
- [sectxt-shared](crates/sectxt-shared) - common code (such as DTOs)
## Setup Development
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'
cargo test
## Setup Production
aws login
cargo lambda build --arm64 --release --output-format zip
terraform init
terraform apply -auto-approve
sqlx migrate run --source 'crates/sectxt-db/migrations' --database-url "$(terraform output -raw database_url)"
## Test Endpoint
Test 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": ""
}'
## Destroy Production
terraform destroy -auto-approve
## TODO
标签:通知系统