跳转到主要内容

一个由Matrix媒体仓库托管的多媒体扫描网络服务

项目描述

Matrix内容扫描器

一个运行在Matrix媒体仓库上的多媒体扫描网络服务。

安装

此项目需要在系统上安装libmagic。在Debian/Ubuntu上

sudo apt install libmagic1

然后,最好在虚拟环境中安装Matrix内容扫描器

pip install matrix-content-scanner

用法

复制并编辑示例配置文件。此文件中记录了每个键的文档。

然后运行内容扫描器(如果创建了虚拟环境,请在虚拟环境中运行)

python -m matrix_content_scanner.mcs -c CONFIG_FILE

其中 CONFIG_FILE 是您的配置文件路径。

Docker

此项目提供了一个运行它的Docker镜像,发布为vectorim/matrix-content-scanner

要使用它,请将示例配置文件复制到专用目录中,根据您的需求进行相应编辑,然后将在镜像中将此目录挂载为/data。别忘了也要发布内容扫描器的Web服务器配置要监听的端口。

例如,假设Web服务器的端口为8080

docker run -p 8080:8080 -v /path/to/your/config/directory:/data vectorim/matrix-content-scanner

API

有关客户端如何与Matrix内容扫描器交互的信息,请参阅API文档

旧版Matrix内容扫描器迁移

因为它使用与旧版Matrix内容扫描器相同的API和Olm pickle格式,所以可以将此项目用作直接替换。唯一的变化(除了部署说明)是配置格式

  • server部分重命名为web
  • scan.tempDirectory重命名为scan.temp_directory
  • scan.baseUrl重命名为download.base_homeserver_url(且变为可选)
  • scan.doNotCacheExitCodes重命名为result_cache.exit_codes_to_ignore
  • scan.directDownload被删除。当配置文件中不存在download.base_homeserver_url时,始终会发生直接下载,并且设置它的值将始终导致从配置的服务器下载文件。
  • proxy重命名为download.proxy
  • middleware.encryptedBody.pickleKey重命名为crypto.pickle_key
  • middleware.encryptedBody.picklePath重命名为crypto.pickle_path
  • acceptedMimeType重命名为scan.allowed_mimetypes
  • requestHeader重命名为download.additional_headers并转换为字典。

请注意,加密pickle文件和密钥的格式在此项目和旧版Matrix内容扫描器之间兼容。如果该路径不存在文件,将自动创建。

开发

在已安装poetry(>=1.8.3)的虚拟环境中运行

poetry install

要运行单元测试,可以使用

tox -e py

要运行linters和mypy类型检查器,使用./scripts-dev/lint.sh

发布

发布的确切步骤可能会有所不同;但这是Synapse开发者采取的方法(假设是类Unix外壳)

  1. 设置一个外壳变量,以您要发布的版本为值(这只是为了使后续步骤更容易)

    version=X.Y.Z
    
  2. 更新setup.cfg,以便version是正确的。

  3. 暂存更改的文件并提交。

    git add -u
    git commit -m v$version -n
    
  4. 推送您的更改。

    git push
    
  5. 准备就绪时,为发布创建一个签名标签

    git tag -s v$version
    

    基于更改日志创建标签消息。

  6. 推送标签。

    git push origin tag v$version
    
  7. 根据您刚刚推送的标签,在GitHub或GitLab上创建一个发布

  8. 创建源分布并将其上传到PyPI

    python -m build
    twine upload dist/matrix_content_scanner-$version*
    

项目详情


下载文件

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

源分布

matrix_content_scanner-1.1.0.tar.gz (53.5 kB 查看哈希

上传时间

构建分布

matrix_content_scanner-1.1.0-cp311-cp311-manylinux_2_38_x86_64.whl (483.3 kB 查看哈希

上传于 CPython 3.11 manylinux: glibc 2.38+ x86-64

由以下支持