Secure Pastebin with Advanced Encryption
A powerful CLI tool for sharing text and files with end-to-end encryption, PGP support, and one-time pastes.
Keep Your Content Private
All encryption happens client-side. The server never sees your unencrypted content or keys.
Use Your Existing Keys
Leverage PGP keys from keyservers, GPG keyring, or Keybase for trusted communications.
Self-Destructing Content
Create pastes that automatically delete after being viewed once.
Beyond Just Text
Upload and share binary files with proper content type detection.
Secure Sharing
Easily manage keys for your friends and encrypt content specifically for them.
Advanced Scripting
Command-line interface for easy integration with your existing scripts and workflows.
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 < file.txt
# Create a one-time paste
echo "Secret content" | dedpaste --temp
# Specify file explicitly
dedpaste --file path/to/file.txt
Encryption
# Generate your key pair first
dedpaste keys --gen-key
# Create encrypted paste
echo "Secret data" | dedpaste --encrypt
# Encrypt for a friend
echo "For Alice" | dedpaste send --encrypt --for alice
# Use PGP encryption
echo "PGP Secret" | dedpaste send --encrypt --for user@example.com --pgp
Key Management
# Enhanced interactive key management (recommended)
dedpaste keys:enhanced
# List all your keys
dedpaste keys --list
# Add a friend's public key
dedpaste keys --add-friend alice --key-file alice.pem
# Add a PGP key from keyservers
dedpaste keys --pgp-key user@example.com
# Add a Keybase user's key
dedpaste keys --keybase username
Retrieving Pastes
# Get and display a paste
dedpaste get https://paste.d3d.dev/AbCdEfGh
# Get and decrypt an encrypted paste
dedpaste get https://paste.d3d.dev/e/AbCdEfGh
# Use a specific key file
dedpaste get https://paste.d3d.dev/e/AbCdEfGh --key-file private.pem
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 your key pair first:
dedpaste keys --gen-key
Error: Friend not found in key database
Add the friend's key before encrypting for them:
dedpaste keys --add-friend name --key-file path/to/key.pem
CLI Parameter Issues
Error: File not found with --file flag
Double-check the file path and use quotes for paths with spaces:
dedpaste --file "path/to/my file.txt"
Error: --for is required when using --pgp
PGP encryption always requires specifying a recipient:
dedpaste send --encrypt --for recipient@example.com --pgp
API Usage
# Post content
curl -X POST -H "Content-Type: text/plain" --data "Your content here" https://paste.d3d.dev/upload
# Post one-time content
curl -X POST -H "Content-Type: text/plain" --data "Your content here" https://paste.d3d.dev/temp
# Post encrypted content (client-side encryption)
curl -X POST -H "Content-Type: text/plain" --data "Your encrypted content" https://paste.d3d.dev/e/upload
# Post encrypted one-time content
curl -X POST -H "Content-Type: text/plain" --data "Your encrypted content" https://paste.d3d.dev/e/temp
# Get content
curl https://paste.d3d.dev/{paste-id}
# Get encrypted content (requires client-side decryption)
curl https://paste.d3d.dev/e/{paste-id}