Skip to content
Modern secure pastebin using markdown format
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bin
config
db
lib
log
public
tmp
vendor/assets
.buildpacks
.gitignore
.ruby-version
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
config.ru
package.json
yarn.lock

README.md

README

Secure Markdown Pastebin

Markdown

Pastes should be written in a Markdown format following the CommonMark specification with some additions from GitHub Flavored Markdown.

Parsers

Markdown is rendered on the server or the client, depending on whether encryption has been used or not.

Rendering options:

Extensions:

  • Fenced code blocks
  • Autolink

Syntax highlighting

Paste can contain fenced code blocks with an optional language name:

module HelloWorld
  def print_hello
    puts "Hello, World!"
  end
end

Syntax highlighting is done in the browser with highlight.js

Cryptography

Pastes can be encrypted in the browser with a passphrase before being sent to the server. The passphrase can be chosen by the user or randomly generated, in any case it is never communicated to the server.

Client side cryptography is provided by libsodium.js.

Random data generation

Secret-key authenticated encryption

Key derivation

  • Function: Scrypt
  • Parameters:
    • memlimit: 16 MB
    • opslimit: memlimit / 32

Limits

  • No more than 100 KB per paste
  • No more than n + 1 pastes per IP address in 10^n seconds for n in [0..3]

License

Copyright (c) 2017-2018 Vincent Ollivier. Released under MIT.

You can’t perform that action at this time.