a paste bin.
A paste bin that's actually minimalist. No database requirement, no commenting functionality, no self-destructing or time bomb messages and no social media integration—just an application to quickly send snippets of text to people.
bin is written in Rust in around 300 lines of code. It's fast, it's simple, there's code highlighting and you can ⌘+A without going to the 'plain' page. It's revolutionary in the paste bin industry, disrupting markets and pushing boundaries never seen before.
Download the latest version from the releases page, extract it and run the ./bin
executable. You can also compile it from source using Cargo if you swing that way:
# nix-shell provides an environment with rust/cargo installed
$ nix-shell
[nix-shell:~/Code/bin]$ cargo build --release
Compiling bin v1.0.0 (/Users/jordanjd/Code/bin)
Finished release [optimized] target(s) in 3.61s
[nix-shell:~/Code/bin]$ ./target/release/bin
...
$ ./bin
$ ./bin
Usage: bin [<bind_addr>] [--buffer-size <buffer-size>] [--max-paste-size <max-paste-size>]
a pastebin.
Positional Arguments:
bind_addr socket address to bind to (default: 127.0.0.1:8820)
Options:
--buffer-size maximum amount of pastes to store before rotating (default:
1000)
--max-paste-size maximum paste size in bytes (default. 32kB)
--help display usage information
$ curl -X PUT --data 'hello world' https://bin.gy
https://bin.gy/cateettary
$ curl https://bin.gy/cateettary
hello world
To get syntax highlighting you need to add the file extension at the end of your paste URL.
- Allow option to specify key name in POST request.
- Serialize LinkedHashMap to a file and read from that file when application is started
- navigation: easily goto Pastes path and from Pastes goto New Paste
- in pastes path. User should be able to delete a paste