An client side encrypted pastebin. #Encrypted pastebin #Pastebin client #Encrypted #Pastebin #Client #Python
zerobin is a Python client side encrypted pastebin that can run without a database.
- Try it: 0bin.net - Get the source on github - Report a bug
0bin allows anybody to host a pastebin while welcoming any type of content to be pasted in it. The idea is that one can (probably...) not be legally entitled to moderate the pastebin content as he/she has no way to decrypt it.
It's an Python implementation of the zerobin project. It's easy to install even if you know nothing about Python.
For now tested with IE9, and the last opera, safari, chrome and FF.
When creating the paste:
- the browser generate a random key; - the pasted content is encrypted with this key using AES256; - the encrypted pasted content is sent to the server; - the browser receives the paste URL and add the key in the URL hash (#).
When reading the paste:
- the browser makes the GET request to the paste URL; - because the key is in the hash, the key is not part of the request; - browser gets the encrypted content et decrypt it using the key; - the pasted decrypted content is displayed and code is colored.
Key points:
- because the key is in the hash, the key is never sent to the server; - therefor it won't appear in the server logs; - all operations, including code coloration, must happens on the client; - the server is no more than a fancy recipient for the encrypted data.
- automatic code coloration (no need to specify); - pastebin expiration: 1 day, 1 month or never; - burn after reading: the paste is destroyed after the first reading; - clone paste: you can't edit a paste, but you can duplicate any of them; - code upload: if a file is too big, you can upload it instead of using copy/paste; - copy paste to clipboard in a click; - get paste short URL in a click; own previous pastes history; visual hash of a paste to easily tell it appart from others in a list.
- Python - The Bottle Python Web microframework - SJCL (js crypto tools) - jQuery - Bootstrap, the Twitter HTML5/CSS3 framework - VizHash.js to create visual hashes from pastes - Cherrypy (server only)
- Request throttling. It would be inefficient to do it at the app level, and web servers have robust implementations for it. - Hash collision prevention: the ratio "probability it happens/consequence seriousness" is not worth it - Comments: it was initially planed. But comes with a lot of issues so we chose to focus on lower handing fruits.
System requirements
Limitations in the unregistered version
- 0bin uses several HTML5/CSS3 features that are not widely supported. In that case we handle the degradation as gracefully as we can.
- The "copy to clipboard" feature is buggy under linux. It's flash, so we won't fix it. Better wait for the HTML5 clipboard API to be implemented in major browsers.
- The pasted content size limit check is not accurate. It's just a safety net, so we thinks it's ok.
- Some url shorteners and other services storing URLs break the encryption key. We will sanitize the URL as much as we can, but there is a limit to what we can do.
zerobin 0.2
add to watchlist add to download basket send us an update REPORT- runs on:
- Linux
- filename:
- zerobin-0.2.tar.gz
- main category:
- Internet
- developer:
- visit homepage
4k Video Downloader 1.5.3.0080 Plus / 4.30.0.5655
Microsoft Teams 24060.3102.2733.5911 Home / 1.7.00.7956 Work
Zoom Client 6.0.0.37205
ShareX 16.0.1
paint.net 5.0.13 (5.13.8830.42291)
calibre 7.9.0
7-Zip 23.01 / 24.04 Beta
Bitdefender Antivirus Free 27.0.35.146
IrfanView 4.67
Windows Sandbox Launcher 1.0.0
- Bitdefender Antivirus Free
- IrfanView
- Windows Sandbox Launcher
- 4k Video Downloader
- Microsoft Teams
- Zoom Client
- ShareX
- paint.net
- calibre
- 7-Zip