一个由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外壳)
-
设置一个外壳变量,以您要发布的版本为值(这只是为了使后续步骤更容易)
version=X.Y.Z
-
更新
setup.cfg
,以便version
是正确的。 -
暂存更改的文件并提交。
git add -u git commit -m v$version -n
-
推送您的更改。
git push
-
准备就绪时,为发布创建一个签名标签
git tag -s v$version
基于更改日志创建标签消息。
-
推送标签。
git push origin tag v$version
-
根据您刚刚推送的标签,在GitHub或GitLab上创建一个发布。
-
创建源分布并将其上传到PyPI
python -m build twine upload dist/matrix_content_scanner-$version*
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
哈希值 for matrix_content_scanner-1.1.0-cp311-cp311-manylinux_2_38_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 65ad9a6c5a562bbdeb7ff9aa3a1e26004ff367e1d61adbcd62fe0439bf79c6fe |
|
MD5 | a4451bca0f6afb9705d9c45701ad5c5d |
|
BLAKE2b-256 | d05d10f1a801ba2f9b0aac41b5516c70ac7ff028ea512453f1e7481c784123c3 |