Credits

If paste was a movie, these would be at the end.

People

Anna Clemens

@ascclemens

Lead developer and Rust aficionado who hates frontend.

Adam Williams

@lol768

The best infosec consultant, tester, and cheerleader money can't buy.

Riley Park

@kashike

Feature requester/demander, tester, bug noticer, idea testing ground.

Jos Ahrens

@Zarthus

Breaker and tester of many things, purveyor of dissenting opinions.

Austin Peterson

@AKPWebDesign

Resident JavaScript-fu practitioner with a penchant for design.

Frontend

Bulma

An awesome CSS framework that is the foundation for all of paste's CSS.

bulma-tooltip

An extension to Bulma that adds CSS-only tooltips.

Bulmaswatch

Themes for Bulma. We use a slightly modified version of "darkly" for our dark theme.

CodeSass

Our very own fork of CodeFlask, designed to work smarter and better.

highlight.js

The syntax highlighter responsible for all highlighting on paste.

highlightjs-line-numbers.js

An add-on for highlight.js that adds line numbers. We use a slightly modified version.

Material Design Icons

Handy icons that we use a small subset of.

Twemoji

Twitter's set of emoji that's free for everyone. We use the clipboard one as our favicon!

zxcvbn

A password strength library that's lightweight and powerful.

Backend

ammonia

Sanitises all the nasty HTML provided by our users (in the form of Markdown).

anyhow

Easy error handling in Rust.

chrono

It does... time. Time stuff. Famously known for not being Crono.

comrak

Parses and processes CommonMark + GFM in order to render your Markdown files.

csv

CSV parsing library.

data-encoding

Various data encodings in Rust.

diesel

The world's best ORM. It handles all the database work around here.

dotenv

Loads .env files and makes them environment variables. Useful!

fluent

A localisation system for natural-sounding translations.

git2

Rust bindings to libgit2 that we use for all Git operations.

hashbrown

A SwissTable implementation in Rust. Faster HashMaps!

hmac

Generic implementation of Hash-based Message Authentication Code (HMAC).

html5ever

Parses HTML5 according to spec. Doesn't use regex to do it.

if_chain

Chains ifs together, for when you really need to just chain together some ifs.

image

An image processing library.

ipnetwork

Looks at IPv6 and IPv4 CIDRs. This is what determines whether you get rate limited.

lazy_static

Lazily-evaluated statics in Rust.

lettre

Sends, creates, examines, modifies, and does anything else you could possibly want to do with emails.

libflate

Rust implementation of DEFLATE and friends.

libwebp-sys

Static bindings to libwebp.

md-5

An implementation of the MD5 cryptographic hash algorithm.

mime

Support MIME (Media Types) as strong types in Rust.

multipart

A multipart file upload library.

native-tls

Handles native TLS through one abstract API.

one-time

Digest-agnostic HOTP and TOTP implementations according to their RFC specifications.

parking_lot

Better synchronisation primitives.

qrcode

Creates QR codes via an easy API. Used for TFA!

r2d2

Not the droid you're looking for. It's actually a connection pool!

r2d2_redis

Makes redis-rs work with r2d2.

rand

A Rust library for random number generation.

regex

Regular expressions matching for paste filters.

reqwest

An easy and powerful Rust HTTP Client.

rocket

A web framework for Rust. It powers every single request made to paste.

serde

A framework for serialising and deserialising data structures in Rust.

serde_json

Serde support for serialising and deserialising JSON.

serde_regex

Compatibility layer between regex and serde.

sha-1

An implementation of the SHA-1 cryptographic hash algorithm.

sha2

SHA-2 hash functions for Rust.

sidekiq

Talks to sidekiq in Rust.

sodiumoxide

Rust bindings to libsodium, which is used for passwords and whatnot.

tera

The templating engine that rendered this very page (and all the others).

toml

Parses TOML files. Gotta load the configuration somehow!

unic-langid

Unicode language identifiers used for localisation.

unicase

Compares unicode strings without factoring in casing.

unicode-segmentation

Looks at strings in terms of graphemes and words as defined by the Unicode Standard.

unicode_categories

Classifies characters into categories according to the Unicode Standard.

url

Parses and processes URLs.

uuid

Parses and generates UUIDs, which are definitely not used anywhere in paste. Nope.

xz2

Rust bindings to liblzma.