{"id":19811257,"url":"https://github.com/cosmictoast/brpaste","last_synced_at":"2025-05-01T08:32:47.316Z","repository":{"id":64307179,"uuid":"172641586","full_name":"CosmicToast/brpaste","owner":"CosmicToast","description":"A pastebin so fast, it burns rubber.","archived":false,"fork":false,"pushed_at":"2023-11-30T23:08:28.000Z","size":70,"stargazers_count":15,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-06T21:27:28.878Z","etag":null,"topics":["go","pastebin","redis"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CosmicToast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-26T05:05:45.000Z","updated_at":"2023-11-30T23:04:16.000Z","dependencies_parsed_at":"2024-06-20T02:58:39.667Z","dependency_job_id":"b86cde76-c046-47c4-bd5d-d523f682f6dc","html_url":"https://github.com/CosmicToast/brpaste","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicToast%2Fbrpaste","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicToast%2Fbrpaste/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicToast%2Fbrpaste/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CosmicToast%2Fbrpaste/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CosmicToast","download_url":"https://codeload.github.com/CosmicToast/brpaste/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224248339,"owners_count":17280140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","pastebin","redis"],"created_at":"2024-11-12T09:25:33.135Z","updated_at":"2024-11-12T09:25:33.647Z","avatar_url":"https://github.com/CosmicToast.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Burning Rubber Paste\n====================\n\n[![Build Status](https://cloud.drone.io/api/badges/5paceToast/brpaste/status.svg)](https://cloud.drone.io/5paceToast/brpaste)\n[![Go Report Card](https://goreportcard.com/badge/toast.cafe/x/brpaste)](https://goreportcard.com/report/toast.cafe/x/brpaste)\n\n`brpaste` is a small and fast pastebin service.\nIt provides a lightweight REST-like interface and client-side syntax highlighting (if desired).\nIt's small and fast because it relies on redis to perform the actual storage.\n\n### Project Status\nBrpaste has been in pure maintenance mode for a while.\nDo not mistake the recent (at the time of writing) commits as it being revived: I added boltdb mode to make it easier to migrate (again).\nI'm planning to write a new (smaller) thing eventually, but for now I'm still hosting this, and am making it simpler to host.\n\n### Quickstart\n#### Go edition\n`go get -u toast.cafe/x/brpaste`\n#### Github edition\nDownload the correct binary from the releases page.\n#### CI (nightly master) edition\nDownload your build from https://minio.toast.cafe/cicd/brpaste/brpaste-$OS-$ARCH where `$OS` is something like \"openbsd\" and `$ARCH` is something like \"amd64\".\nNote that the github edition binaries are just these from immediately after a release.\n\n### Platform Support\nLinux AMD64 is the primary platform.\nEverything else is \"best effort\".\nFor a full list of supported platforms, see the releases page (all the binaries on there).\n\n### Speed\nIt's just fast.\nI could put a bunch of benchmarks here but people didn't really seem to care in the previous version anyway.\nJust trust me.\nIt's fast.\n\n### Configuration\nThere is no configuration within `brpaste`, besides the basics (what address/port to listen on, how to connect to redis).\nThis is because the actual job being done is relatively minimal.\nHowever, because redis is used, your instance can be greatly configured.\nFor instance, you could make all your pastes expire in 10 minutes.\nOr you could make them never expire.\nThe hosted instance over at https://brpaste.xyz limits memory usage to 250mb, and expires the least frequently used keys first.\nThis is the recommended configuration.\n\n### Deployment Difficulty\n`brpaste` is distributed as a single binary file.\nAll other files (such as html) are baked into the binary.\n\n### Stable IDs\n`brpaste` IDs are not the shortest.\nWhat they are, however, is stable.\nWhat does that mean?\nWhen you upload something to `brpaste`, the ID is generated through Murmurhash3 32 bit, and converted into a string of letters and symbols using base64.\nMurmurhash3 is suitable for lookups, so collision are sufficiently unlikely within the lifetime of your paste.\nHowever, if you upload the same paste twice, the ID will stay the same.\nThe memory usage will not increase.\nThis unlocks a few interesting use-cases (e.g not needing to keep around an open tab of a paste - just paste it again, you'll get the original link back).\nThe bitsize of the ID is 32 bits, which translates to roughly 6 base64 \"digits\".\nThis may not be the shortest, but it is short enough to memorize in one go (see: magic 7 of human working memory; approximated to more likely 6 if letters are involved).\nAs such, the disadvantage is rather minimal, while the advantage is a nice-to-have, consistent, and cheap (murmurhash3 is fast, and there's no need to do things like keep a counter around).\n\n### Other Utilities\nFor server-side helpers and utilities (such as openrc scripts, systemd unit files, and anything else of the sort), see the `server/` directory.\nFor client-side helpers and utilities (such as a `sprunge(1)`-like script, an `anypaste` plugin, and anything else of the sort), see the `client/` directory.\nFor documentation, see the `doc/` directory, but do note that you will need a compliant asciidoc parser to compile it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmictoast%2Fbrpaste","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosmictoast%2Fbrpaste","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmictoast%2Fbrpaste/lists"}