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.
Table of Contents
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!