2022-10-20 23:20:04 +02:00
|
|
|
# Share
|
|
|
|
Servicio para compartir arquivos.
|
|
|
|
|
|
|
|
Recibe un arquivo.
|
|
|
|
Devolve un link para descargalo.
|
|
|
|
|
2022-10-24 10:23:47 +02:00
|
|
|
## Execución
|
|
|
|
```
|
2022-10-24 17:00:07 +02:00
|
|
|
UPLOADS="/tmp/uploads/" BASE_URL="http://127.0.0.1" PORT=4000 cargo run
|
2022-10-24 10:23:47 +02:00
|
|
|
```
|
2022-10-24 17:00:07 +02:00
|
|
|
As variables de entorno UPLOADS, BASE_URL e PORT son opcionais tendo como valores por defecto:
|
2022-10-24 10:23:47 +02:00
|
|
|
- UPLOADS = "uploads/"
|
2022-10-24 17:00:07 +02:00
|
|
|
- BASE_URL = "http://127.0.0.1"
|
2022-10-24 10:23:47 +02:00
|
|
|
- PORT = 3000
|
|
|
|
|
2022-10-20 23:20:04 +02:00
|
|
|
## Funcionamento
|
2022-10-20 23:46:55 +02:00
|
|
|
```
|
2022-10-24 09:24:37 +02:00
|
|
|
curl -F'file=@fondo-mobil.jpg' https://sh4r.in
|
2022-10-20 23:46:55 +02:00
|
|
|
|
|
|
|
```
|
2022-10-20 23:20:04 +02:00
|
|
|
|
|
|
|
### Subida
|
|
|
|
Cando recibe un arquivo:
|
2022-10-24 09:24:37 +02:00
|
|
|
- Xenera un hash.
|
|
|
|
- Crea un directorio "primeiro díxito do hash/$HASH/".
|
|
|
|
Exemplo: /R/RORoxqH/
|
2022-10-20 23:20:04 +02:00
|
|
|
- Garda o arquivo en ese directorio.
|
2022-10-24 09:24:37 +02:00
|
|
|
- Mostra o link de descarga: https://host:port/f/$HASH
|
2022-10-20 23:20:04 +02:00
|
|
|
|
|
|
|
### Baixada
|
|
|
|
Cando recibe un link de baixada:
|
2022-10-24 09:24:37 +02:00
|
|
|
- Colle o $HASH da URL.
|
|
|
|
- Le o arquivo do directorio apropiado: "primeiro díxito do hash/$HASH/"
|
2022-10-20 23:20:04 +02:00
|
|
|
- Envía a descarga.
|
|
|
|
|
|
|
|
### Limpeza
|
2022-10-24 09:24:37 +02:00
|
|
|
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
|
|
|
|
```
|