本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Mjolnir是一款针对Matrix协议的综合审核工具,旨在保护Matrix服务器和社区免受恶意行为侵扰。它不仅提供服务器级别的保护,还能帮助社区在不使用个人账号的情况下有效管理房间,同时支持作为Synapse模块将审核规则应用于整个家庭服务器(homeserver)。
Mjolnir已发布至Docker Hub:matrixdotorg/mjolnir,也可自行构建镜像。
# 克隆仓库 git clone [***] cd mjolnir # 创建并编辑配置文件(不建议修改数据路径) mkdir -p /etc/mjolnir/config cp config/default.yaml /etc/mjolnir/config/production.yaml nano /etc/mjolnir/config/production.yaml # 编辑配置 # 启动容器 docker run --rm -it -v /etc/mjolnir:/data matrixdotorg/mjolnir:latest
需依赖yarn和Node 14。
# 克隆仓库 git clone [***] cd mjolnir # 安装依赖并构建 yarn install yarn build # 创建并编辑配置文件(建议修改数据路径) cp config/default.yaml config/development.yaml nano config/development.yaml # 编辑配置 # 启动 node lib/index.js
机器人启动后,执行以下命令完成初始设置:
!mjolnir list create COC code-of-conduct-ban-listCOC、别名为#code-of-conduct-ban-list:example.org的封禁列表,自动邀请您加入管理房间)!mjolnir default COC!mjolnir help查看所有可用命令。要求:Synapse 1.53.0及以上版本。
该模块可将Mjolnir的审核规则应用于整个家庭服务器,主要用于阻止来自不受信任家庭服务器/用户的邀请,需手动配置。
安装模块:
将模块安装到Synapse的Python环境中:
pip install -e "git+[***]"
配置homeserver.yaml:
在配置文件中添加模块配置,示例如下:
modules: - module: mjolnir.Module config: # 阻止封禁列表中的服务器/用户发送邀请(默认true) block_invites: true # 将封禁列表中的服务器/用户发送的消息标记为垃圾信息(默认false,标记后消息显示为空) block_messages: false # 通过过滤用户ID和显示名称,从用户目录搜索中移除封禁列表中的用户(默认false) block_usernames: false # 需遵循的封禁列表房间ID(仅支持房间ID,不支持别名或永久链接;服务器需已加入这些房间) ban_lists: - "!roomid:example.org" # 消息长度限制(可选) message_max_length: # 限制消息体字符数(默认无限制,超出Synapse规范的事件大小限制除外) # threshold: 510 # 示例:限制为510字符 # 指定仅在某些房间应用长度限制(默认所有房间) # rooms: # - "!vMvyOCeCxHsggkmALd:localhost:9999" # 对来自远程服务器的消息也应用长度限制(默认仅限制本服务器消息) # remote_servers: true
重启Synapse:
修改配置后需重启Synapse使模块生效。
ban_lists中指定的房间,模块不会自动加入房间。Mjolnir 1.2及以上版本支持将滥用报告替换为房间内可读格式,无需通过管理员API获取数据,需以下两步配置:
配置Mjolnir:
在Mjolnir配置文件(通常为/etc/mjolnir/config/production.yaml)中,复制default.yaml中的web部分(1.20版本新增),并启用web和abuseReporting:
web: enabled: true port: 9000 # 配置端口 host: 0.0.0.0 # 建议设为localhost仅允许反向代理访问 abuseReporting: enabled: true
设置反向代理:
将请求重定向至Mjolnir的API端点。以Nginx为例,配置如下(参考test/nginx.conf):
location ~ ^/_matrix/client/r0/rooms/([^/]*)/report/(.*)$ { proxy_pass [***] # host为Mjolnir主机,port为配置的web端口 }
host: localhost)。若对安全性有顾虑,可禁用此功能。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429