Merge branch 'readme' of git://github.com/pbondoer/cryptpad into staging

pull/1/head
Caleb James DeLisle 8 years ago
commit cd3f29c502

@ -1,114 +1,28 @@
[![XWiki labs logo](https://raw.githubusercontent.com/xwiki-labs/xwiki-labs-logo/master/projects/xwikilabs/xlabs-project.png "XWiki labs")](https://labs.xwiki.com/xwiki/bin/view/Main/WebHome) [![An XWiki Labs Project](https://raw.githubusercontent.com/xwiki-labs/xwiki-labs-logo/master/projects/xwikilabs/xlabs-project.png "XWiki labs")](https://labs.xwiki.com/xwiki/bin/view/Main/WebHome)
<p align="center"> <p align="center">
<img src="https://github.com/cjdelisle/cryptpad/raw/master/cryptofist.png" width="60%"> ![CryptPad screenshot](https://github.com/xwiki-labs/cryptpad/raw/master/screenshot.png "Pads are an easy way to collaborate")
</p> </p>
Unity is Strength - Collaboration is Key CryptPad is the **Zero Knowledge** realtime collaborative editor.
![and_so_it_begins.png](https://github.com/cjdelisle/cryptpad/raw/master/and_so_it_begins.png "We are the 99%")
CryptPad is the **zero knowledge** realtime collaborative editor.
Encryption carried out in your web browser protects the data from the server, the cloud Encryption carried out in your web browser protects the data from the server, the cloud
and the NSA. This project uses the [CKEditor] Visual Editor and the [ChainPad] realtime and the NSA. It relies on the [ChainPad] realtime engine.
engine. The secret key is stored in the URL [fragment identifier] which is never sent to
the server but is available to javascript so by sharing the URL, you give authorization
to others who want to participate.
<!--If you'd like to know more, please read [the Whitepaper]().-->
# Installation # Installation
Cryptpad depends on the Nodejs runtime. Installing CryptPad is pretty straightforward. You can read all about it in the
We recommend installing it via [NVM](https://github.com/creationix/nvm "Node Version Manager") to ensure that you are running an up to date version. [installation guide](https://github.com/xwiki-labs/cryptpad/wiki/Installation-guide).
Once you have a recent runtime (we use v6.6.0):
```
git clone <this repo>
cd cryptpad
npm install
npm install -g bower ## if necessary
bower install
## copy config.example.js to config.js
cp config.example.js config.js
node ./server.js
```
## Configuration
CryptPad _should_ work with an unmodified configuration file, though there are many things which you may want to customize.
Attributes in the config should have comments indicating how they are used.
```
$EDITOR config.js
```
If you are deploying CryptPad in a production environment, we recommend that you take the time to understand and correctly customize your server's [Content Security Policy headers](https://content-security-policy.com/).
Modern browsers use these headers to allow or deny actions from malicious clients which could compromise the confidentiality of your user's data.
These settings can be found in your configuration file in the `contentSecurity` and `padContentSecurity` sections.
## Maintenance
Before upgrading your CryptPad instance to the latest version, we recommend that you check what has changed since your last update.
You can do so by checking which version you have (see package.json), and comparing it against newer [release notes](https://github.com/xwiki-labs/cryptpad/releases).
To get access to the most recent codebase:
```
cd /your/cryptpad/instance/location;
git pull
```
To update dependencies:
```
# clientside dependencies
bower update;
# serverside dependencies It also contains information on keeping your instance of CryptPad up to date.
npm update;
```
## Deleting all data and resetting Cryptpad
## Setup using Docker
To reset your instance of Cryptpad and remove all the data that is being stored: See [Cryptpad-Docker](docs/cryptpad-docker.md)
**WARNING: This will reset your Cryptpad instance and remove all data**
```
# change into your cryptpad directory
cd /your/cryptpad/instance/location;
# delete the datastore
rm -rf ./datastore
```
If you are using the mongodb adaptor, [drop the relevant collection](https://docs.mongodb.org/manual/reference/method/db.collection.drop/#db.collection.drop).
If you are using the [leveldb adaptor](https://github.com/xwiki-labs/cryptpad-level-store), delete the datastore directory you have configured.
## Testing
To test CryptPad, go to http://your.server:3000/assert/
You can use WebDriver to run this test automatically by running TestSelenium.js but you will need chromedriver installed.
If you use Mac, you can `brew install chromedriver`.
## Developing CryptPad
CryptPad is built with a lot of small javascript libraries.
To make js files load faster, we apply an aggressive caching policy.
If you want to add new features to CryptPad, you'll want to turn off caching.
You can do so by launching your server in _dev mode_, like so:
`DEV=1 node server.js`
## Security # Security
CryptPad is *private*, not *anonymous*. Privacy protects your data, anonymity protects you. CryptPad is *private*, not *anonymous*. Privacy protects your data, anonymity protects you.
As such, it is possible for a collaborator on the pad to include some silly/ugly/nasty things As such, it is possible for a collaborator on the pad to include some silly/ugly/nasty things
@ -127,11 +41,7 @@ the battery out of your computer before it spawns Agent Smith.
Still there are other low-lives in the world so using CryptPad over HTTPS is probably a good idea. Still there are other low-lives in the world so using CryptPad over HTTPS is probably a good idea.
## Setup using Docker # Translations
See [Cryptpad-Docker](docs/cryptpad-docker.md)
## Translations
We'd like to make it easy for more people to use encryption in their routine activities. We'd like to make it easy for more people to use encryption in their routine activities.
As such, we've tried to make language-specific parts of CryptPad translatable. If you're As such, we've tried to make language-specific parts of CryptPad translatable. If you're
@ -139,14 +49,14 @@ able to translate CryptPad's interface, and would like to help, please contact u
You can also see [our translation guide](/customize.dist/translations/README.md). You can also see [our translation guide](/customize.dist/translations/README.md).
## Contacting Us # Contacting Us
You can reach members of the CryptPad development team on [twitter](https://twitter.com/cryptpad), You can reach members of the CryptPad development team on [Twitter](https://twitter.com/cryptpad),
via our [github issue tracker](https://github.com/xwiki-labs/cryptpad/issues/), on the via our [GitHub issue tracker](https://github.com/xwiki-labs/cryptpad/issues/), on our
[freenode](http://webchat.freenode.net/?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7) [Matrix channel](https://riot.im/app/#/room/#cryptpad:matrix.org), or by
irc network, or by [email](mailto:research@xwiki.com). [e-mail](mailto:research@xwiki.com).
## Contributing # Contributing
We love Open Source and we love contribution. It is our intent to keep this project available We love Open Source and we love contribution. It is our intent to keep this project available
under the AGPL license forever but in order to finance more development on this and other FOSS under the AGPL license forever but in order to finance more development on this and other FOSS
@ -156,7 +66,9 @@ please read and
If you have any questions or comments, or if you're interested in contributing to Cryptpad, come say hi on IRC, `#cryptpad` on Freenode. If you have any questions or comments, or if you're interested in contributing to Cryptpad, come say hi on IRC, `#cryptpad` on Freenode.
### License # License
![AGPL logo](https://www.gnu.org/graphics/agplv3-155x51.png "GNU Affero General Public License")
This software is and will always be available under the GNU Affero General Public License as This software is and will always be available under the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the License, or (at your option) published by the Free Software Foundation, either version 3 of the License, or (at your option)
@ -164,7 +76,4 @@ any later version. If you wish to use this technology in a proprietary product,
sales@xwiki.com sales@xwiki.com
[ChainPad]: https://github.com/xwiki-contrib/chainpad [ChainPad]: https://github.com/xwiki-contrib/chainpad
[CKEditor]: http://ckeditor.com/
[fragment identifier]: https://en.wikipedia.org/wiki/Fragment_identifier
[active attack]: https://en.wikipedia.org/wiki/Attack_(computing)#Types_of_attacks [active attack]: https://en.wikipedia.org/wiki/Attack_(computing)#Types_of_attacks
[Creative Commons Attribution 2.5 License]: http://creativecommons.org/licenses/by/2.5/

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

Loading…
Cancel
Save