go-pb

module
v0.0.5-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2021 License: MIT

README

Go PB, pastebin alternative

Go PB - Pastebin alternative, written in Go

License MIT PRs Welcome Contributor Covenant GitHub release (latest SemVer including pre-releases) codecov GitHub Workflow Status (branch)

Go PB is paste service similar to Pastebin that you can host yourself. All it does is it allows you to share snippets of text with others. You paste your text, press the "Paste" button and get a short URL that you can share with anybody. This is the gist. But there is more!

Warning: this project is very much a work in progress. A lot of changes are made regularly, including breaking changes. This is not a usable product yet!

Features

  • ✔ Share text snippets.
  • ✔ Syntax highlighting for over 250 languages.
  • ✔ Burner pastes - paste will be deleted after the first read.
  • ⏳ Set expiration time on a paste.
  • ⏳ Password protection.
  • ✔ Paste anonymously, no need to login.
  • ✔ Register and you will be able to see the list of pastes you created.
  • ⏳ Create private pastes. Once logged in, you can create pastes that no one can see.
  • ⏳ Public API to create pastes from command line and 3rd party applications.
  • ⏳ Admin interface to manage users, pastes and other settings.

✔ - already implemented, ⏳ - work in progress


You can see the progress in our Roadmap. If you'd like to contribute, please have a look at the contribution guide.

As always, if you want to learn together, ask a question, offer help or get in touch for any other reason, please don't hesitate to participate in Discussions or to contact me directly at frenkel.ilia@gmail.com.

Directories

Path Synopsis
src
api
Package api is an entry point to go-pb API.
Package api is an entry point to go-pb API.
api/auth/memory
Package memory provides an implementation of api.UserService that uses memory as a storage.
Package memory provides an implementation of api.UserService that uses memory as a storage.
api/auth/sqldb
Package sqlite provides an implementation of api.UserService that uses sqlite database as a storage.
Package sqlite provides an implementation of api.UserService that uses sqlite database as a storage.
api/base62
Package base62 provides simple implementation of Base62 encoding/ecoding.
Package base62 provides simple implementation of Base62 encoding/ecoding.
api/http
Package http provides an ApiServer type - a server that uses api.PasteService and api.UserService to provide many useful endpoints.
Package http provides an ApiServer type - a server that uses api.PasteService and api.UserService to provide many useful endpoints.
api/paste/memory
Package memory provides methods to work with pastes using memory as a storage.
Package memory provides methods to work with pastes using memory as a storage.
api/paste/sqldb
Package sqlite provides implementation of api.PasteService that uses sqlite database as a storage.
Package sqlite provides implementation of api.PasteService that uses sqlite database as a storage.
web/http
Package http provides a WebServer that serves a front-end for the go-pb application.
Package http provides a WebServer that serves a front-end for the go-pb application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL