Skip to main content

clipbox

A self-hosted shared clipboard for copying text between devices on your local network.

Features

  • Named buffers -- create multiple independent text buffers
  • File sharing -- upload and download files alongside the text buffers
  • Auto-save -- changes save automatically as you type, with a status indicator
  • Copy button -- one-tap copy on both desktop and mobile
  • curl-friendly -- read, write, and delete buffers from the terminal
  • Mobile-friendly -- responsive UI that works on phones and tablets, installable as a PWA
  • SQLite storage -- persistent, zero-config database stored in the platform-appropriate data directory

Filenames are kept as sent -- spaces, accents, emoji and macOS screenshot names all round-trip. Uploads are stored under an opaque name on disk, so nothing in a filename can reach the filesystem.

Install

Requires Python 3.14+. Use uv.

Usage

uvx clipbox

OR

uvx clipbox --host 0.0.0.0 --port 8080

This starts the server on http://0.0.0.0:8080. Open it in a browser from any device on your network.

curl

Clipboard operations

curl http://host:port/my-buffer                         # read a buffer
curl -X PUT -d 'text' http://host:port/my-buffer        # write to a buffer
curl -X PATCH -d 'new-name' http://host:port/my-buffer  # rename a buffer
curl -X DELETE http://host:port/my-buffer               # delete a buffer
curl http://host:port/api/buffers                       # list all buffers (JSON)

File Operations

curl -F 'file=@photo.jpg' http://host:port/files/   # upload a file
curl http://host:port/files/filename                # download a file
curl -X DELETE http://host:port/files/filename      # delete a file
curl http://host:port/api/files                     # list all files (JSON)

Environment variables

Variable Default Description
CLIPBOX_DATA (see below) Directory holding the database and uploads
CLIPBOX_DB (see below) Path to the SQLite database file
CLIPBOX_MAX_UPLOAD_MB 0 Reject uploads above this size (0 = no limit)

Data storage

The database is stored in the platform-appropriate data directory by default, with uploaded files in a files/ subdirectory next to it:

Platform Path
Linux ~/.local/share/clipbox/clipbox.db
macOS ~/Library/Application Support/clipbox/clipbox.db
Windows %LOCALAPPDATA%\clipbox\clipbox.db

Override with the CLIPBOX_DB environment variable.

Development

make test     # run the test suite
make check    # lint and type-check
make format   # apply formatting

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clipbox-0.5.0.tar.gz (40.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clipbox-0.5.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file clipbox-0.5.0.tar.gz.

File metadata

  • Download URL: clipbox-0.5.0.tar.gz
  • Upload date:
  • Size: 40.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for clipbox-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f2aa2e53db1254b83605e7868c8b8e131e105ea18c4e0882b6f67e15f3888161
MD5 bf8ac05df517a750ddcc5c795757b2c1
BLAKE2b-256 be2d1c48ff7b377a487bd4896581d8e168ffc8e89495a3488e33d7303634e3c3

See more details on using hashes here.

File details

Details for the file clipbox-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: clipbox-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for clipbox-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89e0e29ee7c38edeb76e62921ee22eb844542502255bc238afdd575946a68be1
MD5 01656b9421a720b399baeacf773ad9ab
BLAKE2b-256 a48e495908a3b0da24e73d32f4953344237b2f664cbff6aca6a0346fabf4ce21

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.1

2 files

0.6.0

2 files

0.5.1

2 files

This release

0.5.0 This release

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page