Uberfast pastebin in Go
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Stanislav Nikitin df5671586e
Update images used for building containers and code test/lint, fill CHANGELOG.
4 months ago
assets Move from fileb0x to embed.FS. Fixes #22. 1 year ago
cmd/fastpastebin The Great Linting Fixes, Drone configuration fix (again) and flatfile changes. 1 year ago
docker CI configuration. 3 years ago
domains Update chroma to 2.2.0, line number links appeared. 4 months ago
examples Added maximum request body size limiting. 3 years ago
internal Make linter happy and update dependencies. 5 months ago
systemd Private pastes, systemd unit file, design updates. 5 years ago
.drone.yml Update images used for building containers and code test/lint, fill CHANGELOG. 4 months ago
.gitignore Update golang versions everywhere, use alpine 3.13 for image, remove vendor dir. 1 year ago
.gitlab-ci.yml Fix registry logging in by CI when uploading Docker image. 1 year ago
.golangci.yml Make linter happy and update dependencies. 5 months ago
.markdownlint.json Update images used for building containers and code test/lint, fill CHANGELOG. 4 months ago
CHANGELOG.md Update images used for building containers and code test/lint, fill CHANGELOG. 4 months ago
Dockerfile Update images used for building containers and code test/lint, fill CHANGELOG. 4 months ago
LICENSE License header everywhere. We're on MIT. 5 years ago
README.md Update chroma to 2.2.0, line number links appeared. 4 months ago
builder.sh Move to Go modules (#10) 3 years ago
docker-compose.yml Update golang versions everywhere, use alpine 3.13 for image, remove vendor dir. 1 year ago
go.mod Update chroma to 2.2.0, line number links appeared. 4 months ago
go.sum Update chroma to 2.2.0, line number links appeared. 4 months ago

README.md

Fast Pastebin

Build Status

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

Please, use my gitea for bug reporting. All other places are mirrors!

Current functionality

  • Create and view public and private pastes.
  • Syntax highlighting.
  • Pastes expiration.
  • Passwords for pastes.
  • Multiple storage backends. Currently: flatfiles, mysql and postgresql.

Caveats

  • Not known at this moment.

Installation and updating

Just issue:

CGO_ENABLED=0 go install go.dev.pztrn.name/fastpastebin/cmd/fastpastebin@latest

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

Use linters, formatters, etc. VSCode with Go plugin is recommended for developing as it will perform most of linting-formatting actions automagically.

Also, Sublime Text with LSP-gopls will also work just fine.

Try to follow Go's code review comments with few exceptions:

  • We're not forcing any limits on line length for code, only for comments, they should be 72-76 chars long.

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 WYSIWYG content.
  • CLI client for pastes and files uploading.