Uberfast pastebin in Go
Go to file
Stanislav Nikitin 64c2d62a49 Design works and viewing raw paste data. 2018-05-01 18:43:06 +05:00
api Design works and viewing raw paste data. 2018-05-01 18:43:06 +05:00
assets Design works and viewing raw paste data. 2018-05-01 18:43:06 +05:00
captcha Captcha and design works. 2018-05-01 17:45:36 +05:00
cmd/fastpastebin Captcha and design works. 2018-05-01 17:45:36 +05:00
config License header everywhere. We're on MIT. 2018-04-30 22:37:36 +05:00
context Pagination, readable error messages to user, syntax highlighting started. 2018-05-01 02:37:51 +05:00
database Pagination, readable error messages to user, syntax highlighting started. 2018-05-01 02:37:51 +05:00
examples gitignore, removed my development config and updated README. 2018-04-30 22:43:14 +05:00
pagination Pagination links fix. 2018-05-01 17:52:40 +05:00
pastes Design works and viewing raw paste data. 2018-05-01 18:43:06 +05:00
vendor Captcha and design works. 2018-05-01 17:45:36 +05:00
.gitignore gitignore, removed my development config and updated README. 2018-04-30 22:43:14 +05:00
Gopkg.lock Captcha and design works. 2018-05-01 17:45:36 +05:00
Gopkg.toml Initial commit. 2018-04-30 18:42:17 +05:00
LICENSE License header everywhere. We're on MIT. 2018-04-30 22:37:36 +05:00
README.md Captcha and design works. 2018-05-01 17:45:36 +05:00
fileb0x.yml Pagination, readable error messages to user, syntax highlighting started. 2018-05-01 02:37:51 +05:00

README.md

Join the chat at https://gitter.im/fastpastebin/Lobby

Fast Pastebin

Easy-to-use-and-install pastebin software written in Go. No bells or whistles, no websockets and even NO JAVASCRIPT!(*)

(*) Except fontawesome, because it's awesome :).

Current functionality.

  • Paste text.
  • View pastes.
  • Syntax highlighting.

Caveats.

Installation and updating

Just issue:

go get -u -v github.com/pztrn/fastpastebin/cmd/fastpastebin

This command can be used to update Fast Paste Bin.

Configuration.

Take a look at example configuration file which contains all supported options and their descriptions.

Configuration file position is irrelevant, there is no hardcoded paths where Fast Paste Bin looking for it's configuration. Use -config CLI parameter or FASTPASTEBIN_CONFIG environment variable to specify path.

Developing

Developers should install https://github.com/UnnoTed/fileb0x/ which is used as replacement to go-bindata for embedding assets into binary. After changing assets they should be recompiled into Go code. At repository root execute this command and you'll be fine:

fileb0x fileb0x.yml

Also if you're changed list of assets (by creating or deleting them) be sure to fix files list if fileb0x.yml file!

The rest is default - use linters, formatters, etc. VSCode with Go plugin is recommended for developing as it will perform most of linting-formatting actions automagically. Try to follow https://github.com/golang/go/wiki/CodeReviewComments with few exceptions:

ToDo

This is a ToDo list which isn't sorted by any parameter at all. Just a list of tasks you can help with.

  • Pastes expiration. It saves time to database but isn't blocking access.
  • User CP.
  • Files uploading.
  • Passwords for pastes and files.
  • Pastes forking and revisioning (like git or github gists).
  • Possibility to copy-paste-edit WISYWIG content.
  • CLI client for pastes and files uploading.