diff options
author | Erik Johnston <erik@matrix.org> | 2014-09-04 07:39:52 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2014-09-04 07:39:52 +0100 |
commit | d76e548ec1241ee3a3f83853dc1c3c20d964e5f5 (patch) | |
tree | c0bbbd3a7718508571bc0eb3b3500a369cbd2d5b | |
parent | make synctl default to homesever.log (diff) | |
parent | Merge branch 'master' of github.com:matrix-org/synapse into develop (diff) | |
download | synapse-d76e548ec1241ee3a3f83853dc1c3c20d964e5f5.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse v0.2.1a
-rw-r--r-- | README.rst | 55 | ||||
-rwxr-xr-x | scripts/gendoc.sh | 4 |
2 files changed, 43 insertions, 16 deletions
diff --git a/README.rst b/README.rst index 98af91ea42..6791e686b7 100644 --- a/README.rst +++ b/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: - 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. - 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:: 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 =========== +System requirements: + - POSIX-compliant system (tested on Linux & OSX) + - Python 2.7 + To get up and running: - To simply play with an **existing** homeserver you can just go straight to http://matrix.org/alpha. - - To run your own **private** homeserver on localhost:8008, install synapse - with ``python setup.py develop --user`` and then run one with - ``python synapse/app/homeserver.py`` - you will find a webclient running - at http://localhost:8008 (use a recent Chrome, Safari or Firefox for now, - please...) + - To run your own **private** homeserver on localhost:8008, install synapse with + ``python setup.py develop --user`` and then run ``./synctl start`` twice (once to + generate a config; once to actually run) - you will find a webclient running at + http://localhost:8008. Please use a recent Chrome, Safari or Firefox for now... - - To make the homeserver **public** and let it exchange messages with - other homeservers and participate in the overall Matrix federation, open - up port 8448 and run ``python synapse/app/homeserver.py --host - machine.my.domain.name``. Then come join ``#matrix:matrix.org`` and - say hi! :) + - To run a **public** homeserver and let it exchange messages with other homeservers + and participate in the global Matrix federation, you must expose port 8448 to the + internet and edit homeserver.yaml to specify server_name (the public DNS entry for + this server) and then run ``synctl start``. If you changed the server_name, you may + 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. @@ -100,7 +121,6 @@ Homeserver Installation First, the dependencies need to be installed. Start by installing '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:: @@ -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 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 user's .local/lib directory all of the required dependencies that are missing. @@ -179,6 +202,10 @@ For the first form, simply pass the required hostname (of the machine) as the --config-path homeserver.config \ --generate-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 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 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?! diff --git a/scripts/gendoc.sh b/scripts/gendoc.sh index 3c849e52e1..64aff3155e 100755 --- a/scripts/gendoc.sh +++ b/scripts/gendoc.sh @@ -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#<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 -scp -r $MATRIXDOTORG/docs matrix@ldc-prd-matrix-001:/sites/matrix-beta \ No newline at end of file +scp -r $MATRIXDOTORG/docs matrix@ldc-prd-matrix-001:/sites/matrix \ No newline at end of file |