Chat on Keybase.io
Fast Pastebin
Easy-to-use-and-install pastebin software written in Go. No bells or
whistles, no websockets and even NO JAVASCRIPT!
Current functionality.
- Create and view public and private pastes.
- Syntax highlighting.
- Pastes expiration.
- Passwords for pastes.
- Multiple storage backends. Currently:
flatfiles
and mysql
.
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.
WARNING: installation by compiling Fast Paste Bin from sources require
at least 300 megabytes of free RAM! Eventually it'll run even on 64MB-powered
VM, it's only a compilation issue.
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 in 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.
- User CP.
- Files uploading.
- Passwords for files.
- Pastes forking and revisioning (like git or github gists).
- Possibility to copy-paste-edit WISYWIG content.
- CLI client for pastes and files uploading.