Skip to main content

Pastebin Services

Or "How To Use Public Command-Line Pastebin Services Without Installing Anything."

Introduction

Sometimes we might want to easily share terminal output.

While this can be accomplished directly in communications or manually through text storage websites like pastebin, there also exist a number of open services that allow you to paste and share directly from the command line by using tools you already have installed.

This is great for many situations, including troubleshooting from a non-graphical boot, or simply very large outputs. Here we will share a few examples and how to use them.

Services and Examples

0x0

<command> | curl -F 'file=@-' https://0x0.st

paste.c-net.org

<command> | curl -s --data-binary @- https://paste.c-net.org

Paste69

<command> | curl -F 'file=@-' https://0x45.st/p

rocketpaste

<command> | curl --data-binary @- https://paste.rs

Oshi

<command> | curl -F 'file=@-' https://oshi.ec

0.vern.cc

<command> | curl -F 'file=@-' https://0.vern.cc

BasedBin

<command> | curl -F'file=@-' https://basedbin.fly.dev

pb1n

<command> | curl -F'f=@-' http://pb1n.de

Aliases and other tricks

To quasi-install 0x0.st pasting and sharing add the following to your bashrc (zshrc untested):
0paste .bashrc
0paste() {
local url='https://0x0.st'
if (( $# )); then
local file
for file; do
curl -F "file=@""$file""" "$url"
done
else
curl -F 'file=@-' "$url"
fi
}

Then you can use 0paste:

<command> | 0paste to share output.

0paste <filepath> <filepath2> to share file(s).

To quasi-install paste.c-net.org pasting and sharing add the following to your bashrc (zshrc untested):
paste.cnet.org .bashrc
pastenet()
{
local url='https://paste.c-net.org/'
if (( $# )); then
local file
for file; do
curl -s \
--data-binary @"$file" \
--header "X-FileName: ${file##*/}" \
"$url"
done
else
curl -s --data-binary @- "$url"
fi
}
pasteget()
{
local url='https://paste.c-net.org/'
if (( $# )); then
local arg
for arg; do
curl -s "${url}${arg##*/}"
done
else
local arg
while read -r arg; do
curl -s "${url}${arg##*/}"
done
fi
}

Then you can use 'pastenet' and 'pasteget' a few ways:

<command> | pastenet to share output.

pastenet <filepath> <filepath2> to share file(s). 50M limit.

pasteget https://paste.c-net.org/<exampleurl> to download paste.c-net shared content.

In Memoriam

Previously available services listed here for posterity and in hopes to return results for those in search of them.

Click to show
clbin
<command> | curl -F 'clbin=<-' https://clbin.com
ix.io
<command> | curl -F 'f:1=<-' http://ix.io
rustypaste
<command> | curl -F 'file=@-' https://rustypaste.shuttleapp.rs
sprunge.us
<command> | curl -F 'sprunge=<-' http://sprunge.us

Notes and Warnings

  • Remember to avoid sharing personal information.
  • Please do not abuse these services. They are made freely available so let's not knock a good thing.
  • More details, including options, privacy clauses, and further stipulations, can be found at each project host.