Both sides previous revisionPrevious revisionNext revision | Previous revision |
advanced:imessage_bridge [2022/12/12 11:44] – [Prerequisites] dan | advanced:imessage_bridge [2022/12/13 10:33] (current) – [Install the bridge] dan |
---|
* You have an available system running macOS Big Sur (11.x) or newer | * You have an available system running macOS Big Sur (11.x) or newer |
* Because the bridge will run on this system, it will need to be running 24x7x365 | * Because the bridge will run on this system, it will need to be running 24x7x365 |
* You’ll need to disable SIP and AMFI as described at https:%%//%%docs.mau.fi/bridges/go/imessage/mac-nosip/setup.html#disabling-sip-and-amfi | * You’ll need to disable SIP and AMFI as described at [[https://docs.mau.fi/bridges/go/imessage/mac-nosip/setup.html#disabling-sip-and-amfi]] |
* Since this disables significant security features, it’s best this macOS installation be on its own machine or VM. macOS runs well under Proxmox; see [[https://github.com/luchina-gabriel/OSX-PROXMOX]] | * Since this disables significant security features, it’s best this macOS installation be on its own machine or VM. macOS runs well under Proxmox; see [[https://github.com/luchina-gabriel/OSX-PROXMOX]] |
* You also need to be logged into iMessage on that system. | * You also need to be logged into iMessage on that system. |
====== Install the bridge ====== | ====== Install the bridge ====== |
| |
This step is done on the Mac. First, browse to https:%%//%%mau.dev/mautrix/imessage/pipelines?scope=branches&page=1. Download the latest (i.e., first on the list) build from the ''%%master%%'' branch, with the appropriate architecture. If you don’t know, download the one that says ''%%build universal:archive%%''. Unzip it. | This step is done on the Mac. First, browse to [[https://mau.dev/mautrix/imessage/pipelines?scope=branches&page=1]]. Download the latest (i.e., first on the list) build from the ''%%master%%'' branch, with the appropriate architecture. If you don’t know, download the one that says ''%%build universal:archive%%''. Unzip it. |
* Move the contents to ''%%~/src/mautrix-imessage/%%'', and rename ''%%example-config.yaml%%'' to ''%%config.yaml%%''. | * Move the contents to ''%%~/src/mautrix-imessage/%%'', and rename ''%%example-config.yaml%%'' to ''%%config.yaml%%''. |
* Edit ''%%config.yaml%%''. | * Edit ''%%config.yaml%%''. |
* In the ''%%homeserver:%%'' section, change ''%%address:%%'' to point to your Synapse server. Change ''%%websocket_proxy%%'' to ''%%ws://localhost:29331%%''. Change ''%%domain:%%'' to the domain of your Synapse server. | * In the ''%%homeserver:%%'' section, change ''%%address:%%'' to point to your Synapse server (e.g., ''%%https://matrix.example.com%%''). Change ''%%websocket_proxy%%'' to ''%%ws://localhost:29331%%''. Change ''%%domain:%%'' to the domain of your Synapse server (e.g., ''%%example.com%%''). |
* In the ''%%imessage:%%'' section, change ''%%platform:%%'' to ''%%mac-nosip%%'' and ''%%imessage_rest_path:%%'' to ''%%/Users/<you>/src/barcelona-mautrix/barcelona-mautrix%%'', where ''%%<you>%%'' is your username on the Mac. | * In the ''%%imessage:%%'' section, change ''%%platform:%%'' to ''%%mac-nosip%%'' and ''%%imessage_rest_path:%%'' to ''%%/Users/<you>/src/barcelona-mautrix/barcelona-mautrix%%'', where ''%%<you>%%'' is your username on the Mac. |
* In the ''%%bridge:%%'' section, change ''%%user:%%'' to your user. Change ''%%login_shared_secret:%%'' to the value of ''%%matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret:%%'' in your Ansible ''%%vars.yaml%%'' file. | * In the ''%%bridge:%%'' section, change ''%%user:%%'' to your user. Change ''%%login_shared_secret:%%'' to the value of ''%%matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret:%%'' in your Ansible ''%%vars.yaml%%'' file. |
====== Installing wsproxy ====== | ====== Installing wsproxy ====== |
| |
Compiled binaries for macOS aren’t available for download for wsproxy, so you’ll need to compile it yourself. To do this, first go to https:%%//%%go.dev and download (and install) Go for macOS. Then: | Compiled binaries for macOS aren’t available for download for wsproxy, so you’ll need to compile it yourself. To do this, first go to [[https://go.dev]] and download (and install) Go for macOS. Then: |
* ''%%cd ~%%'' | * ''%%cd ~%%'' |
* ''%%git clone https://github.com/mautrix/wsproxy%%'' | * ''%%git clone https://github.com/mautrix/wsproxy%%'' |
* Remove everything after the ''%%hs:%%'' line | * Remove everything after the ''%%hs:%%'' line |
| |
# Configure Synapse to register this bridge | ====== Configure Synapse to register this bridge ====== |
| |
These steps need to be taken on whatever machine you’re using to run the Ansible playbook. First, edit ''%%vars.yaml%%'', and add the following to the end: | These steps need to be taken on whatever machine you’re using to run the Ansible playbook. First, edit ''%%vars.yaml%%'', and add the following to the end: |
<code yaml> | <code yaml> |
| |
Then, at your favorite terminal: | Then, at your favorite terminal: |
* ''%%mkdir ~/Library/LaunchAgents%%'' | * ''%%mkdir ~/Library/LaunchAgents%%'' |
* ''%%cp ~/*.plist ~/Library/LaunchAgents/%%'' | * ''%%cp ~/*.plist ~/Library/LaunchAgents/%%'' |
* ''%%launchctl load mautrix-wsproxy.plist%%'' | * ''%%launchctl load mautrix-wsproxy.plist%%'' |
* ''%%launchctl load mautrix-imessage.plist%%'' | * ''%%launchctl load mautrix-imessage.plist%%'' |
| |
====== Test again ====== | ====== Test again ====== |