Skip to content

williamangelo/drop

Repository files navigation

drop

I wanted a centralized place to send links, images or files via my personal laptop, work laptop or smartphone (to be integrated), and fetch those from any device, without relying on browser extensions or third-parties. drop is that. Drop a file/link/image from any device, pick it up from any other device.

Install

Requires Go 1.22+.

git clone https://github.com/william/drop && cd drop

Server:

cp config.example.toml config.toml   # edit data_dir, etc.
make install-server                   # builds + installs systemd service
drop-server keys create my-laptop     # prints dk_... token for each client

Client:

make install-client                   # builds + symlinks to /usr/local/bin

Then create ~/.config/drop/config.toml:

server = "https://drop.yourdomain.com"
token  = "dk_your_token"

To upgrade later: git pull && make deploy (server) or make install-client (client).

Usage

# store a file or image
drop photo.png
drop document.pdf --tag work

# store a link
drop https://example.com/article --tag reading

# list stored items
drop list
drop list --type file
drop list --tag work
drop list --from 2024-01-01 --limit 20

# retrieve an item
drop pick <id>
drop pick <id> -o ~/Downloads

# pipe input
cat file.txt | drop - --name notes.txt

# audit log
drop log
drop log --limit 50

Server commands

drop-server serve
drop-server keys create <name>
drop-server keys list
drop-server keys revoke <name>
drop-server keys restore <name>
drop-server delete <id>
drop-server delete --type files --older-than 30d
drop-server status

Config reference

Key Default Description
address 0.0.0.0:8000 Listen address
data_dir ./drop-data Storage directory
max_upload_size 100MB Per-upload size limit
max_storage 10GB Total storage pool
min_disk_space 1GB Reject uploads below this free space
rate_limit 60 Requests per device per minute
validate_content true Verify file extension matches content

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors