Go implementation of pastebinit. Host your own pastebin and post things there. Example file I posted here.
Why? You ask.. because pastebin.com has ads (booo) & is fugly as eff.
For installation instructions from binaries please visit the Releases Page.
$ go get github.com/jessfraz/pastebinit
You need to set PASTEBINIT_USERNAME
and PASTEBINIT_PASSWORD
as environment variables,
so the client knows how to auth on paste. To change the uri, pass the -b
flag.
Just like the pastebinit you are used to, this client can read from stdin & input. Heres some examples:
# pipe to pastebinit
$ docker images | pastebinit -b yoururl.com
# pass a file
$ pastebinit -b yoururl.com server.go
$ pastebinit -h
pastebinit - Command line paste bin.
Usage: pastebinit <command>
Flags:
-b, --uri pastebin base uri (default: https://paste.j3ss.co/)
-d, --debug enable debug logging (default: false)
-p, --password password (or env var PASTEBINIT_PASSWORD) (default: <none>)
-u, --username username (or env var PASTEBINIT_USERNAME)
Commands:
server Run the server.
version Show the version information.
The server can be run in a docker container, via the included dockerfile. You can use my image on the hub: jess/pastebinit or you can build the image yourself via:
$ git clone git@github.com/jessfraz/pastebinit.git
$ cd pastebinit
$ docker build -t your_name/pastebinit .
To run the image do, you need to pass the PASTEBINIT_USERNAME
and PASTEBINIT_PASSWORD
environment variables to the container.
You can also pass the following options as cli flags to the binary in the container, these are:
$ pastebinit server -h
Usage: pastebinit server [OPTIONS]
Run the server.
Flags:
--asset-path Path to assets and templates (default: /src/static)
-b, --uri pastebin base uri (default: https://paste.j3ss.co/)
--cert path to ssl cert (default: <none>)
-d, --debug enable debug logging (default: false)
--key path to ssl key (default: <none>)
-p, --password password (or env var PASTEBINIT_PASSWORD) (default: <none>)
--port port for server to run on (default: 8080)
-s, --storage directory to store pastes (default: /etc/pastebinit/files)
-u, --username username (or env var PASTEBINIT_USERNAME)
Example command to run the container:
# to share the paste volume with your host
$ docker run -d \
--name=pastebinit \
--restart=always \
-e PASTEBINIT_USERNAME=your_username \
-e PASTEBINIT_PASSWORD=your_pass \
-v /home/jess/pastes:/src/files \
jess/pastebinit server \
-b https://myserver.com
# to not share the paste volume
$ docker run -d \
--name=pastebinit \
--restart=always \
-e PASTEBINIT_USERNAME=your_username \
-e PASTEBINIT_PASSWORD=your_pass \
jess/pastebinit server \
-b https://myserver.com
# ssl example
$ docker run -d
--name=pastebinit \
--restart=always \
-e PASTEBINIT_USERNAME=your_username \
-e PASTEBINIT_PASSWORD=your_pass \
-v /path/to/ssl/stuffs:/ssl \
jess/pastebinit server \
-b https://myserver.com --cert=/ssl/cert.crt --key=/ssl/key.key
Then you are all set! Happy pasting!