Submit your public instance here!
Website | Expiration | Max paste size | Version | Country |
---|---|---|---|---|
zer0b.in | 7 days | 40,000 chars | v1.0.0 | πΊπΈ USA |
stepbro.voring.me | 365 days | 69,000 chars | v0.7.1 | πΊπΈ USA |
(Sorta) made with Skill Icons
- 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
- π¦ Rust β₯ 1.58.0
- π Yarn β₯ 1.0.0
- π PostgreSQL β₯ 9.6
- π¦ Nginx β₯ 1.18.0
- πΎ Brotli plugin recommended
- π§ Linux or π FreeBSD
- π Domain with SSL
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
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 |
See CONTRIBUTING.md