Secure Pastebin with Advanced Encryption
Share text and files securely with end-to-end encryption, PGP support, and self-destructing 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.
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.