Преглед изворни кода

Add appservice-double-puppet double-puppeting support to mautrix-whatsapp

Shared Secret Auth double puppeting still works for this bridge, but
is deprecated and will go away in the future.
pull/3482/head
Slavi Pantaleev пре 1 година
родитељ
комит
d3831ba3a5
4 измењених фајлова са 22 додато и 11 уклоњено
  1. +6
    -4
      docs/configuring-playbook-bridge-mautrix-whatsapp.md
  2. +12
    -3
      group_vars/matrix_servers
  3. +3
    -4
      roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml
  4. +1
    -0
      roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml

+ 6
- 4
docs/configuring-playbook-bridge-mautrix-whatsapp.md Прегледај датотеку

@@ -8,7 +8,7 @@ Use the following playbook configuration:

```yaml
matrix_mautrix_whatsapp_enabled: true
```
```
Whatsapp multidevice beta is required, now it is enough if Whatsapp is connected to the Internet every 2 weeks.

The relay bot functionality is off by default. If you would like to enable the relay bot, add the following to your `vars.yml` file:
@@ -28,11 +28,13 @@ Use `!wa unset-relay` to deactivate.

If you'd like to use [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do), you have 2 ways of going about it.

### Method 1: automatically, by enabling Shared Secret Auth
### Method 1: automatically, by enabling Appservice Double Puppet or Shared Secret Auth

The bridge will automatically perform Double Puppeting if you enable the [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service or the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook.

The bridge will automatically perform Double Puppeting if you enable [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook.
Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.

This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.
Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future.

### Method 2: manually, by asking each user to provide a working access token



+ 12
- 3
group_vars/matrix_servers Прегледај датотеку

@@ -1555,8 +1555,6 @@ matrix_mautrix_meta_instagram_homeserver_address: "{{ matrix_addons_homeserver_c

matrix_mautrix_meta_instagram_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.meta.ig.hs', rounds=655555) | to_uuid }}"

matrix_mautrix_meta_instagram_bridge_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"

matrix_mautrix_meta_instagram_bridge_login_shared_secret_map_auto: |-
{{
({
@@ -1930,7 +1928,18 @@ matrix_mautrix_whatsapp_appservice_token: "{{ '%s' | format(matrix_homeserver_ge
matrix_mautrix_whatsapp_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_whatsapp_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'whats.hs.token', rounds=655555) | to_uuid }}"

matrix_mautrix_whatsapp_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
matrix_mautrix_whatsapp_bridge_login_shared_secret_map_auto: |-
{{
({
matrix_mautrix_whatsapp_homeserver_domain: ("as_token:" + matrix_appservice_double_puppet_registration_as_token)
})
if matrix_appservice_double_puppet_enabled
else (
{matrix_mautrix_whatsapp_homeserver_domain: matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret}
if matrix_synapse_ext_password_provider_shared_secret_auth_enabled
else {}
)
}}

matrix_mautrix_whatsapp_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}"



+ 3
- 4
roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml Прегледај датотеку

@@ -134,10 +134,9 @@ matrix_mautrix_whatsapp_appservice_database_uri: "{{
}[matrix_mautrix_whatsapp_database_engine]
}}"

# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth).
matrix_mautrix_whatsapp_login_shared_secret: ''
matrix_mautrix_whatsapp_bridge_login_shared_secret_map:
"{{ {matrix_mautrix_whatsapp_homeserver_domain: matrix_mautrix_whatsapp_login_shared_secret} if matrix_mautrix_whatsapp_login_shared_secret else {} }}"
matrix_mautrix_whatsapp_bridge_login_shared_secret_map: "{{ matrix_mautrix_whatsapp_bridge_login_shared_secret_map_auto | combine(matrix_mautrix_whatsapp_bridge_login_shared_secret_map_custom) }}"
matrix_mautrix_whatsapp_bridge_login_shared_secret_map_auto: {}
matrix_mautrix_whatsapp_bridge_login_shared_secret_map_custom: {}

# Enable End-to-bridge encryption
matrix_mautrix_whatsapp_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}"


+ 1
- 0
roles/custom/matrix-bridge-mautrix-whatsapp/tasks/validate_config.yml Прегледај датотеку

@@ -19,3 +19,4 @@
when: "item.old in vars"
with_items:
- {'old': 'matrix_mautrix_whatsapp_log_level', 'new': 'matrix_mautrix_whatsapp_logging_level'}
- {'old': 'matrix_mautrix_whatsapp_login_shared_secret', 'new': '<removed>'}

Loading…
Откажи
Сачувај