管理
Palpo 支持通过命令行工具进行管理与审核。未来计划支持管理员 API 和 UI 界面。
启动管理交互界面
我们可以在 palpo 可执行文件所在的目录下运行以下命令启动命令行交互界面:
这里的 --config palpo.toml 指定了使用的配置文件,如果是当前文件夹下的默认配置文件 palpo.toml,则可以省略。
--server false 代表不启动服务器,--console 代表启动命令行交互界面。
可以运行 palpo --help 查看具体使用说明。
注意:在 Windows 下可执行文件名字为 palpo.exe。
进入命令行交互界面,依然可以运行 help 命令查看可用的管理命令。
命令分类
Palpo 支持以下管理命令:
appservice: 管理 Application Services(桥接)user: 管理本地用户room: 管理房间federation: 管理与其他服务器的联邦server: 管理服务器设置和操作media: 管理媒体文件
用户命令
创建用户
创建新的本地用户账户。
<username>: 新用户的用户名[password]: 可选的密码;如果未提供,将自动生成 25 个字符的密码
注意: 创建的第一个用户将自动获得管理员权限。
重置密码
重置用户密码。
<username>: 用户的用户名[password]: 新密码;如果未提供,将自动生成
列出用户
列出所有本地用户账户。
停用用户
停用单个用户账户。
<user_id>: 完整的 Matrix ID(例如@username:example.com)--no-leave-rooms: 不将用户从已加入的房间中移除
批量停用用户
从列表批量停用用户。
--no-leave-rooms: 不将用户从已加入的房间中移除--force: 同时停用管理员账户(默认跳过)
命令正文必须包含一个代码块,每行一个用户名:
列出已加入的房间
列出用户已加入的所有房间。
强制加入房间
强制本地用户加入房间。
<user_id>: 用户名或完整的 Matrix ID<room_id>: 房间 ID 或别名(例如!roomid:example.com或#alias:example.com)
强制离开房间
强制本地用户离开房间。
设为管理员
授予本地用户服务器管理员权限。
设置房间标签
为用户设置房间标签。
<tag>: 标签名称(例如m.server_notice在 Element 中显示为"系统提醒")
删除房间标签
移除房间标签。
获取房间标签
列出用户在某个房间的所有标签。
编辑事件
强制编辑本地用户发送的事件。
强制用户列表加入房间
强制用户列表中的本地用户加入房间。
命令正文必须包含一个代码块,每行一个用户名。
强制所有本地用户加入房间
强制所有本地用户加入房间。
房间命令
列出房间
列出服务器知道的所有房间。
[page]: 页码(默认:1,每页 100 个房间)--exclude-disabled: 跳过已禁用联邦的房间--exclude-banned: 跳过被封禁的房间--no-details: 仅输出房间 ID
房间是否存在
检查服务器是否知道某个房间。
列出已加入的成员
列出房间中已加入的成员。
查看房间主题
显示房间主题。
封禁房间
禁止本地用户进入房间。
<room>: 房间 ID 或别名
这将:
- 阻止本地用户加入
- 移除所有本地用户
- 阻止邀请
- 禁用与该房间的联邦
- 从房间目录中取消发布
批量封禁房间
批量封禁多个房间。
命令正文必须包含一个代码块,内含房间 ID/别名。
解除房间封禁
解除房间封禁。
列出被封禁的房间
列出所有被封禁的房间。
设置房间别名
创建房间别名。
<room_alias_localpart>: 别名名称(例如lobby而不是#lobby:example.com)--force: 如果别名已在使用中则覆盖
移除房间别名
删除房间别名。
查询别名对应的房间
查找别名指向的房间。
列出别名
列出当前的本地别名。
发布房间
将房间发布到目录。
取消发布房间
从目录中移除房间。
列出已发布的房间
列出目录中的房间。
联邦命令
禁用房间联邦
禁用房间的联邦。
启用房间联邦
重新启用房间的联邦。
获取支持 Well-Known
从服务器获取 /.well-known/matrix/support。
远程用户在哪些房间
列出与远程用户共享的房间。
媒体命令
删除单个媒体
删除媒体文件。
--mxc: MXC URL(例如mxc://example.com/abcd1234)--event-id: 包含媒体的事件 ID
批量删除媒体
批量删除 MXC URL。
命令正文必须包含一个代码块,内含 MXC URL。
删除过期远程媒体
按时间删除远程媒体。
<duration>: 时间段(例如30s、5m、7d、2w)--before: 删除在指定时间之前创建的媒体--after: 删除在指定时间之后创建的媒体--yes-i-want-to-delete-local-media: 同时删除本地媒体
获取文件信息
查找媒体文件的元数据。
服务器命令
显示配置
显示当前服务器配置。
重新加载配置
从文件重新加载配置。
列出功能
显示服务器功能及其状态。
--available: 显示所有可用功能--enabled: 仅显示已启用的功能--comma: 使用逗号分隔
管理员通知
向管理员房间发送消息。
热重载
热重载服务器。
重启服务器
重启服务器。
--force: 即使可执行文件已更改也强制重启
关闭服务器
关闭服务器。
Appservice 命令
注册 Appservice
注册桥接/appservice。
命令正文必须包含 YAML 注册信息:
注销 Appservice
注销 appservice。
显示 Appservice 配置
显示 appservice 注册信息。
列出 Appservices
列出所有已注册的 appservices。
命令输入格式
代码块格式
许多命令接受通过代码块输入:
时间格式
时间段使用以下单位:
s- 秒m- 分钟h- 小时d- 天w- 周
示例:7d 表示 7 天,2w 表示 2 周。
安全功能
- 危险操作需要确认标志(
--yes-i-want-to-do-this) - 不能停用服务器服务账户
- 不能封禁管理员房间
- 没有
--force不能覆盖别名