- short term storage for quickly sharing files
- expiring files that are actually deleted (default 10min)
- easy-to-share links
- usable from a cli
FilePile can be used from the command line with curl or from scripts and other applications. Here I go over the basic usage with curl.
curl -X POST \
-F "file=@</path/to/file>" \
http://hostname:3000/upload
curl -X GET \
http://hostname:3000/info/<file id>
curl -X GET \
http://hostname:3000/download/<file id> \
--output <file>
curl -X GET \
http://hostname:3000/statistics
Note
The server will always respond with JSON.
- POST:
/upload- upload a file.
- returns with the file id needed for other functionality and sharing.
- GET:
/info/<file id>- returns information about the file.
- filename
- size of file (in bytes)
- time of upload
- time till expiry
- returns information about the file.
- GET:
/download/<file id>- returns the actual file.
- GET:
/statistics- reutrns useful (or at least cool) statistics about this instance.
- files uploaded
- files downloaded
- megabytes downloaded
- reutrns useful (or at least cool) statistics about this instance.
I am cautious of relying on random seemingly good-willing file hosts on the internet. I want to be sure that my data is private, especially when sharing sensitive information such as SSH keys. I also didn't like that almost none of these online tools were easily usable from a command line. This led to me building FilePile.
- Clone the repo
- run
npm run productionin the/srcfolder
Feel free to contribute. Use npm start for the development server.
