PicoShare
File Transfer - Single-click & Drag-n-drop Upload
About this project
Overview
PicoShare is a minimalist service that allows you to share files easily.
Why PicoShare?
There are a million services for sharing files, but none of them are quite like PicoShare. Here are PicoShare's advantages:
- Direct download links: PicoShare gives you a direct download link you can share with anyone. They can view or download the file with no ads or signups.
- No file restrictions: Unlike sites like imgur, Vimeo, or SoundCloud that only allow you to share specific types of files, PicoShare lets you share any file of any size.
- No resizing/re-encoding: If you upload media like images, video, or audio, PicoShare never forces you to wait on re-encoding. You get a direct download link as soon as you upload the file, and PicoShare never resizes or re-encodes your file.
Run PicoShare
From source
PS_SHARED_SECRET=somesecretpass PORT=4001 \
go run cmd/picoshare/main.go
From Docker
To run PicoShare within a Docker container, mount a volume from your local system to store the PicoShare sqlite database.
docker run \
--env "PORT=4001" \
--env "PS_SHARED_SECRET=somesecretpass" \
--publish 4001:4001/tcp \
--volume "${PWD}/data:/data" \
--name picoshare \
mtlynch/picoshare
From Docker + cloud data replication
If you specify settings for a Litestream-compatible cloud storage location, PicoShare will automatically replicate your data.
You can kill the container and start it later, and PicoShare will restore your data from the cloud storage location and continue as if there was no interruption.
PORT=4001
PS_SHARED_SECRET="somesecretpass"
LITESTREAM_BUCKET=YOUR-LITESTREAM-BUCKET
LITESTREAM_ENDPOINT=YOUR-LITESTREAM-ENDPOINT
LITESTREAM_ACCESS_KEY_ID=YOUR-ACCESS-ID
LITESTREAM_SECRET_ACCESS_KEY=YOUR-SEC
Technologies & License
AGPL-3.0
Go
Docker