Go to file
ThatOneCalculator 2c37d6a83f docs: 📄 Update code of conduct 2022-03-19 19:28:24 -07:00
.github/ISSUE_TEMPLATE Feature labels 2022-03-14 10:13:01 -07:00
backend feat: 🔖 v0.7.0 release candidate! 2022-03-19 18:48:23 -07:00
frontend refactor: ♻️ Logic change on keybind for new paste 2022-03-19 19:26:35 -07:00
.gitignore fix: 🔧 Yarn cache ignored 2022-03-19 17:17:18 -07:00
.prettierrc.json Symlinks to copies 2022-03-15 10:15:38 -07:00
CODE_OF_CONDUCT.md docs: 📄 Update code of conduct 2022-03-19 19:28:24 -07:00
CONTRIBUTING.md doc: 📝 Yarn 2022-03-19 17:39:56 -07:00
Cartograph.md 🤓 2022-03-14 15:13:37 -07:00
LICENSE 🐦 2022-03-15 00:10:18 -07:00
README.md feat: 🔖 v0.7.0 release candidate! 2022-03-19 18:48:23 -07:00
example.nginx fix: 🚑 Fix NGINX ReGeX 2022-03-19 17:36:33 -07:00

README.md



Just a place to paste

Stargazers Issues License


Public instances

Submit your public instance here!

Website Expiration Max paste size Version Country
zer0b.in (not up yet) 7 days 40,000 chars vx.x.x ?
stepbro.voring.me 365 days 69,000 chars v0.7.0 🇺🇸 US

Technologies used

Frontend:

Backend:

Misc:

(Sorta) made with Skill Icons

API

  • GET /api/p/:id - Get a paste by ID
  • POST /api/p/n - Post a new paste
  • GET /api/s - Get stats about the instance

Self-host instructions

Requirements

Steps

Please run each command one at a time!

# export EDITOR=nano
git clone https://github.com/zer0bin-dev/zer0bin && cd zer0bin
$EDITOR example.nginx # Edit as appropriate
mv example.nginx yourdomain.tld
sudo cp ./yourdomain.tld /etc/nginx/sites-available
sudo cp ./yourdomain.tld /etc/nginx/sites-enabled
systemctl nginx restart # Or whichever process manager you use
cd frontend
cp config.example.json config.json
$EDITOR config.json # Edit as appropriate
yarn && yarn build
cd ../backend
psql -f schema.sql -U postgres zer0bin
cp config.example.json config.json
$EDITOR config.json # Edit as appropriate
cargo build --release
./target/release/zer0bin-bin # Preferably in a tmux session or as a service

Configuration

Key Values Description
server.backend_host 127.0.0.1 or 0.0.0.0 The host to run the backend on
server.backend_port Any open port The port to run the backend on
pastes.character_limit Number up to 2^64 - 1 The amount of characters allowed in a single paste
pastes.days_til_expiration Number up to 2^63 or -1 The days till a paste is to expire. If set to -1 then pastes will never expire
pastes.id_length Number up to 2^64 - 1 The length of the ID for each paste
databases.postgres_uri PostreSQL Connection URI The URI to use when connecting to a PostgreSQL database
ratelimits.seconds_in_between_pastes Number up to 2^64 - 1 The seconds between paste uploads
ratelimits.allowed_pastes_before_ratelimit Number up to 2^32 - 1 Amount of requests that can be made before they are blocked and have to wait
logging.on_post_paste true or false Log on new paste is made
logging.on_get_paste true or false Log on paste get

Benchmarks

Measured with Lighthouse and Firefox Network Performance Analysis

Results

Homepage

image image image

20 line paste

image image image

Contributing

See CONTRIBUTING.md