-
Notifications
You must be signed in to change notification settings - Fork 12
/
config_panel.toml
219 lines (181 loc) · 8.14 KB
/
config_panel.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
version = "1.0"
[main]
name = "Main Settings"
services = ["__APP__"]
[main.permissions]
name = "Permissions for using the bridge"
[main.permissions.helptext]
ask = '''
Roles with Increasing Power: Relay<User<Admin
Allowed values for roles:
- * : All Matrix users
- domain.tld : All users on a given homeserver
- mxid (@user:matrix.org) : Specific Matrix user
'''
type = "markdown"
[main.permissions.listrelay]
ask = "Users bridged thanks to Relay Mode"
type = "tags"
help = "Relay Role: Talk on WhatsApp through the RelayBot in a room where it has been activated with '!wa set-relay', no access otherwise."
visible = "enable_relaybot"
[main.permissions.listuser]
ask = "Bridge Users"
type = "tags"
help = "User Role: Access to use the bridge to chat with a WhatsApp account."
[main.permissions.listadmin]
ask = "Bridge Administrators"
type = "tags"
help = "Admin Role: User level and some additional administration tools."
[main.bridge]
name = "Puppetting Bridge Settings"
[main.bridge.enable_relaybot]
ask = "Should Relay Mode be allowed?"
type = "boolean"
yes = "true"
no = "false"
help = "If allowed, '!wa set-relay' can be used to turn any Bridge User into a RelayBot for that chat. This allows people to talk on WhatsApp without an own account."
bind = "relay>enabled:__INSTALL_DIR__/config.yaml"
[main.bridge.admin_only]
ask = "Should only Bridge Admins be allowed to set themselves as Relay Users?"
type = "boolean"
yes = "true"
no = "false"
help = "See User management -> Admins"
bind = ":__INSTALL_DIR__/config.yaml"
visible = "enable_relaybot"
[main.bot]
name = "Robot Settings"
[main.bot.botname]
ask = "Username of the AppService Bot"
type = "string"
help = "Sets bot username. Please keep in mind that the bot admin room for previous bot username will stop working so you may need to create a new one using the new username"
bind = "bot>username:__INSTALL_DIR__/config.yaml"
[main.bot.displayname]
ask = "Display name for Bot"
type = "string"
help = "Set to 'remove' to remove display name, leave empty to set default 'WhatsApp bridge bot'"
bind = ":__INSTALL_DIR__/config.yaml"
[main.bot.avatar]
ask = "Avatar for Bot"
type = "string"
help = "Should be in format 'mxc://server_name/NeXNQarUbrlYBiPCpprYsRqr', see README for tutorial. Set to 'remove' to remove avatar, leave empty to use standard WhatsApp logo."
bind = ":__INSTALL_DIR__/config.yaml"
[privacy]
name = "Privacy"
services = ["__APP__"]
[privacy.portal_rooms]
name = "Portal Rooms & Encryption Settings"
[privacy.portal_rooms.text]
ask = '''
!! Inviting the Bridge in an encrypted room !!
!! breaks real End-to-End Encryption (e2ee) !!
!! Messages will be unencrypted on the Bridge Server !!
'''
type = "markdown"
[privacy.portal_rooms.encryption]
ask = "Allow Encryption between Matrix Client and Bridge Server?"
type = "boolean"
yes = "true"
no = "false"
help = "Enable so-called End-to-Bridge (e2b) Encryption. For the Bridge to work in group chat Rooms with End-to-End Encryption (e2ee) enabled."
bind = "encryption>allow:__INSTALL_DIR__/config.yaml"
[privacy.portal_rooms.encryption_default]
ask = "Force-enable Encryption in all Portal Rooms the Bridge creates?"
type = "boolean"
yes = "true"
no = "false"
help = "This will cause the Bridge Bot to be in private chats for the Encryption to work properly."
bind = "encryption>default:__INSTALL_DIR__/config.yaml"
visible = "encryption"
[privacy.portal_rooms.encryption_require]
ask = "Require encryption?"
type = "boolean"
yes = "true"
no = "false"
help = "Require encryption, drop any unencrypted messages."
bind = "encryption>require:__INSTALL_DIR__/config.yaml"
visible = "encryption"
[privacy.config]
name = "Privacy Settings"
[privacy.config.delivery_receipts]
ask = "Enable Delivery Receipts?"
type = "boolean"
yes = "true"
no = "false"
help = "Should the bridge send a read Receipt from the bridge bot when a message has been sent to WhatsApp?"
bind = ":__INSTALL_DIR__/config.yaml"
[privacy.config.send_presence_on_typing]
ask = "Send Presence on typing?"
type = "boolean"
yes = "true"
no = "false"
help = "Send the Presence as 'available' to WhatsApp when Users start typing on a Portal."
bind = ":__INSTALL_DIR__/config.yaml"
[privacy.config.url_previews]
ask = "Enable URL Preview?"
type = "boolean"
yes = "true"
no = "false"
help = "Should the Bridge detect URLs in outgoing messages, ask the HomeServer to generate a Preview, and send it to WhatsApp?"
bind = ":__INSTALL_DIR__/config.yaml"
[advanced]
name = "Advanced Settings"
services = ["__APP__"]
[advanced.help]
name = "SETTINGS FOR EXPERTS IN SERVER ADMINISTRATION"
[advanced.help.text]
ask = "!! There are **security and privacy risks** if you change these settings without knowing what you do !!"
type = "markdown"
[advanced.whatsapp]
name = "WhatsApp Web API MetaData"
[advanced.whatsapp.username_template]
ask = "Localpart template of MXIDs for WhatsApp users"
type = "string"
help = "Defaults to 'whatsapp_{{.}}'. '{{.}}' is replaced with the phone number 'msidsn' of the WhatsApp user."
bind = ":__INSTALL_DIR__/config.yaml"
[advanced.whatsapp.os_name]
ask = "Device name in the 'WhatsApp Web' section of the smartphone app"
type = "string"
bind = ":__INSTALL_DIR__/config.yaml"
[advanced.whatsapp.browser_name]
ask = "Browser name that determines the logo shown in the smartphone app"
type = "select"
choices = ["unknown", "chrome", "firefox", "ie", "opera", "safari", "edge", "desktop", "ipad", "android_tablet", "ohana", "aloha", "catalina", "tcl_tv"]
help = "Must be 'unknown' for a generic icon or a valid browser name if you want a specific logo."
bind = ":__INSTALL_DIR__/config.yaml"
[advanced.appservice]
name = "HomeServer Application Service"
[advanced.appservice.async_media]
ask = "Enable asynchronous media uploads?"
type = "boolean"
yes = "true"
no = "false"
help = "Enable only if HomeServer supports https://github.com/matrix-org/matrix-spec-proposals/pull/2246?"
bind = ":__INSTALL_DIR__/config.yaml"
[advanced.appservice.ephemeral_events]
ask = "Receive Ephemeral Events via AppService transactions?"
type = "boolean"
yes = "true"
no = "false"
help = "Enable only if HomeServer supports MSC2409 (i.e. Synapse 1.22+). If enabled, you should disable bridge -> 'sync_with_custom_puppets'."
bind = ":__INSTALL_DIR__/config.yaml"
[advanced.appservice.min_level]
ask = "Logging print level for Standard Output"
type = "select"
choices = ["debug", "info", "warn", "error", "fatal"]
help = "Minimum severity for log messages printed to stdout/stderr. This doesn't affect the log file."
bind = ":__INSTALL_DIR__/config.yaml"
[advanced.metrics]
name = "Prometheus Metrics"
[advanced.metrics.enable_metrics]
ask = "Enable Prometheus Metrics?"
type = "boolean"
yes = "true"
no = "false"
bind = "metrics>enabled:__INSTALL_DIR__/config.yaml"
[advanced.metrics.listen_port]
ask = "IP and Port for the Metrics listener?"
type = "string"
help = "Defaults to: '127.0.0.1:8001'. The path is always /metrics"
bind = "metrics>listen:__INSTALL_DIR__/config.yaml"
visible = "enable_metrics"