{ "info": { "author": "The Matrix.org Team", "author_email": "poljar@termina.org.uk", "bugtrack_url": null, "classifiers": [], "description": "pantalaimon\n===========\n\nPantalaimon is an end-to-end encryption aware Matrix reverse proxy daemon.\nPantalaimon acts as a good man in the middle that handles the encryption for you.\n\nMessages are transparently encrypted and decrypted for clients inside of\npantalaimon.\n\n![Pantalaimon in action](docs/pan.gif)\n\nInstallation\n============\n\nThe [Olm](https://gitlab.matrix.org/matrix-org/olm) C library is required to\nbe installed before installing pantalaimon.\n\nIf your distribution provides packages for libolm it is best to use those, note\nthat a recent version of libolm is required (3.1+). If your distribution doesn't\nprovide a package building from source is required. Please refer to the Olm\n[readme](https://gitlab.matrix.org/matrix-org/olm/blob/master/README.md)\nto see how to build the C library from source.\n\nInstalling pantalaimon works like usually with python packages:\n\n python setup.py install\n\nPantalaimon can also be found on pypi:\n\n pip install pantalaimon\n\nPantalaimon contains a dbus based UI that can be used to controll the daemon.\nThe dbus based UI is completely optional and needs to be installed with the\ndaemon:\n\n pip install pantalaimon[ui]\n\nDo note that man pages can't be installed with pip.\n\n### macOS installation\n\nFor instance, on macOS, this means:\n\n```bash\nbrew install dbus\nperl -pi -e's#(EXTERNAL)##' $(brew --prefix dbus)/share/dbus-1/session.conf\nbrew services start dbus\n# it may be necessary to restart now to get the whole OS to pick up the\n# existence of the dbus daemon\n\ngit clone https://gitlab.matrix.org/matrix-org/olm\n(cd olm; make)\ngit clone https://github.com/matrix-org/pantalaimon\n(cd pantalaimon; CFLAGS=-I../olm/include LDFLAGS=-L../olm/build/ python3 setup.py install)\n\nexport DBUS_SESSION_BUS_ADDRESS=unix:path=$(launchctl getenv DBUS_LAUNCHD_SESSION_BUS_SOCKET)\ncd pantalaimon\nDYLD_LIBRARY_PATH=../olm/build/ pantalaimon -c contrib/pantalaimon.conf\n\n# for notification center:\ngit clone https://github.com/fakechris/notification-daemon-mac-py\n# if you have django's `foundation` library installed and your filesystem\n# is case insensitive (the default) then you will need to `pip uninstall foundation`\n# or install PyObjC in a venv...\npip install PyObjC daemon glib dbus-python\ncd notification-daemon-mac-py\n./notify.py\n```\n\n### Docker\n\nAn experimental Docker image can be built for Pantalaimon, primarily for use in bots.\n\n```bash\ndocker build -t pantalaimon .\n# Create a pantalaimon.conf before running. The directory mentioned in the\n# volume below is for where Pantalaimon should dump some data.\ndocker run -it --rm -v /path/to/pantalaimon/dir:/data -p 8008:8008 pantalaimon\n```\n\nAn example `pantalaimon.conf` for Docker is:\n```conf\n[Default]\nLogLevel = Debug\nSSL = True\n\n[local-matrix]\nHomeserver = https://matrix.org\nListenAddress = 0.0.0.0\nListenPort = 8008\nSSL = False\nUseKeyring = False\nIgnoreVerification = True\n```\n\n### Experimental E2E search support.\n\nPantalaimon can handle the search endpoint of a Matrix server as well, providing\nsearch support for E2E encrypted rooms.\n\nFor this to work [tantivy](https://github.com/tantivy-search/tantivy) is needed.\nTantivy is a full text search engine written in rust.\n\nThe python bindings for tantivy are needed for pantalaimon. The bindings are not\nyet merged upstream, instead they can be found\n[here](https://github.com/matrix-org/tantivy/tree/topcollector_order_by/python).\n\nNote that rust nightly (tested version was: 1.36.0-nightly (50a0defd5 2019-05-21))\nand [setuptools-rust](https://pypi.org/project/setuptools-rust/) are required\nbefore the tantivy python bindings can be installed.\n\nUsage\n=====\n\nWhile pantalaimon is a daemon, it is meant to be run as your own user. It won't\nverify devices for you automatically, unless configured to do so, and requires\nuser interaction to verify, ignore or blacklist devices.\n\nPantalaimon requires a configuration file to run. The configuration file\nspecifies one or more homeservers for pantalaimon to connect to.\n\nA minimal pantalaimon configuration looks like this:\n```dosini\n[local-matrix]\nHomeserver = https://localhost:8448\nListenAddress = localhost\nListenPort = 8009\n```\n\nThe configuration file should be placed in `~/.config/pantalaimon/pantalaimon.conf`.\n\nThe full documentation for the pantalaimons configuration can be found in\nthe man page `pantalaimon(5)`.\n\nNow that pantalaimon is configured it can be run:\n\n pantalaimon --log-level debug\n\nAfter running the daemon, configure your client to connect to the daemon instead\nof your homeserver. The daemon listens by default on localhost and port 8009.\n\nNote that logging in to the daemon is required to start a sync loop for a user.\nAfter that clients can connect using any valid access token for the user that\nlogged in. Multiple users per homeserver are supported.\n\nFor convenience a systemd service file is provided.\n\nTo control the daemon an interactive utility is provided in the form of\n`panctl`.\n\n`panctl` can be used to verify, blacklist or ignore devices, import or export\nsession keys, or to introspect devices of users that we share encrypted rooms\nwith.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/matrix-org/pantalaimon", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "pantalaimon", "package_url": "https://pypi.org/project/pantalaimon/", "platform": "", "project_url": "https://pypi.org/project/pantalaimon/", "project_urls": { "Homepage": "https://github.com/matrix-org/pantalaimon" }, "release_url": "https://pypi.org/project/pantalaimon/0.3/", "requires_dist": [ "attrs", "aiohttp", "appdirs", "click", "keyring", "logbook", "peewee", "janus", "prompt-toolkit", "matrix-nio[e2e] (>=0.4.1)", "typing ; python_version < \"3.5\"", "tantivy ; extra == 'e2e_search'", "dbus-python ; extra == 'ui'", "PyGObject ; extra == 'ui'", "pydbus ; extra == 'ui'", "notify2 ; extra == 'ui'" ], "requires_python": "", "summary": "A Matrix proxy daemon that adds E2E encryption capabilities.", "version": "0.3" }, "last_serial": 5995285, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "def37692b8df7d2681d13bf99373f281", "sha256": "c6e47430e46f80d03b00007f3a03973b289302384993115106bf5214111656e9" }, "downloads": -1, "filename": "pantalaimon-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "def37692b8df7d2681d13bf99373f281", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32471, "upload_time": "2019-05-24T13:12:28", "url": "https://files.pythonhosted.org/packages/d3/3c/4450e16fa45b881fd02f719439d76b02010c0daf823adb10667cd69b2150/pantalaimon-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "414a95a8ff124a638890ac2421da01d8", "sha256": "e2762d2c2d2c460d7a92f347966db76b5fafcd650e94cadba66264aa25705eee" }, "downloads": -1, "filename": "pantalaimon-0.1.tar.gz", "has_sig": false, "md5_digest": "414a95a8ff124a638890ac2421da01d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31729, "upload_time": "2019-05-24T13:12:30", "url": "https://files.pythonhosted.org/packages/03/e7/4a233dd2b402fd984c1228a8c885f0052d9f0f486b29e2e26d5254eef916/pantalaimon-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "f55e19aeeb62b1d33fe6df5c63b38234", "sha256": "4615985e8309852a8f44f8926104f70891b71121137e7c23946af58d352e4c7b" }, "downloads": -1, "filename": "pantalaimon-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f55e19aeeb62b1d33fe6df5c63b38234", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42526, "upload_time": "2019-07-26T13:34:44", "url": "https://files.pythonhosted.org/packages/48/56/2c2c412d60935455c967ae203a62087eb4dcace2e2814c082f2340750d4c/pantalaimon-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b79509bc910507e4478886b0d55b424b", "sha256": "35690faa010ccc191ac09cb5c44b806bae4872ce98a64f1ee5b68e02e595e0d3" }, "downloads": -1, "filename": "pantalaimon-0.2.tar.gz", "has_sig": false, "md5_digest": "b79509bc910507e4478886b0d55b424b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2489529, "upload_time": "2019-07-26T13:34:51", "url": "https://files.pythonhosted.org/packages/15/4b/9f7e0021ac6867729e4555e25c72db4a6bd04b4328e817e3a5978f92f0ae/pantalaimon-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "b1ee1be7884eadc8a959480b75ffc5ed", "sha256": "ef700b1363318a440c7d0dc7bbf0420099c4348a79f93904e0f4087ff5a1597f" }, "downloads": -1, "filename": "pantalaimon-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b1ee1be7884eadc8a959480b75ffc5ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44039, "upload_time": "2019-10-18T12:01:43", "url": "https://files.pythonhosted.org/packages/b3/39/6ec397affc03402cdf5ed50d65a458d84b49eba8b9d07f6bff066ba02b8f/pantalaimon-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5f3e52cc3495fec8b0e1ef467f22bef", "sha256": "3b0c576c468343e107cd15d4a982d30a81994517321cb5a9398a2b67f2ca9408" }, "downloads": -1, "filename": "pantalaimon-0.3.tar.gz", "has_sig": false, "md5_digest": "b5f3e52cc3495fec8b0e1ef467f22bef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2491770, "upload_time": "2019-10-18T12:02:40", "url": "https://files.pythonhosted.org/packages/94/52/39ae104c768b91713eeb7ddf171fe954c831f9733135e1c7e4ff1faa0d3b/pantalaimon-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b1ee1be7884eadc8a959480b75ffc5ed", "sha256": "ef700b1363318a440c7d0dc7bbf0420099c4348a79f93904e0f4087ff5a1597f" }, "downloads": -1, "filename": "pantalaimon-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b1ee1be7884eadc8a959480b75ffc5ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44039, "upload_time": "2019-10-18T12:01:43", "url": "https://files.pythonhosted.org/packages/b3/39/6ec397affc03402cdf5ed50d65a458d84b49eba8b9d07f6bff066ba02b8f/pantalaimon-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5f3e52cc3495fec8b0e1ef467f22bef", "sha256": "3b0c576c468343e107cd15d4a982d30a81994517321cb5a9398a2b67f2ca9408" }, "downloads": -1, "filename": "pantalaimon-0.3.tar.gz", "has_sig": false, "md5_digest": "b5f3e52cc3495fec8b0e1ef467f22bef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2491770, "upload_time": "2019-10-18T12:02:40", "url": "https://files.pythonhosted.org/packages/94/52/39ae104c768b91713eeb7ddf171fe954c831f9733135e1c7e4ff1faa0d3b/pantalaimon-0.3.tar.gz" } ] }