2018-05-18 23:43:08 +05:00
|
|
|
[Chat on Keybase.io](https://keybase.io/team/fastpastebin)
|
2018-04-30 22:48:05 +05:00
|
|
|
|
2018-04-30 18:42:17 +05:00
|
|
|
# Fast Pastebin
|
|
|
|
|
2018-05-01 14:41:36 +05:00
|
|
|
Easy-to-use-and-install pastebin software written in Go. No bells or
|
2018-05-26 13:50:13 +05:00
|
|
|
whistles, no websockets and even NO JAVASCRIPT!
|
2018-05-01 14:41:36 +05:00
|
|
|
|
|
|
|
# Current functionality.
|
|
|
|
|
2018-05-02 11:29:29 +05:00
|
|
|
* Create and view public and private pastes.
|
2018-05-01 14:41:36 +05:00
|
|
|
* Syntax highlighting.
|
2018-05-17 22:43:15 +05:00
|
|
|
* Pastes expiration.
|
2018-05-18 22:50:32 +05:00
|
|
|
* Passwords for pastes.
|
2018-05-27 12:25:01 +05:00
|
|
|
* Multiple storage backends. Currently: ``flatfiles`` and ``mysql``.
|
2018-05-01 14:41:36 +05:00
|
|
|
|
|
|
|
# Caveats.
|
|
|
|
|
|
|
|
* No links at lines numbers. See https://github.com/alecthomas/chroma/issues/132
|
2018-04-30 22:43:14 +05:00
|
|
|
|
|
|
|
# Installation and updating
|
|
|
|
|
|
|
|
Just issue:
|
|
|
|
|
|
|
|
```
|
2018-05-01 17:45:36 +05:00
|
|
|
go get -u -v github.com/pztrn/fastpastebin/cmd/fastpastebin
|
2018-04-30 22:43:14 +05:00
|
|
|
```
|
|
|
|
|
|
|
|
This command can be used to update Fast Paste Bin.
|
|
|
|
|
2018-05-18 22:50:32 +05:00
|
|
|
**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.
|
|
|
|
|
2018-04-30 22:43:14 +05:00
|
|
|
# Configuration.
|
|
|
|
|
|
|
|
Take a look at [example configuration file](examples/fastpastebin.yaml.dist)
|
|
|
|
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
|
2018-04-30 22:48:05 +05:00
|
|
|
or ``FASTPASTEBIN_CONFIG`` environment variable to specify path.
|
|
|
|
|
2018-05-01 15:01:40 +05:00
|
|
|
# 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
|
2018-05-01 22:56:45 +05:00
|
|
|
to fix files list in ``fileb0x.yml`` file!
|
2018-05-01 15:01:40 +05:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
* Imports should be organized in 3 groups: stdlib, local, other. See
|
|
|
|
https://github.com/pztrn/fastpastebin/blob/master/pastes/api_http.go for
|
|
|
|
example.
|
|
|
|
|
|
|
|
* We're not forcing any limits on line length for code, only for comments,
|
|
|
|
they should be 72-76 chars long.
|
|
|
|
|
2018-04-30 22:48:05 +05:00
|
|
|
# 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.
|
2018-05-18 22:50:32 +05:00
|
|
|
* Passwords for files.
|
2018-04-30 22:48:05 +05:00
|
|
|
* Pastes forking and revisioning (like git or github gists).
|
|
|
|
* Possibility to copy-paste-edit WISYWIG content.
|
|
|
|
* CLI client for pastes and files uploading.
|