Skip to content

Commit e9a6e57

Browse files
committed
Merge tag 'v1.36.0' into 2021-05
Synapse 1.36.0 (2021-06-15) =========================== No significant changes. Synapse 1.36.0rc2 (2021-06-11) ============================== Bugfixes -------- - Fix a bug which caused presence updates to stop working some time after a restart, when using a presence writer worker. Broke in v1.33.0. ([\matrix-org#10149](matrix-org#10149)) - Fix a bug when using federation sender worker where it would send out more presence updates than necessary, leading to high resource usage. Broke in v1.33.0. ([\matrix-org#10163](matrix-org#10163)) - Fix a bug where Synapse could send the same presence update to a remote twice. ([\matrix-org#10165](matrix-org#10165)) Synapse 1.36.0rc1 (2021-06-08) ============================== Features -------- - Add new endpoint `/_matrix/client/r0/rooms/{roomId}/aliases` from Client-Server API r0.6.1 (previously [MSC2432](matrix-org/matrix-spec-proposals#2432)). ([\matrix-org#9224](matrix-org#9224)) - Improve performance of incoming federation transactions in large rooms. ([\matrix-org#9953](matrix-org#9953), [\matrix-org#9973](matrix-org#9973)) - Rewrite logic around verifying JSON object and fetching server keys to be more performant and use less memory. ([\matrix-org#10035](matrix-org#10035)) - Add new admin APIs for unprotecting local media from quarantine. Contributed by @dklimpel. ([\matrix-org#10040](matrix-org#10040)) - Add new admin APIs to remove media by media ID from quarantine. Contributed by @dklimpel. ([\matrix-org#10044](matrix-org#10044)) - Make reason and score parameters optional for reporting content. Implements [MSC2414](matrix-org/matrix-spec-proposals#2414). Contributed by Callum Brown. ([\matrix-org#10077](matrix-org#10077)) - Add support for routing more requests to workers. ([\matrix-org#10084](matrix-org#10084)) - Report OpenTracing spans for database activity. ([\matrix-org#10113](matrix-org#10113), [\matrix-org#10136](matrix-org#10136), [\matrix-org#10141](matrix-org#10141)) - Significantly reduce memory usage of joining large remote rooms. ([\matrix-org#10117](matrix-org#10117)) Bugfixes -------- - Fixed a bug causing replication requests to fail when receiving a lot of events via federation. ([\matrix-org#10082](matrix-org#10082)) - Fix a bug in the `force_tracing_for_users` option introduced in Synapse v1.35 which meant that the OpenTracing spans produced were missing most tags. ([\matrix-org#10092](matrix-org#10092)) - Fixed a bug that could cause Synapse to stop notifying application services. Contributed by Willem Mulder. ([\matrix-org#10107](matrix-org#10107)) - Fix bug where the server would attempt to fetch the same history in the room from a remote server multiple times in parallel. ([\matrix-org#10116](matrix-org#10116)) - Fix a bug introduced in Synapse 1.33.0 which caused replication requests to fail when receiving a lot of very large events via federation. ([\matrix-org#10118](matrix-org#10118)) - Fix bug when using workers where pagination requests failed if a remote server returned zero events from `/backfill`. Introduced in 1.35.0. ([\matrix-org#10133](matrix-org#10133)) Improved Documentation ---------------------- - Clarify security note regarding hosting Synapse on the same domain as other web applications. ([\matrix-org#9221](matrix-org#9221)) - Update CAPTCHA documentation to mention turning off the verify origin feature. Contributed by @aaronraimist. ([\matrix-org#10046](matrix-org#10046)) - Tweak wording of database recommendation in `INSTALL.md`. Contributed by @aaronraimist. ([\matrix-org#10057](matrix-org#10057)) - Add initial infrastructure for rendering Synapse documentation with mdbook. ([\matrix-org#10086](matrix-org#10086)) - Convert the remaining Admin API documentation files to markdown. ([\matrix-org#10089](matrix-org#10089)) - Make a link in docs use HTTPS. Contributed by @RhnSharma. ([\matrix-org#10130](matrix-org#10130)) - Fix broken link in Docker docs. ([\matrix-org#10132](matrix-org#10132)) Deprecations and Removals ------------------------- - Remove the experimental `spaces_enabled` flag. The spaces features are always available now. ([\matrix-org#10063](matrix-org#10063)) Internal Changes ---------------- - Tell CircleCI to build Docker images from `main` branch. ([\matrix-org#9906](matrix-org#9906)) - Simplify naming convention for release branches to only include the major and minor version numbers. ([\matrix-org#10013](matrix-org#10013)) - Add `parse_strings_from_args` for parsing an array from query parameters. ([\matrix-org#10048](matrix-org#10048), [\matrix-org#10137](matrix-org#10137)) - Remove some dead code regarding TLS certificate handling. ([\matrix-org#10054](matrix-org#10054)) - Remove redundant, unmaintained `convert_server_keys` script. ([\matrix-org#10055](matrix-org#10055)) - Improve the error message printed by synctl when synapse fails to start. ([\matrix-org#10059](matrix-org#10059)) - Fix GitHub Actions lint for newsfragments. ([\matrix-org#10069](matrix-org#10069)) - Update opentracing to inject the right context into the carrier. ([\matrix-org#10074](matrix-org#10074)) - Fix up `BatchingQueue` implementation. ([\matrix-org#10078](matrix-org#10078)) - Log method and path when dropping request due to size limit. ([\matrix-org#10091](matrix-org#10091)) - In Github Actions workflows, summarize the Sytest results in an easy-to-read format. ([\matrix-org#10094](matrix-org#10094)) - Make `/sync` do fewer state resolutions. ([\matrix-org#10102](matrix-org#10102)) - Add missing type hints to the admin API servlets. ([\matrix-org#10105](matrix-org#10105)) - Improve opentracing annotations for `Notifier`. ([\matrix-org#10111](matrix-org#10111)) - Enable Prometheus metrics for the jaeger client library. ([\matrix-org#10112](matrix-org#10112)) - Work to improve the responsiveness of `/sync` requests. ([\matrix-org#10124](matrix-org#10124)) - OpenTracing: use a consistent name for background processes. ([\matrix-org#10135](matrix-org#10135))
2 parents 1a25c3c + 1c8045f commit e9a6e57

File tree

120 files changed

+4253
-2512
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+4253
-2512
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ workflows:
4141
- dockerhubuploadlatest:
4242
filters:
4343
branches:
44-
only: master
44+
only: [ master, main ]
4545

4646
commands:
4747
docker_prepare:

.github/workflows/docs.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Deploy the documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
8+
workflow_dispatch:
9+
10+
jobs:
11+
pages:
12+
name: GitHub Pages
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v2
16+
17+
- name: Setup mdbook
18+
uses: peaceiris/actions-mdbook@4b5ef36b314c2599664ca107bb8c02412548d79d # v1.1.14
19+
with:
20+
mdbook-version: '0.4.9'
21+
22+
- name: Build the documentation
23+
run: mdbook build
24+
25+
- name: Deploy latest documentation
26+
uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305 # v3.8.0
27+
with:
28+
github_token: ${{ secrets.GITHUB_TOKEN }}
29+
keep_files: true
30+
publish_dir: ./book
31+
destination_dir: ./develop

.github/workflows/tests.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,13 @@ jobs:
3434
if: ${{ github.base_ref == 'develop' || contains(github.base_ref, 'release-') }}
3535
runs-on: ubuntu-latest
3636
steps:
37+
# Note: This and the script can be simplified once we drop Buildkite. See:
38+
# https://github.com/actions/checkout/issues/266#issuecomment-638346893
39+
# https://github.com/actions/checkout/issues/416
3740
- uses: actions/checkout@v2
41+
with:
42+
ref: ${{ github.event.pull_request.head.sha }}
43+
fetch-depth: 0
3844
- uses: actions/setup-python@v2
3945
- run: pip install tox
4046
- name: Patch Buildkite-specific test script
@@ -226,9 +232,9 @@ jobs:
226232
- name: Run SyTest
227233
run: /bootstrap.sh synapse
228234
working-directory: /src
229-
- name: Dump results.tap
235+
- name: Summarise results.tap
230236
if: ${{ always() }}
231-
run: cat /logs/results.tap
237+
run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
232238
- name: Upload SyTest logs
233239
uses: actions/upload-artifact@v2
234240
if: ${{ always() }}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,6 @@ __pycache__/
4646
/docs/build/
4747
/htmlcov
4848
/pip-wheel-metadata/
49+
50+
# docs
51+
book/

CHANGES.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,88 @@
1+
Synapse 1.36.0 (2021-06-15)
2+
===========================
3+
4+
No significant changes.
5+
6+
7+
Synapse 1.36.0rc2 (2021-06-11)
8+
==============================
9+
10+
Bugfixes
11+
--------
12+
13+
- Fix a bug which caused presence updates to stop working some time after a restart, when using a presence writer worker. Broke in v1.33.0. ([\#10149](https://github.com/matrix-org/synapse/issues/10149))
14+
- Fix a bug when using federation sender worker where it would send out more presence updates than necessary, leading to high resource usage. Broke in v1.33.0. ([\#10163](https://github.com/matrix-org/synapse/issues/10163))
15+
- Fix a bug where Synapse could send the same presence update to a remote twice. ([\#10165](https://github.com/matrix-org/synapse/issues/10165))
16+
17+
18+
Synapse 1.36.0rc1 (2021-06-08)
19+
==============================
20+
21+
Features
22+
--------
23+
24+
- Add new endpoint `/_matrix/client/r0/rooms/{roomId}/aliases` from Client-Server API r0.6.1 (previously [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432)). ([\#9224](https://github.com/matrix-org/synapse/issues/9224))
25+
- Improve performance of incoming federation transactions in large rooms. ([\#9953](https://github.com/matrix-org/synapse/issues/9953), [\#9973](https://github.com/matrix-org/synapse/issues/9973))
26+
- Rewrite logic around verifying JSON object and fetching server keys to be more performant and use less memory. ([\#10035](https://github.com/matrix-org/synapse/issues/10035))
27+
- Add new admin APIs for unprotecting local media from quarantine. Contributed by @dklimpel. ([\#10040](https://github.com/matrix-org/synapse/issues/10040))
28+
- Add new admin APIs to remove media by media ID from quarantine. Contributed by @dklimpel. ([\#10044](https://github.com/matrix-org/synapse/issues/10044))
29+
- Make reason and score parameters optional for reporting content. Implements [MSC2414](https://github.com/matrix-org/matrix-doc/pull/2414). Contributed by Callum Brown. ([\#10077](https://github.com/matrix-org/synapse/issues/10077))
30+
- Add support for routing more requests to workers. ([\#10084](https://github.com/matrix-org/synapse/issues/10084))
31+
- Report OpenTracing spans for database activity. ([\#10113](https://github.com/matrix-org/synapse/issues/10113), [\#10136](https://github.com/matrix-org/synapse/issues/10136), [\#10141](https://github.com/matrix-org/synapse/issues/10141))
32+
- Significantly reduce memory usage of joining large remote rooms. ([\#10117](https://github.com/matrix-org/synapse/issues/10117))
33+
34+
35+
Bugfixes
36+
--------
37+
38+
- Fixed a bug causing replication requests to fail when receiving a lot of events via federation. ([\#10082](https://github.com/matrix-org/synapse/issues/10082))
39+
- Fix a bug in the `force_tracing_for_users` option introduced in Synapse v1.35 which meant that the OpenTracing spans produced were missing most tags. ([\#10092](https://github.com/matrix-org/synapse/issues/10092))
40+
- Fixed a bug that could cause Synapse to stop notifying application services. Contributed by Willem Mulder. ([\#10107](https://github.com/matrix-org/synapse/issues/10107))
41+
- Fix bug where the server would attempt to fetch the same history in the room from a remote server multiple times in parallel. ([\#10116](https://github.com/matrix-org/synapse/issues/10116))
42+
- Fix a bug introduced in Synapse 1.33.0 which caused replication requests to fail when receiving a lot of very large events via federation. ([\#10118](https://github.com/matrix-org/synapse/issues/10118))
43+
- Fix bug when using workers where pagination requests failed if a remote server returned zero events from `/backfill`. Introduced in 1.35.0. ([\#10133](https://github.com/matrix-org/synapse/issues/10133))
44+
45+
46+
Improved Documentation
47+
----------------------
48+
49+
- Clarify security note regarding hosting Synapse on the same domain as other web applications. ([\#9221](https://github.com/matrix-org/synapse/issues/9221))
50+
- Update CAPTCHA documentation to mention turning off the verify origin feature. Contributed by @aaronraimist. ([\#10046](https://github.com/matrix-org/synapse/issues/10046))
51+
- Tweak wording of database recommendation in `INSTALL.md`. Contributed by @aaronraimist. ([\#10057](https://github.com/matrix-org/synapse/issues/10057))
52+
- Add initial infrastructure for rendering Synapse documentation with mdbook. ([\#10086](https://github.com/matrix-org/synapse/issues/10086))
53+
- Convert the remaining Admin API documentation files to markdown. ([\#10089](https://github.com/matrix-org/synapse/issues/10089))
54+
- Make a link in docs use HTTPS. Contributed by @RhnSharma. ([\#10130](https://github.com/matrix-org/synapse/issues/10130))
55+
- Fix broken link in Docker docs. ([\#10132](https://github.com/matrix-org/synapse/issues/10132))
56+
57+
58+
Deprecations and Removals
59+
-------------------------
60+
61+
- Remove the experimental `spaces_enabled` flag. The spaces features are always available now. ([\#10063](https://github.com/matrix-org/synapse/issues/10063))
62+
63+
64+
Internal Changes
65+
----------------
66+
67+
- Tell CircleCI to build Docker images from `main` branch. ([\#9906](https://github.com/matrix-org/synapse/issues/9906))
68+
- Simplify naming convention for release branches to only include the major and minor version numbers. ([\#10013](https://github.com/matrix-org/synapse/issues/10013))
69+
- Add `parse_strings_from_args` for parsing an array from query parameters. ([\#10048](https://github.com/matrix-org/synapse/issues/10048), [\#10137](https://github.com/matrix-org/synapse/issues/10137))
70+
- Remove some dead code regarding TLS certificate handling. ([\#10054](https://github.com/matrix-org/synapse/issues/10054))
71+
- Remove redundant, unmaintained `convert_server_keys` script. ([\#10055](https://github.com/matrix-org/synapse/issues/10055))
72+
- Improve the error message printed by synctl when synapse fails to start. ([\#10059](https://github.com/matrix-org/synapse/issues/10059))
73+
- Fix GitHub Actions lint for newsfragments. ([\#10069](https://github.com/matrix-org/synapse/issues/10069))
74+
- Update opentracing to inject the right context into the carrier. ([\#10074](https://github.com/matrix-org/synapse/issues/10074))
75+
- Fix up `BatchingQueue` implementation. ([\#10078](https://github.com/matrix-org/synapse/issues/10078))
76+
- Log method and path when dropping request due to size limit. ([\#10091](https://github.com/matrix-org/synapse/issues/10091))
77+
- In Github Actions workflows, summarize the Sytest results in an easy-to-read format. ([\#10094](https://github.com/matrix-org/synapse/issues/10094))
78+
- Make `/sync` do fewer state resolutions. ([\#10102](https://github.com/matrix-org/synapse/issues/10102))
79+
- Add missing type hints to the admin API servlets. ([\#10105](https://github.com/matrix-org/synapse/issues/10105))
80+
- Improve opentracing annotations for `Notifier`. ([\#10111](https://github.com/matrix-org/synapse/issues/10111))
81+
- Enable Prometheus metrics for the jaeger client library. ([\#10112](https://github.com/matrix-org/synapse/issues/10112))
82+
- Work to improve the responsiveness of `/sync` requests. ([\#10124](https://github.com/matrix-org/synapse/issues/10124))
83+
- OpenTracing: use a consistent name for background processes. ([\#10135](https://github.com/matrix-org/synapse/issues/10135))
84+
85+
186
Synapse 1.35.1 (2021-06-03)
287
===========================
388

INSTALL.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -399,11 +399,9 @@ Once you have installed synapse as above, you will need to configure it.
399399

400400
### Using PostgreSQL
401401

402-
By default Synapse uses [SQLite](https://sqlite.org/) and in doing so trades performance for convenience.
403-
SQLite is only recommended in Synapse for testing purposes or for servers with
404-
very light workloads.
405-
406-
Almost all installations should opt to use [PostgreSQL](https://www.postgresql.org). Advantages include:
402+
By default Synapse uses an [SQLite](https://sqlite.org/) database and in doing so trades
403+
performance for convenience. Almost all installations should opt to use [PostgreSQL](https://www.postgresql.org)
404+
instead. Advantages include:
407405

408406
- significant performance improvements due to the superior threading and
409407
caching model, smarter query optimiser
@@ -412,6 +410,10 @@ Almost all installations should opt to use [PostgreSQL](https://www.postgresql.o
412410
For information on how to install and use PostgreSQL in Synapse, please see
413411
[docs/postgres.md](docs/postgres.md)
414412

413+
SQLite is only acceptable for testing purposes. SQLite should not be used in
414+
a production server. Synapse will perform poorly when using
415+
SQLite, especially when participating in large rooms.
416+
415417
### TLS certificates
416418

417419
The default configuration exposes a single HTTP port on the local

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ exclude mypy.ini
4040
exclude sytest-blacklist
4141
exclude test_postgresql.sh
4242

43+
include book.toml
4344
include pyproject.toml
4445
recursive-include changelog.d *
4546

README.rst

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -149,21 +149,45 @@ For details on having Synapse manage your federation TLS certificates
149149
automatically, please see `<docs/ACME.md>`_.
150150

151151

152-
Security Note
152+
Security note
153153
=============
154154

155-
Matrix serves raw user generated data in some APIs - specifically the `content
156-
repository endpoints <https://matrix.org/docs/spec/client_server/latest.html#get-matrix-media-r0-download-servername-mediaid>`_.
155+
Matrix serves raw, user-supplied data in some APIs -- specifically the `content
156+
repository endpoints`_.
157157

158-
Whilst we have tried to mitigate against possible XSS attacks (e.g.
159-
https://github.com/matrix-org/synapse/pull/1021) we recommend running
160-
matrix homeservers on a dedicated domain name, to limit any malicious user generated
161-
content served to web browsers a matrix API from being able to attack webapps hosted
162-
on the same domain. This is particularly true of sharing a matrix webclient and
163-
server on the same domain.
158+
.. _content repository endpoints: https://matrix.org/docs/spec/client_server/latest.html#get-matrix-media-r0-download-servername-mediaid
164159

165-
See https://github.com/vector-im/riot-web/issues/1977 and
166-
https://developer.github.com/changes/2014-04-25-user-content-security for more details.
160+
Whilst we make a reasonable effort to mitigate against XSS attacks (for
161+
instance, by using `CSP`_), a Matrix homeserver should not be hosted on a
162+
domain hosting other web applications. This especially applies to sharing
163+
the domain with Matrix web clients and other sensitive applications like
164+
webmail. See
165+
https://developer.github.com/changes/2014-04-25-user-content-security for more
166+
information.
167+
168+
.. _CSP: https://github.com/matrix-org/synapse/pull/1021
169+
170+
Ideally, the homeserver should not simply be on a different subdomain, but on
171+
a completely different `registered domain`_ (also known as top-level site or
172+
eTLD+1). This is because `some attacks`_ are still possible as long as the two
173+
applications share the same registered domain.
174+
175+
.. _registered domain: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-2.3
176+
177+
.. _some attacks: https://en.wikipedia.org/wiki/Session_fixation#Attacks_using_cross-subdomain_cookie
178+
179+
To illustrate this with an example, if your Element Web or other sensitive web
180+
application is hosted on ``A.example1.com``, you should ideally host Synapse on
181+
``example2.com``. Some amount of protection is offered by hosting on
182+
``B.example1.com`` instead, so this is also acceptable in some scenarios.
183+
However, you should *not* host your Synapse on ``A.example1.com``.
184+
185+
Note that all of the above refers exclusively to the domain used in Synapse's
186+
``public_baseurl`` setting. In particular, it has no bearing on the domain
187+
mentioned in MXIDs hosted on that server.
188+
189+
Following this advice ensures that even if an XSS is found in Synapse, the
190+
impact to other applications will be minimal.
167191

168192

169193
Upgrading an existing Synapse

book.toml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Documentation for possible options in this file is at
2+
# https://rust-lang.github.io/mdBook/format/config.html
3+
[book]
4+
title = "Synapse"
5+
authors = ["The Matrix.org Foundation C.I.C."]
6+
language = "en"
7+
multilingual = false
8+
9+
# The directory that documentation files are stored in
10+
src = "docs"
11+
12+
[build]
13+
# Prevent markdown pages from being automatically generated when they're
14+
# linked to in SUMMARY.md
15+
create-missing = false
16+
17+
[output.html]
18+
# The URL visitors will be directed to when they try to edit a page
19+
edit-url-template = "https://github.com/matrix-org/synapse/edit/develop/{path}"
20+
21+
# Remove the numbers that appear before each item in the sidebar, as they can
22+
# get quite messy as we nest deeper
23+
no-section-label = true
24+
25+
# The source code URL of the repository
26+
git-repository-url = "https://github.com/matrix-org/synapse"
27+
28+
# The path that the docs are hosted on
29+
site-url = "/synapse/"
30+
31+
# Additional HTML, JS, CSS that's injected into each page of the book.
32+
# More information available in docs/website_files/README.md
33+
additional-css = [
34+
"docs/website_files/table-of-contents.css",
35+
"docs/website_files/remove-nav-buttons.css",
36+
"docs/website_files/indent-section-headers.css",
37+
]
38+
additional-js = ["docs/website_files/table-of-contents.js"]
39+
theme = "docs/website_files/theme"

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
matrix-synapse-py3 (1.36.0) stable; urgency=medium
2+
3+
* New synapse release 1.36.0.
4+
5+
-- Synapse Packaging team <[email protected]> Tue, 15 Jun 2021 15:41:53 +0100
6+
17
matrix-synapse-py3 (1.35.1) stable; urgency=medium
28

39
* New synapse release 1.35.1.

docker/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,4 +226,4 @@ healthcheck:
226226
## Using jemalloc
227227

228228
Jemalloc is embedded in the image and will be used instead of the default allocator.
229-
You can read about jemalloc by reading the Synapse [README](../README.md).
229+
You can read about jemalloc by reading the Synapse [README](../README.rst).

docs/CAPTCHA_SETUP.md

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
11
# Overview
2-
Captcha can be enabled for this home server. This file explains how to do that.
3-
The captcha mechanism used is Google's ReCaptcha. This requires API keys from Google.
4-
5-
## Getting keys
6-
7-
Requires a site/secret key pair from:
8-
9-
<https://developers.google.com/recaptcha/>
10-
11-
Must be a reCAPTCHA v2 key using the "I'm not a robot" Checkbox option
12-
13-
## Setting ReCaptcha Keys
14-
15-
The keys are a config option on the home server config. If they are not
16-
visible, you can generate them via `--generate-config`. Set the following value:
17-
2+
A captcha can be enabled on your homeserver to help prevent bots from registering
3+
accounts. Synapse currently uses Google's reCAPTCHA service which requires API keys
4+
from Google.
5+
6+
## Getting API keys
7+
8+
1. Create a new site at <https://www.google.com/recaptcha/admin/create>
9+
1. Set the label to anything you want
10+
1. Set the type to reCAPTCHA v2 using the "I'm not a robot" Checkbox option.
11+
This is the only type of captcha that works with Synapse.
12+
1. Add the public hostname for your server, as set in `public_baseurl`
13+
in `homeserver.yaml`, to the list of authorized domains. If you have not set
14+
`public_baseurl`, use `server_name`.
15+
1. Agree to the terms of service and submit.
16+
1. Copy your site key and secret key and add them to your `homeserver.yaml`
17+
configuration file
18+
```
1819
recaptcha_public_key: YOUR_SITE_KEY
1920
recaptcha_private_key: YOUR_SECRET_KEY
20-
21-
In addition, you MUST enable captchas via:
22-
21+
```
22+
1. Enable the CAPTCHA for new registrations
23+
```
2324
enable_registration_captcha: true
25+
```
26+
1. Go to the settings page for the CAPTCHA you just created
27+
1. Uncheck the "Verify the origin of reCAPTCHA solutions" checkbox so that the
28+
captcha can be displayed in any client. If you do not disable this option then you
29+
must specify the domains of every client that is allowed to display the CAPTCHA.
2430
2531
## Configuring IP used for auth
2632
27-
The ReCaptcha API requires that the IP address of the user who solved the
28-
captcha is sent. If the client is connecting through a proxy or load balancer,
33+
The reCAPTCHA API requires that the IP address of the user who solved the
34+
CAPTCHA is sent. If the client is connecting through a proxy or load balancer,
2935
it may be required to use the `X-Forwarded-For` (XFF) header instead of the origin
3036
IP address. This can be configured using the `x_forwarded` directive in the
31-
listeners section of the homeserver.yaml configuration file.
37+
listeners section of the `homeserver.yaml` configuration file.

0 commit comments

Comments
 (0)