Transfer-more
Transfer More is a minimalist open-source upload http server to store and share files temporarily, written in Crystal, and based on Kemal [1].
Installation
Install the transfer-moreAUR package. It only requires crystal and shards in order to compile the initial binary, because pre-built binaries are not provided. There is not 3rd database or service dependencies.
Running
Starting
Run the transfer-more binary manually from a terminal.
Autostarting
TODO
System service
TODO
User service
TODO
Configuration
Parameters
$ transfer-more --port 3000 --host 0.0.0.0
Environment variables
- 
TRANSFER_SSL_ENABLED: iftrueyou should see this page
- 
TRANSFER_BASE_STORAGE: the base path where the upload should be stored
- 
TRANSFER_SECURE_SIZE: the size of the salt (minimum 1)
- 
TRANSFER_STORAGE_DAYS: default 7, number of days minimum to keep the files stored
- 
TRANSFER_TIME_FORMAT: default%y%m%d%H, a part of the URL to access the files (also the path in the filesystem)
Behind Nginx
You could configure your nginx with /etc/nginx/servers-enabled/transfer-more.conf:
 server {
   listen 443 ssl;
   server_name up.sceptique.eu;
   client_max_body_size 1G;
   proxy_set_header Host              $host;
   proxy_set_header X-Real-IP         $remote_addr;
   proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
   location / {
       proxy_pass http://localhost:3000;
   }
 }
See also
- https://git.sceptique.eu/Sceptique/transfer_more#usage to get the last version of the documentation.
- https://kemalcr.com/guide/ to understand how the web framework behind transfer-more works.
