{"id":13547824,"url":"https://github.com/matrix-org/purple-matrix","last_synced_at":"2025-04-07T17:10:20.190Z","repository":{"id":49142776,"uuid":"44187837","full_name":"matrix-org/purple-matrix","owner":"matrix-org","description":"Libpurple protocol plugin for matrix ","archived":false,"fork":false,"pushed_at":"2023-04-24T10:25:00.000Z","size":371,"stargazers_count":222,"open_issues_count":39,"forks_count":47,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-03-31T14:14:28.975Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matrix-org.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst"}},"created_at":"2015-10-13T15:57:05.000Z","updated_at":"2025-02-22T15:55:30.000Z","dependencies_parsed_at":"2024-01-19T06:09:14.024Z","dependency_job_id":"c5873c98-f8e3-453a-9655-0a250a59c422","html_url":"https://github.com/matrix-org/purple-matrix","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-org%2Fpurple-matrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-org%2Fpurple-matrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-org%2Fpurple-matrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matrix-org%2Fpurple-matrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matrix-org","download_url":"https://codeload.github.com/matrix-org/purple-matrix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694876,"owners_count":20980733,"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":[],"created_at":"2024-08-01T12:01:01.556Z","updated_at":"2025-04-07T17:10:20.162Z","avatar_url":"https://github.com/matrix-org.png","language":"C","funding_links":[],"categories":["C","others"],"sub_categories":[],"readme":"# purple-matrix [![#purple on matrix.org](https://img.shields.io/matrix/purple:matrix.org.svg?label=%23purple%3Amatrix.org\u0026logo=matrix\u0026server_fqdn=matrix.org)](https://matrix.to/#/#purple:matrix.org)\n\nThis project is a plugin for\n[libpurple](https://developer.pidgin.im/wiki/WhatIsLibpurple) which adds the\nability to communicate with [matrix.org](http://matrix.org) homeservers to any\nlibpurple-based clients (such as [Pidgin](http://www.pidgin.im)).\n\nIf you want to bridge the other way, using a matrix client to communicate with\nany backend supported by libpurple, see [matrix-bifröst](https://github.com/matrix-org/matrix-bifrost).\n\n# Update 2022/04/11\n\nThis project is essentially unmaintained. It may still work for you, in which case\ngood luck to you; however, it lacks many important features that are critical to a\nmodern Matrix client (not least of which is [end-to-end encryption support](https://github.com/matrix-org/purple-matrix/issues/18)).\n\n# Status\n\nThis project is somewhat alpha, and only basic functionality has been\nimplemented. Sending and receiving simple text messages is supported, as is\njoining rooms you are invited to by other users.\n\nThe following are not yet supported:\n * Creating new rooms (and one-to-one chats)\n * Presence indication\n * Typing indication\n * Videos/rich text in messages\n * Account registration\n * Room topics\n * Voice/video calling\n\nThe following are in progress:\n * End-To-End encryption via Olm ([ticket](https://github.com/matrix-org/purple-matrix/issues/18))\n   * [Decyption is supported but not encryption](https://github.com/matrix-org/purple-matrix/issues/18#issuecomment-410336278)\n\nThe plugin requires a matrix homeserver supporting client-server API r0.0.0 Synapse\nv0.12.0-rc1 or later is sufficient.\n\n# Installation\n\nPre-built binaries are available for Ubuntu since version 17.04 (Zesty Zapus).\nYou should be able to install them giving the following commands in a terminal\nwindow:\n\n```\nsudo apt update\nsudo apt install purple-matrix\n```\n\nFor other GNU/Linux systems the plugin needs to be built\nfrom source.\n\nYou will need development headers/libraries for the following:\n* libpurple 2.x [libpurple-dev]\n* libjson-glib  [libjson-glib-dev]\n* libglib [libglib-dev (or libglib2.0-dev on Ubuntu 16.04 xenial)]\n* libhttp_parser [libhttp-parser-dev].\n* sqlite3 [libsqlite3-dev]\n* libolm [libolm-dev] (if not available, compile with `make MATRIX_NO_E2E=1`)\n* libgcrypt [libgcrypt20-dev] (if not available, compile with `make MATRIX_NO_E2E=1`)\n\nYou should then be able to:\n\n```\nmake\nsudo make install\n```\n\nIf you do not have root access, you can simply copy `libmatrix.so` into\n`~/.purple/plugins`.\n\nYou will then need to restart Pidgin, after which you should be able to add a\n'Matrix' account.\n\n## Building on Windows\n\nSet up a build environment using\n[the Pidgin BuildingWinPidgin docs](https://developer.pidgin.im/wiki/BuildingWinPidgin)\n\nYou should then be able to:\n```\nmake -f Makefile.mingw\nmake -f Makefile.mingw install\n```\n\nYou will then need to restart Pidgin, after which you should be able to add a\n'Matrix' account.\n\n\n# Usage\n\n* Open the 'Manage accounts' dialog (under the 'Accounts' menu) and click\n  'Add'.\n* If the plugin was loaded successfully, you will be able to select 'Matrix'\n  from the 'Protocol' dropdown.\n* Enter your matrix ID on the homeserver (e.g. '@bob:matrix.org' or 'bob') as\n  the 'username', and the password in the 'password' field.\n  * If you don't enter your password, you'll be prompted for it when you try\n    to connect;  this won't get saved unless you click 'save password' but an\n    access token is stored instead.\n* On the 'Advanced' tab, enter the URL of your homeserver.\n\n\nThe Advanced account option 'On reconnect, skip messages which were received in\na previous session' is disabled by default. This means that pidgin will show\nthe last few messages for each room each time it starts.  If this option is\nenabled, only new messages will be shown.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrix-org%2Fpurple-matrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatrix-org%2Fpurple-matrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrix-org%2Fpurple-matrix/lists"}