跳转到主要内容

一个添加端到端加密功能的Matrix代理守护进程。

项目描述

独角兽

独角兽是一个端到端加密感知的Matrix反向代理守护进程。独角兽充当一个好人中间人,为您处理加密。

消息在独角兽内部透明地加密和解密。

Pantalaimon in action

安装

在安装独角兽之前,需要安装Olm C库。

如果您的发行版提供了libolm的软件包,最好使用那些,注意需要libolm的较新版本(3.1+)。如果您的发行版没有提供软件包,则需要从源代码构建。请参阅Olm的readme了解如何从源代码构建C库。

安装独角兽与通常的python软件包类似

python setup.py install

独角兽也可以在pypi找到

pip install pantalaimon

独角兽包含一个基于dbus的UI,可以用来控制守护进程。基于dbus的UI完全是可选的,并且需要与守护进程一起安装

pip install pantalaimon[ui]

请注意,不能使用pip安装man页面。

macOS安装

例如,在macOS上,这意味着

brew install dbus
perl -pi -e's#(<auth>EXTERNAL</auth>)#<!--$1-->#' $(brew --prefix dbus)/share/dbus-1/session.conf
brew services start dbus
# it may be necessary to restart now to get the whole OS to pick up the
# existence of the dbus daemon

git clone https://gitlab.matrix.org/matrix-org/olm
(cd olm; make)
git clone https://github.com/matrix-org/pantalaimon
(cd pantalaimon; CFLAGS=-I../olm/include LDFLAGS=-L../olm/build/ python3 setup.py install)

export DBUS_SESSION_BUS_ADDRESS=unix:path=$(launchctl getenv DBUS_LAUNCHD_SESSION_BUS_SOCKET)
cd pantalaimon
DYLD_LIBRARY_PATH=../olm/build/ pantalaimon -c contrib/pantalaimon.conf

# for notification center:
git clone https://github.com/fakechris/notification-daemon-mac-py
# if you have django's `foundation` library installed and your filesystem
# is case insensitive (the default) then you will need to `pip uninstall foundation`
# or install PyObjC in a venv...
pip install PyObjC daemon glib dbus-python
cd notification-daemon-mac-py
./notify.py

Docker

可以为Pantalaimon构建实验性的Docker镜像,主要用于在机器人中使用。

docker build -t pantalaimon .
# Create a pantalaimon.conf before running. The directory mentioned in the
# volume below is for where Pantalaimon should dump some data.
docker run -it --rm -v /path/to/pantalaimon/dir:/data -p 8008:8008 pantalaimon

上述示例中的Docker镜像可以构建自任何分支或标记,无需克隆存储库,只需使用此语法即可

docker build -t pantalaimon github.com/matrix-org/pantalaimon#master

以下是一个Docker使用的示例pantalaimon.conf

[Default]
LogLevel = Debug
SSL = True

[local-matrix]
Homeserver = https://matrix.org
ListenAddress = 0.0.0.0
ListenPort = 8008
SSL = False
UseKeyring = False
IgnoreVerification = True

用法

虽然独角兽是一个守护进程,但它意味着要以与它代理的应用相同的用户运行。它不会自动验证设备,除非配置为这样做,并且需要用户交互来验证、忽略或黑名单设备。有关独角兽的更完整描述,请参阅man页面

潘塔莱蒙运行需要配置文件。配置文件指定潘塔莱蒙要连接的一个或多个 homeservers。

潘塔莱蒙的最小配置如下所示

[local-matrix]
Homeserver = https://localhost:8448
ListenAddress = localhost
ListenPort = 8009

配置文件应放在 ~/.config/pantalaimon/pantalaimon.conf

关于潘塔莱蒙配置的完整文档可以在 手册页面 pantalaimon(5) 中找到。

现在潘塔莱蒙已配置好,可以运行了

pantalaimon --log-level debug

运行守护进程后,将您的客户端配置为连接到守护进程而不是 homeserver。守护进程默认监听 localhost 和端口 8009。

请注意,登录到守护进程是启动用户同步循环的必要条件。之后,客户端可以使用登录用户的有效访问令牌连接。每个 homeserver 支持多个用户。

为了方便,提供了一个 systemd 服务文件。

为了控制守护进程,提供了一个名为 panctl 的交互式实用工具。

panctl 可用于验证、黑名单或忽略设备,导入或导出会话密钥,或检查我们与之共享加密房间的用户的设备。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

pantalaimon-0.10.5.tar.gz (45.1 kB 查看哈希)

上传时间

构建分布

pantalaimon-0.10.5-py3-none-any.whl (48.7 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面