# 載入來源歷史紀錄

Canonical page: https://phishdestroy.github.io/TgWitness/zh-Hant/docs/reference/history/

從已啟用的來源載入過往訊息、暫停與恢復操作，並驗證經簽署的進度報告。

**當前主要版本：**可從原始碼取得；未包含在 0.7.0 便攜版預覽中。

在「**來源**」中，檢視已啟用的聊天室、開始監測，然後選擇「**載入完整 歷史紀錄**」。此執行程序會固定該來源清單，並將其可用的過往訊息 讀入「聊天室」及經簽名的監測日誌中。媒體檔案會使用現有的附件 設定及持久性下載佇列。此功能與每則聊天室的經簽名 JSON/HTML 匯出功能是分開的。

若要進行全帳戶範圍的資料蒐集，請選擇「**整個帳戶**」，開始監測以載入其 來源清單，並在開始歷史紀錄前檢視該清單。對話清單的限制仍 適用（預設為 1,000 筆，可在「參數」中調整）。 成功執行並不代表 每個帳戶的對話都已列入清單。事後發現或啟用的聊天室需再次執行。

## 暫停、重新開始與部分結果

- **暫停歷史紀錄**將停止讀取。**繼續歷史**紀錄將從每個來源中最後一則已提交的 訊息繼續讀取；重新啟動應用程式也會使執行狀態保持暫停，直至手動恢復。 請先重新啟動監測。恢復執行需使用相同的 Telegram 帳號。
- 訊息監測、附件處理及游標提交均於單一交易中完成。 恢復執行的任務不會重複已提交的監測結果。即時擷取或 另一項明確啟動的獨立執行任務，可獨立監測同一則訊息。
- 每個來源在首次讀取時會設定一個最高訊息 ID。較新的訊息屬於 即時監測，而不屬於該來源剩餘的歷史頁面。
- 無法存取的來源，以及在擷取過程中被停用的來源，仍會顯示為 「失敗」或「跳過」。其餘來源則會繼續運作；整體結果將不完整。
- FloodWait 會遵循已儲存的帳戶回退設定。若發生傳輸超時或磁碟空間不足， 程式將暫停執行，同時保留游標位置。解決原因後即可恢復執行。
- **結束此歷史記錄執行程序**將保留已儲存的觀察結果。此操作不會移除這些記錄，亦不會 取消已排入佇列的附件下載。新的執行程序將重新讀取已啟用的來源。

歷史記錄完成僅指歷史記錄的讀取操作。附件可能仍處於待處理狀態、 失敗，或因設定的政策而被排除。請檢查日誌中的媒體回執 及附件佇列；僅當回執已完成且位元組內容完整保留時， 才構成已儲存的附件。歷史記錄操作屬於明確的快照請求， 與用於篩選未來即時事件類別的開關設定相互獨立。

## 傳輸與驗證

儲存**已簽署的進度報告**後，請使用**「匯出證據」**功能下載 日誌及已儲存的附件。後續的證據匯出可能包含額外記錄； 該報告會將其計數器與日誌建立當下的前綴綁定。 請從此版本的可信賴版本中執行驗證器：

```
python tgwitness/verify.py tgwitness-history-report.json --evidence evidence.zip --fingerprint TRUSTED_FINGERPRINT
```

請獨立保存預期的簽名金鑰指紋。驗證者會檢查 報告簽名、證據存檔、報告檢查點、來源計畫、帳戶 以及已儲存／不可用訊息的數量。若無 `--evidence`，則僅檢查 經簽名的報告及其內部一致性。 進度階段、標題、游標及 附件摘要均為經簽名的收集器聲明，並非由本報告檢查器 獨立重建而成。證據驗證者仍會檢查歸檔的媒體位元組。

無論是否進行簽名或完成現有歷史紀錄，均無法證明訊息源自 Telegram、屬於原子級 快照，或具備歷史完整性。訊息在閱讀過程中可能發生變更；已刪除的 訊息、未被察覺的中間編輯內容以及「秘密聊天」均無法恢復。掌控簽名金鑰的 操作者可在外部承諾成立之前偽造日誌。 請使用另行保留的檢查點或獨立見證人，以驗證所記錄的 防篡改特性。

擷取游標代表本地工作區的狀態。僅還原證據 ZIP 檔案並 不會還原待處理的擷取工作或 Telegram 會話。若需繼續執行原始工作， 請保留工作區備份。
