Secure Pastebin with Advanced Encryption

Share text and files securely with end-to-end encryption, PGP support, and self-destructing pastes.

🔒 End-to-End

Keep Your Content Private

All encryption happens client-side. The server never sees your unencrypted content or keys.

🔑 PGP Ready

Use Your Existing Keys

Leverage PGP keys from keyservers, GPG keyring, or Keybase for trusted communications.

⏱️ One-Time

Self-Destructing Content

Create pastes that automatically delete after being viewed once.

📁 Binary Files

Beyond Just Text

Upload and share binary files with proper content type detection.

👥 Friend Keys

Secure Sharing

Easily manage keys for your friends and encrypt content specifically for them.

⚡ CLI Power

Advanced Scripting

Command-line interface for easy integration with your existing scripts and workflows.

Drop your file here or click to browse

Maximum file size: 100MB

Installation

Using npm (recommended)

npm install -g dedpaste

From source

git clone https://github.com/anoncam/dedpaste.git
cd dedpaste
npm install
npm link

Quick Start Examples

Basic Usage

# Create a paste from stdin
echo "Hello, World!" | dedpaste

# Create a paste from a file
dedpaste send myfile.txt

# Create with custom filename
dedpaste send --filename "readme.md" < README.md

# Create a one-time paste (self-destructs after viewing)
dedpaste send --one-time secret.txt

# Retrieve a paste
dedpaste get https://paste.d3d.dev/AbCdEfGh

# Save retrieved paste to file
dedpaste get https://paste.d3d.dev/AbCdEfGh -o output.txt

Encryption & Security

# Generate your key pair (one-time setup)
dedpaste keys --gen-key

# Encrypt for yourself
echo "Secret data" | dedpaste send --encrypt

# Encrypt for a specific friend
dedpaste send --encrypt --for alice@example.com secret.txt

# Combine encryption with one-time viewing
dedpaste send --encrypt --one-time confidential.pdf

# Decrypt a paste (key in URL fragment)
dedpaste get https://paste.d3d.dev/e/AbCdEfGh#key

# Use PGP encryption
dedpaste send --encrypt --pgp --for user@example.com data.txt

Key Management

# Enhanced interactive key management (recommended)
dedpaste keys:enhanced

# Add a friend's key manually
dedpaste keys --add alice

# Import from Keybase
dedpaste keys --add bob --keybase bob_username

# Import PGP key from keyserver
dedpaste keys --pgp-key alice@example.com

# List all stored keys
dedpaste keys --list

# Export your public key for sharing
dedpaste keys --export

# Remove a friend's key
dedpaste keys --remove alice

Advanced Features

# Pipe from other commands
cat logs.txt | grep ERROR | dedpaste send --one-time

# Use in scripts
PASTE_URL=$(echo "Build complete" | dedpaste)
echo "Results: $PASTE_URL"

# Binary file support
dedpaste send image.png
dedpaste send document.pdf --encrypt

# Set custom expiration (if configured)
dedpaste send --expire 24h temporary.txt

# Copy to clipboard (requires xclip/pbcopy)
dedpaste get https://paste.d3d.dev/abc | pbcopy

Troubleshooting

Common PGP Errors

Error: PGP encryption requires a recipient

Always specify a recipient when using PGP encryption:

echo "secret" | dedpaste send --encrypt --for user@example.com --pgp

Error: Failed to find PGP key for recipient

Make sure you've added the recipient's PGP key first:

dedpaste keys --pgp-key user@example.com

Key Management Issues

Error: No personal key found

Generate a key pair first:

dedpaste keys --gen-key

Error: Cannot decrypt - missing private key

Make sure you have the private key for the recipient identity:

dedpaste keys --list  # Check if your key is listed

API Usage

REST API Endpoints

# Create a paste
curl -X POST https://paste.d3d.dev/api/paste \
  -H "Content-Type: application/json" \
  -d '{"content": "Hello, World!", "isOneTime": false}'

# Retrieve a paste
curl https://paste.d3d.dev/api/paste/AbCdEfGh

# Create an encrypted paste
curl -X POST https://paste.d3d.dev/api/paste \
  -H "Content-Type: application/json" \
  -d '{"content": "encrypted_content_base64", "isEncrypted": true}'

Note: When using the API directly, encryption must be handled client-side. The server only stores encrypted content and never has access to encryption keys.