picoshare-cli
A command-line tool for interacting with a self-hosted PicoShare instance. Upload files, manage entries, and create guest links — all from the terminal.
Installation
From releases
Download the latest binary for your platform from the Releases page.
From source
go install github.com/justmiles/picoshare-cli@latest
Configuration
The CLI requires two settings, provided via flags or environment variables:
| Flag |
Env Var |
Description |
--server |
PICOSHARE_SERVER |
PicoShare server URL |
--password |
PICOSHARE_PASSWORD |
Shared secret password |
Export them for convenience:
export PICOSHARE_SERVER=https://pico.example.com
export PICOSHARE_PASSWORD=your-secret
Usage
List files
picoshare-cli files list
picoshare-cli files list --json
Upload a file
# Upload with default 30-day expiration
picoshare-cli upload ./photo.jpg
# Upload with custom expiration and note
picoshare-cli upload ./report.pdf --expiration 2025-12-31T00:00:00Z --note "Q4 report"
Delete a file
picoshare-cli delete <entry-id>
Guest links
# Create a guest upload link (defaults: 30-day expiration, 30-day file lifetime)
picoshare-cli guest-link create --label "Team uploads"
# Create with custom options
picoshare-cli guest-link create \
--label "Client uploads" \
--expires 2025-06-01T00:00:00Z \
--file-lifetime 168h \
--max-file-bytes 10485760 \
--max-uploads 5
# Delete / enable / disable a guest link
picoshare-cli guest-link delete <link-id>
picoshare-cli guest-link enable <link-id>
picoshare-cli guest-link disable <link-id>
Building
go build -o picoshare-cli .
License
MIT