$ ls -lh ./projects/

Projects

Open source tools and applications I've built. All code is available on GitHub.

GhostBin

March 2024 — March 2024

A lightweight, high-performance pastebin built with Go and Redis. Features a command-line interface for seamless text snippet sharing without a browser, with Redis-backed persistence for reliable storage and retrieval. Includes burn-after-reading, time-based expiry, custom URL lengths, and secret-based deletion.

$ cat ./usage.txt

Basic usage:

$ curl -F "f=@filename.ext" gbin.me

Pipe output of a command:

$ cat file | curl -F "f=@-" gbin.me
$ find /var/log/nginx -name "*.log" | curl -F "f=@-" gbin.me

Expire after 69 seconds:

$ curl -F "f=@filename.ext" -F "expire=69" gbin.me

Expire after 3 reads:

$ curl -F "f=@filename.ext" -F "read=3" gbin.me

Custom URL length (8-255):

$ curl -F "f=@filename.ext" -F "deepurl=12" gbin.me

Set secret for deletion:

$ curl -F "f=@filename.ext" -F "secret=password" gbin.me

Delete with secret:

$ curl -XDELETE -F "secret=password" gbin.me/pasteid

example

Create a URL of length 12 that expires after 69 seconds and can be viewed only once:

$ curl -F "f=@filename.ext" -F "deepurl=12" -F "expire=69" -F "read=1" gbin.me

$ cat ./more_projects.txt

More projects and experiments are available on my GitHub profile. Feel free to explore, star, fork, or contribute!

View GitHub Profile →
Join Discord 1,582 members