文档 / 12
设置 Witness 机器人
让一个独立的进程检查日志,并将签名的检查点发布到您的频道中。
两台主机,两把签名密钥
托管 / 收集器账户 + 日志
Telegram 会话收集器的签名密钥
只读检查点端点← 请求签名回答 →
HOST B / WITNESS验证 + 保留
固定收集器指纹 独立见证人签名密钥
自有日志 + 机器人令牌Witness → Telegram 机器人 API →您的频道 · 带签名的 TGW1 帖子
03 / 检查点决策示例答案
最后接受时间120 条记录
head 9c7d…下一个答案128 条记录
head a4f2…已通过:计数持续增加,签名已验证,密钥匹配。该见证者保留了这一新边界。
准备一个机器人和一个频道
使用 BotFather 创建一个机器人,并允许其在您控制的频道中发布消息。为 TgWitness 选择一台计算机或服务器。与在收集者服务器上运行第二个进程相比,独立的主机和操作员能提供更强的独立性。
“扩展功能”中的三个步骤
- 仅限只读访问。打开“Extras”→ 在您的频道中添加一个机器人,生成见证令牌并保存访问文件。该文件仅允许读取检查点和系统状态,无法访问对话内容或收集器控制功能。
- 频道和间隔。输入频道名称以及可从该见证者处访问的收集器地址。保存设置文件。
- 启动。将
witness.json、witness-token.txt以及在见证主机上创建的bot-token.txt放在一起。在已安装的项目环境中运行以下命令。
python -m tgwitness.witness run --config witness.json --check-config
python -m tgwitness.witness run --config witness.json
下载文件不会启动见证程序。请确认频道中已出现第一条带签名的帖子,然后将见证程序的公钥指纹单独保存下来。
选择发布频率
每次检查结果的发布都会生成一条定期的外部记录。以五分钟为间隔计算,每个工作区每天约有 288 条发布记录。高级设置还支持在发生变更或出现问题时发布通知、使用代理以及自定义机器人 API 地址。
该机器人实际上能证明什么?
该“见证者”会向数据收集方请求一个带签名的检查点,使用预期的密钥对其进行验证,并维护一份独立的带签名日志。它不仅记录成功的验证结果,还会记录缺失的响应和被拒绝的答案。发布仍取决于“见证者”是否正在运行以及能否连接到 Telegram 的机器人 API。
该工具会检查收集器报告的日志状态,但不会独立监视每条 Telegram 消息。如需实现此功能,请添加“受控投递测试”。
稍后核查证据
请保留证人日志、频道帖子以及独立保存的指纹数据。完整的验证流程会将这些数据与收集器生成的签名导出文件进行比对。