v0.2.3
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE1MTdYA1m9lqO/FEeGPNoXAAiv/MFAltP0ZIACgkQGPNoXAAi
v/OcVw//TpU05VZMfaCT9rEK02Cudd4+j+viFYeL5d6Ftx3r8IbiFWYoMD57sTD5
ircu1iXhW4n/3xUw7G8c3QT/04CA+3DXaasFQ8akpY32It7IdjJPL4hyhMOebxfl
3CsDS3TroIwg4BOERb04ElAMTqKR1JCX5LXqjogW6BbW2IWSgcznF6cpJpOkui18
OCJngS0pP13bXpQrxzqBjRuNij+uT97oIn5OL8UbqzseK3ooy5TOqu/xLbQ7G5L3
sKEzL4yCF1tlVuoTlQSrXp8/z8//Kt4Mexon4NwcDaLuZ9hlwvnwq1OUHEBErxCq
kjJNWbb6QvlALQCIOSzMSHHnQoqw7/OxDkp9RfwaZtKI0673WS2gUd/jovK+t19G
Xe9kBHfYnnR/LyS9A8To3lvjBAplKaHLrUND5O4Oa4rQyYpVN/2LgMOie8iYpbvA
xZiVN8ck5s/9XHR2rgWstllB+5LjzML4/kv5frmib2FiBD7Bmm4A8pODPXl5Cuga
KHv4tI/V8bLc8eFCXlzUWC/uPkmrs1DR0054oMtBiXT6N/RMTY7Gd0JR0VVdU5cf
PJ1Itc+ji8blud0sIrOwj3BVuEQr8hERcXHN1mUVDIFeZ7F6ThmvlVf0ZJbcloAG
1SBB4FruHZPYStz6LRYtgMZBkAQZT8yUfsk2gRyQGeJYWZS5Hhc=
=Ox9Y
-----END PGP SIGNATURE-----
Bump version to v0.2.3

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
1 file changed
tree: 9657fb9cd84ee78d2038d13bfa1c358fc6760649
  1. .gitignore
  2. .goosarch
  3. .travis.yml
  4. .traviskey
  5. Dockerfile
  6. Gopkg.lock
  7. Gopkg.toml
  8. LICENSE
  9. Makefile
  10. README.md
  11. VERSION.txt
  12. main.go
  13. server.go
  14. server/
  15. vendor/
  16. version/
README.md

pastebinit

Travis CI GoDoc

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.

Installation

Binaries

For installation instructions from binaries please visit the Releases Page.

Via Go

$ go get github.com/jessfraz/pastebinit

Usage

Client

You need to set PASTEBINIT_USERNAME and PASTEBINIT_PASS 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.

Server

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_PASS 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)

Running in a container

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_PASS=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_PASS=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_PASS=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!