Esse projeto é a continuação do projeto apresentado no artigo do Blog DevSuperior, nessa continuação iremos abordar esses temas em live:
- Provisionar infraestrutura completa via CloudFormation
- Validar distribuição Multi-AZ das tasks
- Realizar teste de carga com k6 para acionar o scaling
- Observar métricas e logs no CloudWatch
O detalhamento do conteúdo e passo a passo está em DEMO.md.
API Spring Boot para empacotamento e criptografia de múltiplos arquivos em um único arquivo ZIP protegido por senha.
FilePack API é uma aplicação que recebe múltiplos arquivos via upload e gera um arquivo ZIP criptografado, protegido com a senha fornecida pelo usuário. Ideal para cenários onde é necessário:
- Agrupar múltiplos arquivos em um único pacote
- Proteger arquivos sensíveis com criptografia
- Facilitar o download de múltiplos documentos simultaneamente
- Garantir segurança no transporte de dados
- Java 25 ou superior
- Maven 3.6+
- GitBash
# Compilar o projeto
./mvnw clean package
# Executar a aplicação
./mvnw spring-boot:runA aplicação estará disponível em: $SERVICE_URL
URL: POST /api/filepack
Parâmetros:
files(multipart/form-data): Arquivos para empacotar (múltiplos)password(string): Senha para criptografar o ZIP
Resposta:
- Arquivo ZIP criptografado para download
- Content-Type:
application/zip
Nota: Os arquivos de exemplo estão localizados na pasta
data/na raiz do projeto.
Antes de executar os testes, defina a variável SERVICE_URL de acordo com seu ambiente:
Executando localmente:
export SERVICE_URL="http://localhost:8080"Executando na AWS (substitua pelo endereço do seu ALB):
export SERVICE_URL="http://seu-alb-123456.us-east-1.elb.amazonaws.com"Quando usar: Validação inicial, verificar se a API está funcionando, testes de conectividade
Tamanho do upload: ~170 KB
curl -X POST $SERVICE_URL/api/filepack \
-F "files=@data/infrastructure_config.xml" \
-F "password=teste123" \
--output validation_pack.zip"C:\Program Files\7-Zip\7z.exe" x validation_pack.zip -pteste123 -oextracted/# Usando unzip
unzip -P teste123 validation_pack.zip
# Ou extrair para um diretório específico
unzip -P teste123 validation_pack.zip -d extracted/Nota: A senha usada para descompactar deve ser a mesma fornecida no parâmetro password durante a criação do ZIP.
- O ZIP gerado utiliza criptografia AES
- As senhas não são armazenadas no servidor
- Cada requisição gera um novo arquivo ZIP
- Recomenda-se usar senhas fortes (mínimo 8 caracteres, com letras, números e símbolos)
Este projeto foi desenvolvido para fins educacionais como parte do blog DevSuperior.