servicio para compartir arquivos "blazingly fast"
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
Share
Servicio para compartir arquivos.
Recibe un arquivo. Devolve un link para descargalo.
Execución
UPLOADS="/tmp/uploads/" PORT=4000 cargo run
As variables de entorno UPLOADS e PORT son opcionais tendo como valores por defecto:
- UPLOADS = "uploads/"
- PORT = 3000
Funcionamento
curl -F'file=@fondo-mobil.jpg' https://sh4r.in
Subida
Cando recibe un arquivo:
- Xenera un hash.
- Crea un directorio "primeiro díxito do hash/$HASH/". Exemplo: /R/RORoxqH/
- Garda o arquivo en ese directorio.
- Mostra o link de descarga: https://host:port/f/$HASH
Baixada
Cando recibe un link de baixada:
- Colle o $HASH da URL.
- Le o arquivo do directorio apropiado: "primeiro díxito do hash/$HASH/"
- Envía a descarga.
Limpeza
Executase un cron que borra os arquivos que teñan máis de 5 días.
0 0 * * * /usr/bin/find /uploads -type f -mtime +5 -execdir rm -- '{}' \;
0 1 * * * /usr/bin/find /uploads -empty -type d -delete