Add the mautrix-whatsapp brigde.
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is failing
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	continuous-integration/drone/push Build is failing
				
			This commit is contained in:
		
							parent
							
								
									b63d93174f
								
							
						
					
					
						commit
						cf4563483f
					
				
					 5 changed files with 253 additions and 71 deletions
				
			
		|  | @ -1,5 +1,5 @@ | |||
| AUX example-config.yaml 16358 BLAKE2B 8398daaa7ba496f52e1cab6c39ca3db278640cca207c24d13aab7106fc2b8c1e78b2bbc2689faf2daa13e7e5094f30006dc4d1340117d8fa1963a37ace079279 SHA512 882168dc62d8e45310c31b60424e2401b4f777e90012cbafda68af0d86c09e51ea864ad6dc28a400d18d83e33d8ca97841c4f75ec17192c705662830b6751427 | ||||
| AUX mautrix-signal.service 752 BLAKE2B a6ede48e7e59ce5d845b14346a417673833e8dec6a764f5ada951d10e39a7412beed5663746bc47dcaefcab9a9521fb02e516f828cad252b508e56ae992e13e3 SHA512 2d9fa8ad00cc5b607668789e5493475ad012bc62b9928ecbdbd19738dee6ccc7d98b8558f1e624764cd76b134cea126430cf3f682efa019a0a4cce7007276db2 | ||||
| DIST mautrix-signal-bin-0.5.1 33327672 BLAKE2B ac4bea98b1a20b1b22429c4452356623576c11779ce6d1ad3d5977c7e0314efee4cdc4d74611e8b0113d23545007686bbf4d1e305e5af130f14383fb638cfe7b SHA512 4a7cc89eff8181acb009f2afa205035894662b963672199e5a4d8f1ef780417082ca6bdb00a589307af9cce6013add8afce3892e8db1249cf0576a1e9322a5c7 | ||||
| EBUILD mautrix-signal-bin-0.5.1.ebuild 957 BLAKE2B aa244a4cf5b2a7d9c2257e65062ba2f216c2e4835e0c4ae1aa59d9ccd5eb6d3154a4387a1a09fc17c67014139cdae142dbdb4820f57960cef30f741090d03e06 SHA512 44da268748299688e8a3ebfc5255c1d1ea0b39a4a85e0583f0492367794e2268d810c77529cdc072cbea82f54a55a61e119d8b3313453b6aaa58810b532a533f | ||||
| AUX example-config.yaml 26191 BLAKE2B 83444eb498c1373b2e714ad6236bd915ab61e7ef52522765e2ea015eaa27ba5fc81feb260384b932867c6ff7ab99e7d282b6cf288fdd0abb0b9e1586b9ba49bb SHA512 eabc490b6da792ec2731e604501f261732c704bdf98759db4c60f7b405a51f15338e41bebb782684b2d198b43f9864d5b1c51a8d499fce71a390cc1268a78bb9 | ||||
| AUX mautrix-whatsapp.service 754 BLAKE2B c3210c8b944dfa7e49f9a4ddb945beeac388c3f69e357f1e01e0842ce157a1af9b00826095c8961e1d1c768b48eac2c0a8c6cd62161b2128ee537677dec0b44f SHA512 3ba7dd21e2ff5e35bf47a30cc62419f726aaeaf512d2e50b79fd7c7521a3b1b29836925897e3a55006f8bbbf44329279eb4201267aebbb21508633fc984575cb | ||||
| DIST mautrix-whatsapp-bin-0.10.7 24497264 BLAKE2B a44f96a03510f7797f31c1ad5846944c154c297920e5a850794b1b5ba966d752eab0ce107af9d0a46970304f1782a959954ab98b5ce2f0926734ac6c71bd1e89 SHA512 bb175935336960e01072be22817196308fd770be0c972eccb2ca724c3cb18c9517bec69dccdd1e4500066b6ddb4b2318d23bae8b7faf88319b679dad3c8fb8be | ||||
| EBUILD mautrix-whatsapp-bin-0.10.7.ebuild 1100 BLAKE2B 36a2a7fcf70d0b4345efecf0cc69b118a31689ea5f384d0fe6e0e74845e37399f92b45ab081da62c29ce3326036b4b28cd11d576eeecea8fcadc76fa35595243 SHA512 6124408ff9f599e1603ba19f9e05662f535bd2a4d482615e12d2487458fe915ee0bda5947b6092c3ce57e6c25730b790767ee568957c33adb5d7e3b06a178e9b | ||||
| MISC metadata.xml 327 BLAKE2B b43501e0f83e76c07376c8ecbbeef40b1edb5541df3863b1d707378b357781e37d73a11bb47ba3e5f4a44ded424900342bc9a9ad5b1e2636a554bcdbbd96c755 SHA512 9974cd49059b27751c44655b90c20b0197e91f2aa42af2a45c4f40023cf23163c2aa8df6fe98e8090f4f92576383da50d7fb2035ea33b8b61cecf671d96af3f1 | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ homeserver: | |||
|     # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here. | ||||
|     software: standard | ||||
|     # The URL to push real-time bridge status to. | ||||
|     # If set, the bridge will make POST requests to this URL whenever a user's Signal connection state changes. | ||||
|     # If set, the bridge will make POST requests to this URL whenever a user's whatsapp connection state changes. | ||||
|     # The bridge will use the appservice as_token to authorize requests. | ||||
|     status_endpoint: null | ||||
|     # Endpoint for reporting per-message status. | ||||
|  | @ -28,11 +28,11 @@ homeserver: | |||
| # Changing these values requires regeneration of the registration. | ||||
| appservice: | ||||
|     # The address that the homeserver can use to connect to this appservice. | ||||
|     address: http://localhost:29328 | ||||
|     address: http://localhost:29318 | ||||
| 
 | ||||
|     # The hostname and port where this appservice should listen. | ||||
|     hostname: 0.0.0.0 | ||||
|     port: 29328 | ||||
|     port: 29318 | ||||
| 
 | ||||
|     # Database config. | ||||
|     database: | ||||
|  | @ -53,15 +53,15 @@ appservice: | |||
|         max_conn_lifetime: null | ||||
| 
 | ||||
|     # The unique ID of this appservice. | ||||
|     id: signal | ||||
|     id: whatsapp | ||||
|     # Appservice bot details. | ||||
|     bot: | ||||
|         # Username of the appservice bot. | ||||
|         username: signalbot | ||||
|         username: whatsappbot | ||||
|         # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty | ||||
|         # to leave display name/avatar as-is. | ||||
|         displayname: Signal bridge bot | ||||
|         avatar: mxc://maunium.net/wPJgTQbZOtpBFmDNkiNEMDUp | ||||
|         displayname: WhatsApp bridge bot | ||||
|         avatar: mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr | ||||
| 
 | ||||
|     # Whether or not to receive ephemeral events via appservice transactions. | ||||
|     # Requires MSC2409 support (i.e. Synapse 1.22+). | ||||
|  | @ -76,72 +76,169 @@ appservice: | |||
|     as_token: "This value is generated when generating the registration" | ||||
|     hs_token: "This value is generated when generating the registration" | ||||
| 
 | ||||
| # Segment-compatible analytics endpoint for tracking some events, like provisioning API login and encryption errors. | ||||
| analytics: | ||||
|     # Hostname of the tracking server. The path is hardcoded to /v1/track | ||||
|     host: api.segment.io | ||||
|     # API key to send with tracking requests. Tracking is disabled if this is null. | ||||
|     token: null | ||||
|     # Optional user ID for tracking events. If null, defaults to using Matrix user ID. | ||||
|     user_id: null | ||||
| 
 | ||||
| # Prometheus config. | ||||
| metrics: | ||||
|     # Enable prometheus metrics? | ||||
|     enabled: false | ||||
|     # IP and port where the metrics listener should be. The path is always /metrics | ||||
|     listen: 127.0.0.1:8000 | ||||
|     listen: 127.0.0.1:8001 | ||||
| 
 | ||||
| signal: | ||||
|     # Default device name that shows up in the Signal app. | ||||
|     device_name: mautrix-signal | ||||
| # Config for things that are directly sent to WhatsApp. | ||||
| whatsapp: | ||||
|     # Device name that's shown in the "WhatsApp Web" section in the mobile app. | ||||
|     os_name: Mautrix-WhatsApp bridge | ||||
|     # Browser name that determines the logo shown in the mobile app. | ||||
|     # Must be "unknown" for a generic icon or a valid browser name if you want a specific icon. | ||||
|     # List of valid browser names: https://github.com/tulir/whatsmeow/blob/efc632c008604016ddde63bfcfca8de4e5304da9/binary/proto/def.proto#L43-L64 | ||||
|     browser_name: unknown | ||||
| 
 | ||||
| # Bridge config | ||||
| bridge: | ||||
|     # Localpart template of MXIDs for Signal users. | ||||
|     # {{.}} is replaced with the internal ID of the Signal user. | ||||
|     username_template: signal_{{.}} | ||||
|     # Displayname template for Signal users. This is also used as the room name in DMs if private_chat_portal_meta is enabled. | ||||
|     # {{.ProfileName}} - The Signal profile name set by the user. | ||||
|     # {{.ContactName}} - The name for the user from your phone's contact list. This is not safe on multi-user instances. | ||||
|     # {{.PhoneNumber}} - The phone number of the user. | ||||
|     # {{.UUID}} - The UUID of the Signal user. | ||||
|     # {{.AboutEmoji}} - The emoji set by the user in their profile. | ||||
|     displayname_template: '{{or .ProfileName .PhoneNumber "Unknown user"}}' | ||||
|     # Whether to explicitly set the avatar and room name for private chat portal rooms. | ||||
|     # If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms. | ||||
|     # If set to `always`, all DM rooms will have explicit names and avatars set. | ||||
|     # If set to `never`, DM rooms will never have names and avatars set. | ||||
|     private_chat_portal_meta: default | ||||
|     # Should avatars from the user's contact list be used? This is not safe on multi-user instances. | ||||
|     use_contact_avatars: false | ||||
|     # Should the bridge sync ghost user info even if profile fetching fails? This is not safe on multi-user instances. | ||||
|     use_outdated_profiles: false | ||||
|     # Should the Signal user's phone number be included in the room topic in private chat portal rooms? | ||||
|     number_in_topic: true | ||||
|     # Avatar image for the Note to Self room. | ||||
|     note_to_self_avatar: mxc://maunium.net/REBIVrqjZwmaWpssCZpBlmlL | ||||
| 
 | ||||
|     portal_message_buffer: 128 | ||||
| 
 | ||||
|     # Localpart template of MXIDs for WhatsApp users. | ||||
|     # {{.}} is replaced with the phone number of the WhatsApp user. | ||||
|     username_template: whatsapp_{{.}} | ||||
|     # Displayname template for WhatsApp users. | ||||
|     # {{.PushName}}     - nickname set by the WhatsApp user | ||||
|     # {{.BusinessName}} - validated WhatsApp business name | ||||
|     # {{.Phone}}        - phone number (international format) | ||||
|     # The following variables are also available, but will cause problems on multi-user instances: | ||||
|     # {{.FullName}}  - full name from contact list | ||||
|     # {{.FirstName}} - first name from contact list | ||||
|     displayname_template: "{{or .BusinessName .PushName .JID}} (WA)" | ||||
|     # Should the bridge create a space for each logged-in user and add bridged rooms to it? | ||||
|     # Users who logged in before turning this on should run `!signal sync-space` to create and fill the space for the first time. | ||||
|     # Users who logged in before turning this on should run `!wa sync space` to create and fill the space for the first time. | ||||
|     personal_filtering_spaces: false | ||||
|     # Should Matrix m.notice-type messages be bridged? | ||||
|     bridge_notices: true | ||||
|     # Should the bridge send a read receipt from the bridge bot when a message has been sent to Signal? | ||||
|     # Should the bridge send a read receipt from the bridge bot when a message has been sent to WhatsApp? | ||||
|     delivery_receipts: false | ||||
|     # Whether the bridge should send the message status as a custom com.beeper.message_send_status event. | ||||
|     message_status_events: false | ||||
|     # Whether the bridge should send error notices via m.notice events when a message fails to bridge. | ||||
|     message_error_notices: true | ||||
|     # Should incoming calls send a message to the Matrix room? | ||||
|     call_start_notices: true | ||||
|     # Should another user's cryptographic identity changing send a message to Matrix? | ||||
|     identity_change_notices: false | ||||
|     portal_message_buffer: 128 | ||||
|     # Settings for handling history sync payloads. | ||||
|     history_sync: | ||||
|         # Enable backfilling history sync payloads from WhatsApp? | ||||
|         backfill: true | ||||
|         # The maximum number of initial conversations that should be synced. | ||||
|         # Other conversations will be backfilled on demand when receiving a message or when initiating a direct chat. | ||||
|         max_initial_conversations: -1 | ||||
|         # Maximum number of messages to backfill in each conversation. | ||||
|         # Set to -1 to disable limit. | ||||
|         message_count: 50 | ||||
|         # Should the bridge request a full sync from the phone when logging in? | ||||
|         # This bumps the size of history syncs from 3 months to 1 year. | ||||
|         request_full_sync: false | ||||
|         # Configuration parameters that are sent to the phone along with the request full sync flag. | ||||
|         # By default (when the values are null or 0), the config isn't sent at all. | ||||
|         full_sync_config: | ||||
|             # Number of days of history to request. | ||||
|             # The limit seems to be around 3 years, but using higher values doesn't break. | ||||
|             days_limit: null | ||||
|             # This is presumably the maximum size of the transferred history sync blob, which may affect what the phone includes in the blob. | ||||
|             size_mb_limit: null | ||||
|             # This is presumably the local storage quota, which may affect what the phone includes in the history sync blob. | ||||
|             storage_quota_mb: null | ||||
|         # If this value is greater than 0, then if the conversation's last message was more than | ||||
|         # this number of hours ago, then the conversation will automatically be marked it as read. | ||||
|         # Conversations that have a last message that is less than this number of hours ago will | ||||
|         # have their unread status synced from WhatsApp. | ||||
|         unread_hours_threshold: 0 | ||||
| 
 | ||||
|         ############################################################################### | ||||
|         # The settings below are only applicable for backfilling using batch sending, # | ||||
|         # which is no longer supported in Synapse.                                    # | ||||
|         ############################################################################### | ||||
| 
 | ||||
|         # Settings for media requests. If the media expired, then it will not be on the WA servers. | ||||
|         # Media can always be requested by reacting with the ♻️ (recycle) emoji. | ||||
|         # These settings determine if the media requests should be done automatically during or after backfill. | ||||
|         media_requests: | ||||
|             # Should expired media be automatically requested from the server as part of the backfill process? | ||||
|             auto_request_media: true | ||||
|             # Whether to request the media immediately after the media message is backfilled ("immediate") | ||||
|             # or at a specific time of the day ("local_time"). | ||||
|             request_method: immediate | ||||
|             # If request_method is "local_time", what time should the requests be sent (in minutes after midnight)? | ||||
|             request_local_time: 120 | ||||
|             # Maximum number of media request responses to handle in parallel per user. | ||||
|             max_async_handle: 2 | ||||
|         # Settings for immediate backfills. These backfills should generally be small and their main purpose is | ||||
|         # to populate each of the initial chats (as configured by max_initial_conversations) with a few messages | ||||
|         # so that you can continue conversations without losing context. | ||||
|         immediate: | ||||
|             # The number of concurrent backfill workers to create for immediate backfills. | ||||
|             # Note that using more than one worker could cause the room list to jump around | ||||
|             # since there are no guarantees about the order in which the backfills will complete. | ||||
|             worker_count: 1 | ||||
|             # The maximum number of events to backfill initially. | ||||
|             max_events: 10 | ||||
|         # Settings for deferred backfills. The purpose of these backfills are to fill in the rest of | ||||
|         # the chat history that was not covered by the immediate backfills. | ||||
|         # These backfills generally should happen at a slower pace so as not to overload the homeserver. | ||||
|         # Each deferred backfill config should define a "stage" of backfill (i.e. the last week of messages). | ||||
|         # The fields are as follows: | ||||
|         # - start_days_ago: the number of days ago to start backfilling from. | ||||
|         #     To indicate the start of time, use -1. For example, for a week ago, use 7. | ||||
|         # - max_batch_events: the number of events to send per batch. | ||||
|         # - batch_delay: the number of seconds to wait before backfilling each batch. | ||||
|         deferred: | ||||
|             # Last Week | ||||
|             - start_days_ago: 7 | ||||
|               max_batch_events: 20 | ||||
|               batch_delay: 5 | ||||
|             # Last Month | ||||
|             - start_days_ago: 30 | ||||
|               max_batch_events: 50 | ||||
|               batch_delay: 10 | ||||
|             # Last 3 months | ||||
|             - start_days_ago: 90 | ||||
|               max_batch_events: 100 | ||||
|               batch_delay: 10 | ||||
|             # The start of time | ||||
|             - start_days_ago: -1 | ||||
|               max_batch_events: 500 | ||||
|               batch_delay: 10 | ||||
| 
 | ||||
|     # Should puppet avatars be fetched from the server even if an avatar is already set? | ||||
|     user_avatar_sync: true | ||||
|     # Should Matrix users leaving groups be bridged to WhatsApp? | ||||
|     bridge_matrix_leave: true | ||||
|     # Should the bridge update the m.direct account data event when double puppeting is enabled. | ||||
|     # Note that updating the m.direct event is not atomic (except with mautrix-asmux) | ||||
|     # and is therefore prone to race conditions. | ||||
|     sync_direct_chat_list: false | ||||
|     # Set this to true to tell the bridge to re-send m.bridge events to all rooms on the next run. | ||||
|     # This field will automatically be changed back to false after it, except if the config file is not writable. | ||||
|     resend_bridge_info: false | ||||
|     # Whether or not to make portals of groups that don't need approval of an admin to join by invite | ||||
|     # link publicly joinable on Matrix. | ||||
|     public_portals: false | ||||
|     # Send captions in the same message as images. This will send data compatible with both MSC2530. | ||||
|     # This is currently not supported in most clients. | ||||
|     caption_in_message: false | ||||
|     # Whether or not created rooms should have federation enabled. | ||||
|     # If false, created portal rooms will never be federated. | ||||
|     federate_rooms: true | ||||
|     # Should the bridge use MSC2867 to bridge manual "mark as unread"s from | ||||
|     # WhatsApp and set the unread status on initial backfill? | ||||
|     # This will only work on clients that support the m.marked_unread or | ||||
|     # com.famedly.marked_unread room account data. | ||||
|     sync_manual_marked_unread: true | ||||
|     # When double puppeting is enabled, users can use `!wa toggle` to change whether | ||||
|     # presence is bridged. This setting sets the default value. | ||||
|     # Existing users won't be affected when these are changed. | ||||
|     default_bridge_presence: true | ||||
|     # Send the presence as "available" to whatsapp when users start typing on a portal. | ||||
|     # This works as a workaround for homeservers that do not support presence, and allows | ||||
|     # users to see when the whatsapp user on the other side is typing during a conversation. | ||||
|     send_presence_on_typing: false | ||||
|     # Should the bridge always send "active" delivery receipts (two gray ticks on WhatsApp) | ||||
|     # even if the user isn't marked as online (e.g. when presence bridging isn't enabled)? | ||||
|     # | ||||
|     # By default, the bridge acts like WhatsApp web, which only sends active delivery | ||||
|     # receipts when it's in the foreground. | ||||
|     force_active_delivery_receipts: false | ||||
|     # Servers to always allow double puppeting from | ||||
|     double_puppet_server_map: | ||||
|         example.com: https://example.com | ||||
|  | @ -154,7 +251,70 @@ bridge: | |||
|     # manually. | ||||
|     login_shared_secret_map: | ||||
|         example.com: foobar | ||||
| 
 | ||||
|     # Whether to explicitly set the avatar and room name for private chat portal rooms. | ||||
|     # If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms. | ||||
|     # If set to `always`, all DM rooms will have explicit names and avatars set. | ||||
|     # If set to `never`, DM rooms will never have names and avatars set. | ||||
|     private_chat_portal_meta: default | ||||
|     # Should group members be synced in parallel? This makes member sync faster | ||||
|     parallel_member_sync: false | ||||
|     # Should Matrix m.notice-type messages be bridged? | ||||
|     bridge_notices: true | ||||
|     # Set this to true to tell the bridge to re-send m.bridge events to all rooms on the next run. | ||||
|     # This field will automatically be changed back to false after it, except if the config file is not writable. | ||||
|     resend_bridge_info: false | ||||
|     # When using double puppeting, should muted chats be muted in Matrix? | ||||
|     mute_bridging: false | ||||
|     # When using double puppeting, should archived chats be moved to a specific tag in Matrix? | ||||
|     # Note that WhatsApp unarchives chats when a message is received, which will also be mirrored to Matrix. | ||||
|     # This can be set to a tag (e.g. m.lowpriority), or null to disable. | ||||
|     archive_tag: null | ||||
|     # Same as above, but for pinned chats. The favorite tag is called m.favourite | ||||
|     pinned_tag: null | ||||
|     # Should mute status and tags only be bridged when the portal room is created? | ||||
|     tag_only_on_create: true | ||||
|     # Should WhatsApp status messages be bridged into a Matrix room? | ||||
|     # Disabling this won't affect already created status broadcast rooms. | ||||
|     enable_status_broadcast: true | ||||
|     # Should sending WhatsApp status messages be allowed? | ||||
|     # This can cause issues if the user has lots of contacts, so it's disabled by default. | ||||
|     disable_status_broadcast_send: true | ||||
|     # Should the status broadcast room be muted and moved into low priority by default? | ||||
|     # This is only applied when creating the room, the user can unmute it later. | ||||
|     mute_status_broadcast: true | ||||
|     # Tag to apply to the status broadcast room. | ||||
|     status_broadcast_tag: m.lowpriority | ||||
|     # Should the bridge use thumbnails from WhatsApp? | ||||
|     # They're disabled by default due to very low resolution. | ||||
|     whatsapp_thumbnail: false | ||||
|     # Allow invite permission for user. User can invite any bots to room with whatsapp | ||||
|     # users (private chat and groups) | ||||
|     allow_user_invite: false | ||||
|     # Whether or not created rooms should have federation enabled. | ||||
|     # If false, created portal rooms will never be federated. | ||||
|     federate_rooms: true | ||||
|     # Should the bridge never send alerts to the bridge management room? | ||||
|     # These are mostly things like the user being logged out. | ||||
|     disable_bridge_alerts: false | ||||
|     # Should the bridge stop if the WhatsApp server says another user connected with the same session? | ||||
|     # This is only safe on single-user bridges. | ||||
|     crash_on_stream_replaced: false | ||||
|     # Should the bridge detect URLs in outgoing messages, ask the homeserver to generate a preview, | ||||
|     # and send it to WhatsApp? URL previews can always be sent using the `com.beeper.linkpreviews` | ||||
|     # key in the event content even if this is disabled. | ||||
|     url_previews: false | ||||
|     # Send captions in the same message as images. This will send data compatible with both MSC2530 and MSC3552. | ||||
|     # This is currently not supported in most clients. | ||||
|     caption_in_message: false | ||||
|     # Send galleries as a single event? This is not an MSC (yet). | ||||
|     beeper_galleries: false | ||||
|     # Should polls be sent using MSC3381 event types? | ||||
|     extev_polls: false | ||||
|     # Should cross-chat replies from WhatsApp be bridged? Most servers and clients don't support this. | ||||
|     cross_room_replies: false | ||||
|     # Disable generating reply fallbacks? Some extremely bad clients still rely on them, | ||||
|     # but they're being phased out and will be completely removed in the future. | ||||
|     disable_reply_fallbacks: false | ||||
|     # Maximum time for handling Matrix events. Duration strings formatted for https://pkg.go.dev/time#ParseDuration | ||||
|     # Null means there's no enforced timeout. | ||||
|     message_handling_timeout: | ||||
|  | @ -167,12 +327,13 @@ bridge: | |||
|         deadline: 120s | ||||
| 
 | ||||
|     # The prefix for commands. Only required in non-management rooms. | ||||
|     command_prefix: '!signal' | ||||
|     command_prefix: "!wa" | ||||
| 
 | ||||
|     # Messages sent upon joining a management room. | ||||
|     # Markdown is supported. The defaults are listed below. | ||||
|     management_room_text: | ||||
|         # Sent when joining a room. | ||||
|         welcome: "Hello, I'm a Signal bridge bot." | ||||
|         welcome: "Hello, I'm a WhatsApp bridge bot." | ||||
|         # Sent when joining a management room and the user is already logged in. | ||||
|         welcome_connected: "Use `help` for help." | ||||
|         # Sent when joining a management room and the user is not logged in. | ||||
|  | @ -196,6 +357,8 @@ bridge: | |||
|         # Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled. | ||||
|         # You must use a client that supports requesting keys from other users to use this feature. | ||||
|         allow_key_sharing: false | ||||
|         # Should users mentions be in the event wire content to enable the server to send push notifications? | ||||
|         plaintext_mentions: false | ||||
|         # Options for deleting megolm sessions from the bridge. | ||||
|         delete_keys: | ||||
|             # Beeper-specific: delete outbound sessions when hungryserv confirms | ||||
|  | @ -228,7 +391,7 @@ bridge: | |||
|         #   verified - Require manual per-device verification | ||||
|         #              (currently only possible by modifying the `trust` column in the `crypto_device` database table). | ||||
|         verification_levels: | ||||
|             # Minimum level for which the bridge should send keys to when bridging messages from Signal to Matrix. | ||||
|             # Minimum level for which the bridge should send keys to when bridging messages from WhatsApp to Matrix. | ||||
|             receive: unverified | ||||
|             # Minimum level that the bridge should accept for incoming Matrix messages. | ||||
|             send: unverified | ||||
|  | @ -269,7 +432,7 @@ bridge: | |||
|     # Permissions for using the bridge. | ||||
|     # Permitted values: | ||||
|     #    relay - Talk through the relaybot (if enabled), no access otherwise | ||||
|     #     user - Access to use the bridge to chat with a Signal account. | ||||
|     #     user - Access to use the bridge to chat with a WhatsApp account. | ||||
|     #    admin - User level and some additional administration tools | ||||
|     # Permitted keys: | ||||
|     #        * - All Matrix users | ||||
|  | @ -282,12 +445,12 @@ bridge: | |||
| 
 | ||||
|     # Settings for relay mode | ||||
|     relay: | ||||
|         # Whether relay mode should be allowed. If allowed, `!signal set-relay` can be used to turn any | ||||
|         # Whether relay mode should be allowed. If allowed, `!wa set-relay` can be used to turn any | ||||
|         # authenticated user into a relaybot for that chat. | ||||
|         enabled: false | ||||
|         # Should only admins be allowed to set themselves as relay users? | ||||
|         admin_only: true | ||||
|         # The formats to use when sending messages to Signal via the relaybot. | ||||
|         # The formats to use when sending messages to WhatsApp via the relaybot. | ||||
|         message_formats: | ||||
|             m.text: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}" | ||||
|             m.notice: "<b>{{ .Sender.Displayname }}</b>: {{ .Message }}" | ||||
|  | @ -306,7 +469,7 @@ logging: | |||
|       format: pretty-colored | ||||
|     - type: file | ||||
|       format: json | ||||
|       filename: ./logs/mautrix-signal.log | ||||
|       filename: ./logs/mautrix-whatsapp.log | ||||
|       max_size: 100 | ||||
|       max_backups: 10 | ||||
|       compress: true | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| [Unit] | ||||
| Description=mautrix-signal bridge | ||||
| Description=mautrix-whatsapp bridge | ||||
| 
 | ||||
| [Service] | ||||
| Type=exec | ||||
|  |  | |||
|  | @ -8,12 +8,16 @@ DESCRIPTION="A Matrix-WhatsApp puppeting bridge." | |||
| HOMEPAGE="https://docs.mau.fi/bridges/go/whatsapp/index.html" | ||||
| SRC_URI="https://github.com/mautrix/whatsapp/releases/download/v${PV}/mautrix-whatsapp-amd64 -> ${P}" | ||||
| 
 | ||||
| IUSE="postgres" | ||||
| 
 | ||||
| LICENSE="AGPL-3" | ||||
| SLOT="0" | ||||
| KEYWORDS="~amd64" | ||||
| 
 | ||||
| DEPEND="acct-user/mautrix-whatsapp-bin" | ||||
| RDEPEND="${DEPEND}" | ||||
| RDEPEND="${DEPEND} | ||||
|     postgres? ( >=dev-db/postgresql-10 ) | ||||
|     !postgres? ( dev-db/sqlite )" | ||||
| 
 | ||||
| S="${WORKDIR}" | ||||
| 
 | ||||
|  | @ -30,11 +34,11 @@ src_install() { | |||
| 	doexe mautrix-whatsapp | ||||
| 
 | ||||
| 	insinto /opt/mautrix-whatsapp | ||||
| 	doins "${FILESDIR}/example-config.yaml" | ||||
| 	newins "${FILESDIR}/example-config.yaml" config.yaml | ||||
| 
 | ||||
| 	systemd_dounit "${FILESDIR}"/mautrix-whatsapp.service | ||||
| 
 | ||||
| 	fowners mautrix-whatsapp-bin:mautrix-whatsapp-bin /opt/mautrix-whatsapp/mautrix-whatsapp | ||||
| 	fowners mautrix-whatsapp-bin:mautrix-whatsapp-bin /opt/mautrix-whatsapp/example-config.yaml | ||||
| 	fperms 0640 /opt/mautrix-whatsapp/example-config.yaml | ||||
| #	fowners mautrix-whatsapp-bin:mautrix-whatsapp-bin /opt/mautrix-whatsapp/mautrix-whatsapp | ||||
| #	fowners mautrix-whatsapp-bin:mautrix-whatsapp-bin /opt/mautrix-whatsapp/example-config.yaml | ||||
| #	fperms 0640 /opt/mautrix-whatsapp/example-config.yaml | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue