{ "info": { "author": "Sam et Max", "author_email": "lesametlemax@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Information Technology", "License :: OSI Approved :: zlib/libpng License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4" ], "description": "0bin\n====\n\n0bin is a client side encrypted pastebin that can run without a database.\n\n* Try it: `0bin.net `_\n* `Report a bug `_\n\n0bin allows anybody to host a pastebin while welcoming any type of content to\nbe pasted in it. The idea is that one can (probably...) not be legally entitled\nto `moderate the pastebin content`_ as they have no way to decrypt it.\n\nIt's an Python implementation of the\n`zerobin project`_ under the `WTF licence`_. It's easy to\ninstall even if you know nothing about Python.\n\nFor now tested with IE9, and the last opera, safari, chrome and FF.\n\nThere is a `good doc `_,\nbut in short::\n\n pip install zerobin\n zerobin\n\n0bin runs on Python 2.7 and Python 3.4.\n\nHow it works\n=============\n\nWhen creating the paste:\n\n- the browser generates a random key;\n- the pasted content is encrypted with this key using AES256;\n- the encrypted pasted content is sent to the server;\n- the browser receives the paste URL and adds the key in the URL hash (#).\n\nWhen reading the paste:\n\n- the browser makes the GET request to the paste URL;\n- because the key is in the hash, the key is not part of the request;\n- browser gets the encrypted content end decrypts it using the key;\n- the pasted decrypted content is displayed and sourcecode is highlighted.\n\nKey points:\n\n- because the key is in the hash, the key is never sent to the server;\n- therefore it won't appear in the server logs;\n- all operations, including code coloration, happen on the client-side;\n- the server is no more than a fancy recipient for the encrypted data.\n\nOther features\n======================\n\n- automatic code coloration (no need to specify);\n- pastebin expiration: 1 day, 1 month or never;\n- burn after reading: the paste is destroyed after the first reading;\n- clone paste: you can't edit a paste, but you can duplicate any of them;\n- code upload: if a file is too big, you can upload it instead of using copy/paste;\n- copy paste to clipboard in a click;\n- get paste short URL in a click;\n- own previous pastes history;\n- visual hash of a paste to easily tell it apart from others in a list;\n- optional command-line tool to encrypt and paste data from shell or scripts.\n\nTechnologies used\n==================\n\n- Python_\n- `The Bottle Python Web microframework`_\n- SJCL_ (js crypto tools)\n- jQuery_\n- Bootstrap_, the Twitter HTML5/CSS3 framework\n- VizHash.js_ to create visual hashes from pastes\n- Cherrypy_ (server only)\n- `node.js`_ (for optional command-line tool only)\n\n\nKnown issues\n============\n\n- 0bin uses several HTML5/CSS3 features that are not widely supported. In that case we handle the degradation as gracefully as we can.\n- 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.\n- The pasted content size limit check is not accurate. It's just a safety net, so we think it's ok.\n- 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.\n\nWhat does 0bin not implement?\n=================================\n\n* Request throttling. It would be inefficient to do it at the app level, and web servers have robust implementations for it.\n* Hash collision prevention: the ratio \"probability it happens/consequence seriousness\" `is not worth it`_\n* Comments: it was initially planed. But comes with a lot of issues so we chose to focus on lower hanging fruits.\n\n\n.. _moderate the pastebin content: http://www.zdnet.com/blog/security/pastebin-to-hunt-for-hacker-pastes-anonymous-cries-censorship/11336\n.. _zerobin project: https://github.com/sebsauvage/ZeroBin/\n.. _Python: https://en.wikipedia.org/wiki/Python_(programming_language)\n.. _The Bottle Python Web microframework: http://bottlepy.org/\n.. _SJCL: http://crypto.stanford.edu/sjcl/\n.. _jQuery: http://jquery.com/\n.. _Bootstrap: http://twitter.github.com/bootstrap/\n.. _VizHash.js: https://github.com/sametmax/VizHash.js\n.. _Cherrypy: http://www.cherrypy.org/\n.. _node.js: http://nodejs.org/\n.. _is not worth it: http://stackoverflow.com/questions/201705/how-many-random-elements-before-md5-produces-collisions\n.. _WTF licence: http://en.wikipedia.org/wiki/WTFPL\n\nContributing\n=============\n\nPlease fork the project, clone your repository and add the original repo as an upstream remote to keep yours in sync.\n\nFor small fixes (typo and such), you can work on master.\n\nFor features, you should create a dedicated branch.\n\nIn any case, if you modify Javascript or CSS files, you shall run compress.sh afterward to provide the minified files. It requires your to have yui-compressor installed (apt-get install yui-compressor on the debian family).\n\nWe don't require you to rebase/merge, ordinary merging is alright.\n\nOnce it's ready, just request a PR.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "zerobin", "package_url": "https://pypi.org/project/zerobin/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/zerobin/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/zerobin/0.5/", "requires_dist": null, "requires_python": null, "summary": "An client side encrypted pastebin", "version": "0.5" }, "last_serial": 1541031, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1eefdda5336ce3b23c1ccc60c355e2de", "sha256": "1708b03188668e4bff535436294a6e68e1c0afd291adcd61f08dfb3c41378a64" }, "downloads": -1, "filename": "zerobin-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1eefdda5336ce3b23c1ccc60c355e2de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 215784, "upload_time": "2012-08-07T12:46:29", "url": "https://files.pythonhosted.org/packages/45/b8/4a8dbbe5c25651b8723fad8d59dd5fe840db06eb29cc161e61e92b972acd/zerobin-0.1.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "4821d8c896a23b23cde8522557a80212", "sha256": "ffae45f66a13e103b9091824cc3f7307b1e3e175ab305826b902e8810b983f0d" }, "downloads": -1, "filename": "zerobin-0.1.tar.gz", "has_sig": false, "md5_digest": "4821d8c896a23b23cde8522557a80212", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 212117, "upload_time": "2012-05-19T11:23:21", "url": "https://files.pythonhosted.org/packages/55/74/80ed40836fe5da166f85c7bd4e57e58e5cca56607fcbca3a9f5d8a97432c/zerobin-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "a4c8aa8f15c90b8fc7865c4a33369903", "sha256": "bf2c7bc6c715daa5617453591c73db1d7f4f532619171954a2b25802f827c751" }, "downloads": -1, "filename": "zerobin-0.2.tar.gz", "has_sig": false, "md5_digest": "a4c8aa8f15c90b8fc7865c4a33369903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217678, "upload_time": "2013-03-19T11:03:01", "url": "https://files.pythonhosted.org/packages/23/4f/e754167da469a1845abbb4ffdc8e8b5c240a50feca02aadb2a64015ce037/zerobin-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "1d2bb009acb9b4799477177be7d41130", "sha256": "7b93728702fec443cc264113959f51d3e604ee12664e4bfd8c4a66af32134e47" }, "downloads": -1, "filename": "zerobin-0.3.tar.gz", "has_sig": false, "md5_digest": "1d2bb009acb9b4799477177be7d41130", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 207076, "upload_time": "2013-06-23T14:14:20", "url": "https://files.pythonhosted.org/packages/1f/2e/7e965d645207f7469b55575b5d90963f40026cf7ec3ebb4ad3e70eaed2da/zerobin-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "280356d1616646a2ed3470b10c519dfc", "sha256": "bc1b6c6ae1b7bac868e2d15a51019a1834ea8965f329a35faae088851b2f302e" }, "downloads": -1, "filename": "zerobin-0.4.tar.gz", "has_sig": false, "md5_digest": "280356d1616646a2ed3470b10c519dfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 208240, "upload_time": "2014-06-22T04:01:25", "url": "https://files.pythonhosted.org/packages/e0/93/46b246a566311107039bcfeb2ba055495587a325a24db5b9bdf28d9a8dd5/zerobin-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "7d0e887050690067ec12d2689b385592", "sha256": "2007dbb47e653d898b27df12d88c8c1035a379da4898daabd8b88bf51508aa57" }, "downloads": -1, "filename": "zerobin-0.4.1.tar.gz", "has_sig": false, "md5_digest": "7d0e887050690067ec12d2689b385592", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 212075, "upload_time": "2014-06-22T05:03:41", "url": "https://files.pythonhosted.org/packages/88/e1/09d17b528a05efa8fb8c9fb46aa94ae4bf869fd1bf6da06450c41c043a0d/zerobin-0.4.1.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "dcd54c64f4d33e10b8aa7f6c0edbe2c6", "sha256": "856372387ce32736bc161b9bbe9b701d596257147e2941c77495151fe11afb2b" }, "downloads": -1, "filename": "zerobin-0.5.tar.gz", "has_sig": false, "md5_digest": "dcd54c64f4d33e10b8aa7f6c0edbe2c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 212942, "upload_time": "2015-05-10T17:56:10", "url": "https://files.pythonhosted.org/packages/f6/d8/2c11e2fb4f28915f70787ebc9fa770bbf5f654c33334e309f92e52fa5033/zerobin-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dcd54c64f4d33e10b8aa7f6c0edbe2c6", "sha256": "856372387ce32736bc161b9bbe9b701d596257147e2941c77495151fe11afb2b" }, "downloads": -1, "filename": "zerobin-0.5.tar.gz", "has_sig": false, "md5_digest": "dcd54c64f4d33e10b8aa7f6c0edbe2c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 212942, "upload_time": "2015-05-10T17:56:10", "url": "https://files.pythonhosted.org/packages/f6/d8/2c11e2fb4f28915f70787ebc9fa770bbf5f654c33334e309f92e52fa5033/zerobin-0.5.tar.gz" } ] }