Fast & lightweight content storage web service.
You can think of bytebin a bit like a pastebin, except that it accepts any kind of data (not just plain text!).
Accordingly, the name 'bytebin' is a portmanteau of "byte" (binary) and "pastebin".
bytebin is:
I host a public instance of bytebin for some of my own projects, which you are welcome to use too.
There is also a traditional "pastebin" frontend for sharing code/configs/whatever, see lucko/paste for more information.
The easiest way to spin up a bytebin instance is using Docker. Images are automatically created and published to GitHub for each commit/release.
Assuming you're in the bytebin directory, just run:
$ docker compose up
You should then (hopefully!) be able to access the application at http://localhost:3000/
.
It's that easy!
GET
request to /{key}
(e.g. /aabbcc
).
/post
with the content in the request body.
Content-Type
and User-Agent
headers, but this is not required.Content-Encoding: <type>
header if this is the case.Location
header.{"key": "aabbcc"}
.I host a public instance at https://bytebin.lucko.me
You can use it in your application as long as:
User-Agent
header uniquely identifying your applicationIf you're planning something likely to be super duper popular or use a lot of data (say >5GB per month across all users), then please run it past me first - otherwise, go for it!
If you come across any content which is illegal or infringes on copyright, please get in touch and let me know so I can remove it.
bytebin uses:
and plain ol' Java for everything else.
I haven't had time to do any accurate benchmarks or performance testing, however, the libraries bytebin uses (see above) are known to be pretty efficient.
The public instance handles approx ~250k requests per day and stores ~1M items at any one time. It uses very little CPU resources and memory only up to the desired cache size.
MIT, have fun!