2018-04-30 18:42:17 +05:00
# Fast Pastebin
2022-08-14 14:49:31 +05:00
[![Build Status ](https://ci.code.pztrn.name/api/badges/apps/fastpastebin/status.svg )](https://ci.code.pztrn.name/apps/fastpastebin)
2020-02-29 23:51:23 +05:00
Easy-to-use-and-install pastebin software written in Go. No bells or whistles, no websockets and even NO JAVASCRIPT!
2018-05-01 14:41:36 +05:00
2022-08-14 14:49:31 +05:00
**Please, use [my gitea ](https://code.pztrn.name/apps/fastpastebin ) for bug reporting. All other places are mirrors!**
2020-02-29 23:51:23 +05:00
## Current functionality
2018-05-01 14:41:36 +05:00
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.
2019-10-13 14:50:11 +05:00
* Multiple storage backends. Currently: ``flatfiles``, ``mysql`` and ``postgresql``.
2018-05-01 14:41:36 +05:00
2020-02-29 23:51:23 +05:00
## Caveats
2018-05-01 14:41:36 +05:00
2020-02-29 23:51:23 +05:00
* No links at lines numbers. See [this Chroma bug ](https://github.com/alecthomas/chroma/issues/132 )
2018-04-30 22:43:14 +05:00
2020-02-29 23:51:23 +05:00
## Installation and updating
2018-04-30 22:43:14 +05:00
Just issue:
2020-02-29 23:51:23 +05:00
```bash
2022-08-14 14:49:31 +05:00
CGO_ENABLED=0 go install go.dev.pztrn.name/fastpastebin/cmd/fastpastebin@latest
2018-04-30 22:43:14 +05:00
```
This command can be used to update Fast Paste Bin.
2020-02-29 23:51:23 +05:00
## Configuration
2018-04-30 22:43:14 +05:00
2020-02-29 23:51:23 +05:00
Take a look at [example configuration file ](examples/fastpastebin.yaml.dist ) which contains all supported options and their descriptions.
2018-04-30 22:43:14 +05:00
2020-02-29 23:51:23 +05:00
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.
2018-04-30 22:48:05 +05:00
2020-02-29 23:51:23 +05:00
## Developing
2018-05-01 15:01:40 +05:00
2022-08-14 14:49:31 +05:00
Use linters, formatters, etc. VSCode with Go plugin is recommended for developing as it will perform most of linting-formatting
actions automagically.
2018-05-01 15:01:40 +05:00
2022-08-14 14:49:31 +05:00
Also, Sublime Text with LSP-gopls will also work just fine.
2018-05-01 15:01:40 +05:00
2022-08-14 14:49:31 +05:00
Try to follow [Go's code review comments ](https://github.com/golang/go/wiki/CodeReviewComments ) with few exceptions:
2018-05-01 15:01:40 +05:00
2020-02-29 23:51:23 +05:00
* We're not forcing any limits on line length for code, only for comments, they should be 72-76 chars long.
2018-05-01 15:01:40 +05:00
2020-02-29 23:51:23 +05:00
## ToDo
2018-04-30 22:48:05 +05:00
2020-02-29 23:51:23 +05:00
This is a ToDo list which isn't sorted by any parameter at all. Just a list of tasks you can help with.
2018-04-30 22:48:05 +05:00
* 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).
2020-02-29 23:51:23 +05:00
* Possibility to copy-paste-edit WYSIWYG content.
* CLI client for pastes and files uploading.