Skip to content

pybash1/bin

 
 

Repository files navigation

bin

this is a extensively modified version of the original bin server for use as a simple api for board. changes include, authentication, removal of all gui elements, and encryption of stored pastes(server never sees plaintext).

can i self host it?

yes, this version can also be self hosted(it is just a simple binary). however, the client applications do not yet support custom endpoints(i'm working on it).

other details

i've tried to utilise as much of the original code as possible, so credits to the original author jordan jd for making such a clean and simple pastebin server. i've tried to keep the LoC additions to a minimum(~321 lines) even while inserting new logic as required.

originally by Jordan JD

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.

so how do you get bin?

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
    ...
how do you run it?
$ ./bin
funny, what settings are there?
$ ./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
is there curl support?
$ curl -X PUT --data 'hello world' https://bin.gy
https://bin.gy/cateettary
$ curl https://bin.gy/cateettary
hello world
how does syntax highlighting work?

To get syntax highlighting you need to add the file extension at the end of your paste URL.

About

🗑️ a paste bin.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 70.7%
  • Nix 15.6%
  • Shell 9.7%
  • PowerShell 2.3%
  • Dockerfile 1.7%