# matrix-client-for-thynode **Repository Path**: linkel/matrix-client-for-thynode ## Basic Information - **Project Name**: matrix-client-for-thynode - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-10-12 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简单Matrix Client 直接使用matrix-js-sdk与Synapse server交互, 用于对matrix的学习与相关实验 ### 本地docker容器运行Matrix Synapse服务 #### 下载镜像 ```bash docker pull matrixdotorg/synapse:latest ``` #### 生成配置文件 ```bash docker run -it rm \ --user 1001:1001 \ --mount type=volume,src=synapse-data,dst=/data \ -e SYNAPSE_SERVER_NAME=my.matrix.host \ -e SYNAPSE_REPORT_STATS=yes \ -e UID=1001 \ -e GID=1001 \ matrixdotorg/synapse:latest generate ``` > Note: > 1. uid与gid为运行上述命令时的用户要匹配; > 2. 当前用户需有volume挂载路径的读写权限 #### 修改配置文件 默认位于/var/lib/docker/volumes/synapse-data/_data/homeserver.yaml - 将enable_registration值修改为true以允许注册新账户: ```yaml enable_registration: true ``` + 将消息发送、注册、登录的请求速率限制适当调大: ```yaml rc_message: per_second: 100 burst_count: 1000 rc_registration: per_second: 999 burst_count: 10000 rc_login: address: per_second: 999 burst_count: 10000 account: per_second: 999 burst_count: 10000 failed_attempts: per_second: 999 burst_count: 10000 ``` > Note: 配置文件中只能调整上述请求的速率限制,不能调整其他请求(如join、upload、download等)的速率限制,因此写相关测试代码时需注意批量请求时尽量不要使用Promise.all(),可使用for...await...循环 #### 运行服务 ```bash docker run -d \ --user 1001:1001 \ --name synapse \ --mount type=volume,src=synapse-data,dst=/data \ -p 8008:8008 \ -e UID=1001 \ -e GID=1001 \ matrixdotorg/synapse:latest ``` > Note: uid与gid为运行上述命令时的用户uid与gid ### 运行测试用例 `yarn test`