Merge branch 'develop' of github.com:matrix-org/synapse
This commit is contained in:
commit
d76e548ec1
55
README.rst
55
README.rst
|
@ -5,7 +5,7 @@ Matrix is an ambitious new ecosystem for open federated Instant Messaging and
|
||||||
VoIP. The basics you need to know to get up and running are:
|
VoIP. The basics you need to know to get up and running are:
|
||||||
|
|
||||||
- Chatrooms are distributed and do not exist on any single server. Rooms
|
- Chatrooms are distributed and do not exist on any single server. Rooms
|
||||||
can be found using names like ``#matrix:matrix.org`` or
|
can be found using aliases like ``#matrix:matrix.org`` or
|
||||||
``#test:localhost:8008`` or they can be ephemeral.
|
``#test:localhost:8008`` or they can be ephemeral.
|
||||||
|
|
||||||
- Matrix user IDs look like ``@matthew:matrix.org`` (although in the future
|
- Matrix user IDs look like ``@matthew:matrix.org`` (although in the future
|
||||||
|
@ -15,27 +15,48 @@ VoIP. The basics you need to know to get up and running are:
|
||||||
The overall architecture is::
|
The overall architecture is::
|
||||||
|
|
||||||
client <----> homeserver <=====================> homeserver <----> client
|
client <----> homeserver <=====================> homeserver <----> client
|
||||||
https://matrix.org/_matrix https://mydomain.net/_matrix
|
https://somewhere.org/_matrix https://elsewhere.net/_matrix
|
||||||
|
|
||||||
|
WARNING
|
||||||
|
=======
|
||||||
|
|
||||||
|
**Synapse is currently in a state of rapid development, and not all features are yet functional.
|
||||||
|
Critically, some security features are still in development, which means Synapse can *not*
|
||||||
|
be considered secure or reliable at this point.** For instance:
|
||||||
|
|
||||||
|
- **SSL Certificates used by server-server federation are not yet validated.**
|
||||||
|
- **Room permissions are not yet enforced on traffic received via federation.**
|
||||||
|
- **Homeservers do not yet cryptographically sign their events to avoid tampering**
|
||||||
|
- Default configuration provides open signup to the service from the internet
|
||||||
|
|
||||||
|
Despite this, we believe Synapse is more than useful as a way for experimenting and
|
||||||
|
exploring Synapse, and the missing features will land shortly. **Until then, please do *NOT*
|
||||||
|
use Synapse for any remotely important or secure communication.**
|
||||||
|
|
||||||
|
|
||||||
Quick Start
|
Quick Start
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
System requirements:
|
||||||
|
- POSIX-compliant system (tested on Linux & OSX)
|
||||||
|
- Python 2.7
|
||||||
|
|
||||||
To get up and running:
|
To get up and running:
|
||||||
|
|
||||||
- To simply play with an **existing** homeserver you can
|
- To simply play with an **existing** homeserver you can
|
||||||
just go straight to http://matrix.org/alpha.
|
just go straight to http://matrix.org/alpha.
|
||||||
|
|
||||||
- To run your own **private** homeserver on localhost:8008, install synapse
|
- To run your own **private** homeserver on localhost:8008, install synapse with
|
||||||
with ``python setup.py develop --user`` and then run one with
|
``python setup.py develop --user`` and then run ``./synctl start`` twice (once to
|
||||||
``python synapse/app/homeserver.py`` - you will find a webclient running
|
generate a config; once to actually run) - you will find a webclient running at
|
||||||
at http://localhost:8008 (use a recent Chrome, Safari or Firefox for now,
|
http://localhost:8008. Please use a recent Chrome, Safari or Firefox for now...
|
||||||
please...)
|
|
||||||
|
|
||||||
- To make the homeserver **public** and let it exchange messages with
|
- To run a **public** homeserver and let it exchange messages with other homeservers
|
||||||
other homeservers and participate in the overall Matrix federation, open
|
and participate in the global Matrix federation, you must expose port 8448 to the
|
||||||
up port 8448 and run ``python synapse/app/homeserver.py --host
|
internet and edit homeserver.yaml to specify server_name (the public DNS entry for
|
||||||
machine.my.domain.name``. Then come join ``#matrix:matrix.org`` and
|
this server) and then run ``synctl start``. If you changed the server_name, you may
|
||||||
say hi! :)
|
need to move the old database (homeserver.db) out of the way first. Then come join
|
||||||
|
``#matrix:matrix.org`` and say hi! :)
|
||||||
|
|
||||||
For more detailed setup instructions, please see further down this document.
|
For more detailed setup instructions, please see further down this document.
|
||||||
|
|
||||||
|
@ -100,7 +121,6 @@ Homeserver Installation
|
||||||
|
|
||||||
First, the dependencies need to be installed. Start by installing
|
First, the dependencies need to be installed. Start by installing
|
||||||
'python2.7-dev' and the various tools of the compiler toolchain.
|
'python2.7-dev' and the various tools of the compiler toolchain.
|
||||||
N.B. synapse requires python 2.x where x >= 7
|
|
||||||
|
|
||||||
Installing prerequisites on ubuntu::
|
Installing prerequisites on ubuntu::
|
||||||
|
|
||||||
|
@ -131,6 +151,9 @@ you can check PyNaCl out of git directly (https://github.com/pyca/pynacl) and
|
||||||
installing it. Installing PyNaCl using pip may also work (remember to remove any
|
installing it. Installing PyNaCl using pip may also work (remember to remove any
|
||||||
other versions installed by setuputils in, for example, ~/.local/lib).
|
other versions installed by setuputils in, for example, ~/.local/lib).
|
||||||
|
|
||||||
|
On OSX, if you encounter ``clang: error: unknown argument: '-mno-fused-madd'`` you will
|
||||||
|
need to ``export CFLAGS=-Qunused-arguments``.
|
||||||
|
|
||||||
This will run a process of downloading and installing into your
|
This will run a process of downloading and installing into your
|
||||||
user's .local/lib directory all of the required dependencies that are
|
user's .local/lib directory all of the required dependencies that are
|
||||||
missing.
|
missing.
|
||||||
|
@ -179,6 +202,10 @@ For the first form, simply pass the required hostname (of the machine) as the
|
||||||
--config-path homeserver.config \
|
--config-path homeserver.config \
|
||||||
--generate-config
|
--generate-config
|
||||||
$ python synapse/app/homeserver.py --config-path homeserver.config
|
$ python synapse/app/homeserver.py --config-path homeserver.config
|
||||||
|
|
||||||
|
Alternatively, you can run synapse via synctl - running ``synctl start`` to generate a
|
||||||
|
homeserver.yaml config file, where you can then edit server-name to specify
|
||||||
|
machine.my.domain.name, and then set the actual server running again with synctl start.
|
||||||
|
|
||||||
For the second form, first create your SRV record and publish it in DNS. This
|
For the second form, first create your SRV record and publish it in DNS. This
|
||||||
needs to be named _matrix._tcp.YOURDOMAIN, and point at at least one hostname
|
needs to be named _matrix._tcp.YOURDOMAIN, and point at at least one hostname
|
||||||
|
@ -266,7 +293,7 @@ track 3PID logins and publish end-user public keys.
|
||||||
|
|
||||||
It's currently early days for identity servers as Matrix is not yet using 3PIDs
|
It's currently early days for identity servers as Matrix is not yet using 3PIDs
|
||||||
as the primary means of identity and E2E encryption is not complete. As such,
|
as the primary means of identity and E2E encryption is not complete. As such,
|
||||||
we're not yet running an identity server in public.
|
we are running a single identity server (http://matrix.org:8090) at the current time.
|
||||||
|
|
||||||
|
|
||||||
Where's the spec?!
|
Where's the spec?!
|
||||||
|
|
|
@ -7,8 +7,8 @@ rst2html-2.7.py --stylesheet=basic.css,nature.css ../docs/client-server/howto.rs
|
||||||
|
|
||||||
perl -pi -e 's#<head>#<head><link rel="stylesheet" href="/site.css">#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html
|
perl -pi -e 's#<head>#<head><link rel="stylesheet" href="/site.css">#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html
|
||||||
|
|
||||||
perl -pi -e 's#<body>#<body><div id="header"><div id="headerContent"> </div></div><div id="page"><div id="wrapper"><div style="text-align: center; padding: 40px;"><img src="/matrix.png" width="305" height="130" alt="[matrix]"/></div>#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html
|
perl -pi -e 's#<body>#<body><div id="header"><div id="headerContent"> </div></div><div id="page"><div id="wrapper"><div style="text-align: center; padding: 40px;"><a href="/"><img src="/matrix.png" width="305" height="130" alt="[matrix]"/></a></div>#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html
|
||||||
|
|
||||||
perl -pi -e 's#</body>#</div></div><div id="footer"><div id="footerContent">© 2014 Matrix.org</div></div></body>#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html
|
perl -pi -e 's#</body>#</div></div><div id="footer"><div id="footerContent">© 2014 Matrix.org</div></div></body>#' $MATRIXDOTORG/docs/spec/index.html $MATRIXDOTORG/docs/howtos/client-server.html
|
||||||
|
|
||||||
scp -r $MATRIXDOTORG/docs matrix@ldc-prd-matrix-001:/sites/matrix-beta
|
scp -r $MATRIXDOTORG/docs matrix@ldc-prd-matrix-001:/sites/matrix
|
Loading…
Reference in New Issue