TgWitness / 文件說明

參考資料 / 收集

載入來源歷史紀錄

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

當前主要版本:可從原始碼取得;未包含在 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 會話。若需繼續執行原始工作, 請保留工作區備份。