{"id":13583536,"url":"https://github.com/matrix-hacks/matrix-puppet-imessage","last_synced_at":"2026-01-16T19:23:10.231Z","repository":{"id":67550140,"uuid":"75473360","full_name":"matrix-hacks/matrix-puppet-imessage","owner":"matrix-hacks","description":"A two-way puppeted Matrix bridge for Apple iMessage / Messages","archived":false,"fork":false,"pushed_at":"2020-08-25T20:01:26.000Z","size":377,"stargazers_count":157,"open_issues_count":19,"forks_count":23,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-02T02:49:27.877Z","etag":null,"topics":["bridge","imessage","matrix"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matrix-hacks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-03T12:50:53.000Z","updated_at":"2025-01-11T04:36:55.000Z","dependencies_parsed_at":"2023-05-18T17:00:40.494Z","dependency_job_id":null,"html_url":"https://github.com/matrix-hacks/matrix-puppet-imessage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-hacks%2Fmatrix-puppet-imessage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-hacks%2Fmatrix-puppet-imessage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-hacks%2Fmatrix-puppet-imessage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-hacks%2Fmatrix-puppet-imessage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matrix-hacks","download_url":"https://codeload.github.com/matrix-hacks/matrix-puppet-imessage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247555817,"owners_count":20957843,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bridge","imessage","matrix"],"created_at":"2024-08-01T15:03:33.989Z","updated_at":"2026-01-16T19:23:10.205Z","avatar_url":"https://github.com/matrix-hacks.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Bridges"],"sub_categories":["iMessage"],"readme":"# matrix-puppet-imessage [![#matrix-puppet-bridge:matrix.org](https://img.shields.io/matrix/matrix-puppet-bridge:matrix.org.svg?label=%23matrix-puppet-bridge%3Amatrix.org\u0026logo=matrix\u0026server_fqdn=matrix.org)](https://matrix.to/#/#matrix-puppet-bridge:matrix.org)\n\nThis is a Matrix bridge for Apple iMessage\n\n## requirements\n\nYou need a Mac with a functional Messages.app, already authenticated.\n\nThe bridge uses applescripts for outbound messages and watches `~/Library/Containers/com.apple.iChat/Data/Library/Messages/Archive` for incoming messages, parsed with [ichat2json](https://github.com/kfatehi/ichat2json).\n\n## installation\n\nclone this repo\n\ncd into the directory\n\nrun `npm install`\n\n### special for macOS Mojave and later\n\nSince Mojave the System Integrity Protection (SIP) prevents ichat2json from reading incoming messages.\nThere are two options: \n### a) Allow access for ichat2json (recommeded)\nGo to \"System settings\" -\u003e \"Data protection\" -\u003e \"Full disk access\" and add `ichat2json` from `matrix-puppet-imagessage/bin/`\n### b) Disable SIP (not recommended)\nBoot to recovery using CMD+R, open terminal, type `csrutil disable` and reboot.\n\n## configure\n\nCopy `config.sample.json` to `config.json` and update it to match your setup\n\n## register the app service\n\nGenerate an `imessage-registration.yaml` file with `node index.js -r -u \"http://your-bridge-server:8090\"`\n\nNote: The 'registration' setting in the config.json needs to set to the path of this file. By default, it already is.\n\nCopy this `imessage-registration.yaml` file to your home server, then edit it, setting its url to point to your bridge server. e.g. `url: 'http://your-bridge-server.example.org:8090'`\n\nEdit your homeserver.yaml file and update the `app_service_config_files` with the path to the `imessage-registration.yaml` file.\n\nLaunch the bridge with ```node index.js```.\n\nRestart your HS.\n\n## Discussion, Help and Support\n\nJoin us in the [![Matrix Puppet Bridge](https://user-images.githubusercontent.com/13843293/52007839-4b2f6580-24c7-11e9-9a6c-14d8fc0d0737.png)](https://matrix.to/#/#matrix-puppet-bridge:matrix.org) room\n\n# TODO\n* Be able to originate conversations from the Matrix side.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrix-hacks%2Fmatrix-puppet-imessage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatrix-hacks%2Fmatrix-puppet-imessage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrix-hacks%2Fmatrix-puppet-imessage/lists"}