commit
1d97a5f06b
28
README.md
28
README.md
|
@ -57,3 +57,31 @@ Deployment
|
||||||
Just run `npm run build` and then mount the `vector` directory on your webserver to
|
Just run `npm run build` and then mount the `vector` directory on your webserver to
|
||||||
actually serve up the app, which is entirely static content.
|
actually serve up the app, which is entirely static content.
|
||||||
|
|
||||||
|
Enabling encryption
|
||||||
|
===================
|
||||||
|
|
||||||
|
End-to-end encryption in Vector and Matrix is not yet considered ready for
|
||||||
|
day-to-day use; it is experimental and should be considered only as a
|
||||||
|
proof-of-concept. See https://matrix.org/jira/browse/SPEC-162 for an overview
|
||||||
|
of the current progress.
|
||||||
|
|
||||||
|
To build a version of vector with support for end-to-end encryption, install
|
||||||
|
the olm module with `npm i https://matrix.org/packages/npm/olm/olm-0.1.0.tgz`
|
||||||
|
before running `npm start`. The olm library will be detected and used if
|
||||||
|
available.
|
||||||
|
|
||||||
|
To enable encryption for a room, type
|
||||||
|
|
||||||
|
```
|
||||||
|
/encrypt on
|
||||||
|
```
|
||||||
|
|
||||||
|
in the message bar in that room. Vector will then generate a set of keys, and
|
||||||
|
encrypt all outgoing messages in that room. (Note that other people in that
|
||||||
|
room will send messages in the clear unless they also `/encrypt on`.)
|
||||||
|
|
||||||
|
Note that historical encrypted messages cannot currently be decoded - history
|
||||||
|
is therefore lost when the page is reloaded.
|
||||||
|
|
||||||
|
There is currently no visual indication of whether encryption is enabled for a
|
||||||
|
room, or whether a particular message was encrypted.
|
||||||
|
|
|
@ -2,6 +2,8 @@ var path = require('path');
|
||||||
var webpack = require('webpack');
|
var webpack = require('webpack');
|
||||||
var ExtractTextPlugin = require("extract-text-webpack-plugin");
|
var ExtractTextPlugin = require("extract-text-webpack-plugin");
|
||||||
|
|
||||||
|
var olm_path = path.resolve('./node_modules/olm');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
module: {
|
module: {
|
||||||
preLoaders: [
|
preLoaders: [
|
||||||
|
@ -32,18 +34,40 @@ module.exports = {
|
||||||
// alias any requires to the react module to the one in our path, otherwise
|
// alias any requires to the react module to the one in our path, otherwise
|
||||||
// we tend to get the react source included twice when using npm link.
|
// we tend to get the react source included twice when using npm link.
|
||||||
react: path.resolve('./node_modules/react'),
|
react: path.resolve('./node_modules/react'),
|
||||||
|
|
||||||
|
// matrix-js-sdk will use olm if it is available,
|
||||||
|
// but does not explicitly depend on it. Pull it
|
||||||
|
// in from node_modules if it's there.
|
||||||
|
olm: olm_path,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new webpack.IgnorePlugin(/^olm/),
|
|
||||||
new webpack.DefinePlugin({
|
new webpack.DefinePlugin({
|
||||||
'process.env': {
|
'process.env': {
|
||||||
NODE_ENV: JSON.stringify(process.env.NODE_ENV)
|
NODE_ENV: JSON.stringify(process.env.NODE_ENV)
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
new ExtractTextPlugin("bundle.css", {
|
new ExtractTextPlugin("bundle.css", {
|
||||||
allChunks: true
|
allChunks: true
|
||||||
})
|
}),
|
||||||
|
|
||||||
|
// olm.js includes "require 'fs'", which is never
|
||||||
|
// executed in the browser. Ignore it.
|
||||||
|
new webpack.IgnorePlugin(/^fs$/, /node_modules\/olm$/)
|
||||||
],
|
],
|
||||||
devtool: 'source-map'
|
devtool: 'source-map'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// ignore olm.js if it's not installed.
|
||||||
|
(function() {
|
||||||
|
var fs = require('fs');
|
||||||
|
try {
|
||||||
|
fs.lstatSync(olm_path);
|
||||||
|
console.log("Olm is installed; including it in webpack bundle");
|
||||||
|
} catch (e) {
|
||||||
|
module.exports.plugins.push(
|
||||||
|
new webpack.IgnorePlugin(/^olm$/)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}) ();
|
||||||
|
|
Loading…
Reference in New Issue