Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetCheckMonitor

繁體中文 | English

NetCheckMonitor 圖示

NetCheckMonitor(中文名稱:對外網路連線能力監控程式)是免費、開源、無廣告的 Windows 工具。它會定時檢查電腦是否能連上外部網路,長時間記錄斷線狀況,並產生圖形化 HTML 與 PDF 報表,適合家用網路障礙報修與連線品質佐證。

目前版本:0.9.15

0.9.15 更新簡述

  • 安裝於 Program Files 等受保護目錄時,線上更新會在驗證完成後要求一次 Windows UAC 權限並自動完成替換與重新啟動。
  • UAC 更新使用安裝目錄內的可信任更新器,並再次驗證 manifest 與所有檔案雜湊。
  • 設定頁的維護按鈕改為正常字級,文字精簡為「清除全部資料」與「強制重製詳細報表」。

完整內容請參閱 0.9.15 更新說明

下載

主要功能

  • 預設每 60 秒依序測試 Microsoft、Google 與 Cloudflare HTTPS 端點。
  • 任一端點成功即判定可對外連線,降低單一網站異常造成的誤判。
  • 首次失敗會在 5 秒後快速複查,連續失敗才確認斷線;長時間斷線會自動降低複查頻率,但檢查間隔不會超過主畫面設定的週期。
  • 監控期間系統匣圖示會即時顯示狀態:正常連線為綠色、確認斷線為紅色、檢查中為橘色、暫停為灰色。
  • 主畫面即時顯示目前網卡、連線類型(有線/Wi-Fi/VPN)與 Wi-Fi 訊號百分比;網卡切換會寫入原始紀錄及報表。
  • 「設定」可在內建目標與自訂目標間二選一;自訂可輸入最多三組網站或 IP,依序測試並在第一個成功時停止。
  • 程式設定保存於執行檔旁的可攜式設定檔;監控中變更目標時會另開新工作階段,避免同一份報表混用不同測試目標。
  • 監控期間仍可開啟設定;若測試目標有變更,程式會先安全保存原工作階段與報表,再以新目標自動重新開始監控。
  • 可選擇「HTTPS 失敗時執行進階分層連線診斷」;正常連線仍只做原有輕量測試,失敗時才檢查網卡、閘道、DNS、IPv4、IPv6、HTTPS 與 Wi-Fi 訊號。此開關不改變斷線判定、時間或百分比統計。
  • 支援繁體中文與英文;首次執行時由使用者選擇,之後可在設定頁手動變更。
  • 暫停與繼續監控;暫停時段會標示,但不納入連線率與每日斷線百分比。
  • 監控中可插入帶有當下時間的事件註記,自行輸入內容或快速填入重開數據機、重開無線路由、電腦重新開機、下雨及打雷;註記會整合到 CSV、HTML 與 PDF,但不影響斷線統計。
  • 每筆結果立即寫入 UTF-8 CSV,並同步保存本機復原副本。
  • 監控中可產生即時 HTML 報表,不會中斷檢查。
  • 即時與結束 HTML 報表會累積彙整所有尚未清除的歷史 CSV;不同執行工作階段之間、程式未執行及沒有檢查紀錄的區段不納入統計。
  • 可依全部資料或指定日期下載 A4 橫式 PDF。
  • 報表包含每日斷線統計、最長/平均/最短斷線、第 95 百分位與最高延遲、平均延遲變動及 24 小時時間軸。
  • 監控狀態會持久保存;程式當機或 Windows 重新開機後可接續原 CSV,未執行區段會標示並排除統計。
  • 設定可分別選擇「登入 Windows 後自動啟動程式」與「程式啟動後自動開始監控」。兩項同時啟用且由 Windows 登入自動啟動時,若有未完成工作階段會免確認直接接續並開始監控;手動啟動程式時仍會詢問是否接續。
  • 啟動時會檢查 NetCheckMonitor 是否已在執行;重複開啟不會建立第二份監控,而會顯示既有視窗。
  • Google Drive 每日定時備份完整 PDF 與原始 CSV 至 Net_Check/電腦名稱 資料夾,方便多台電腦共用同一個 Drive。
  • 可選擇登入自己的 Gmail,每日把 PDF 與 CSV 報表寄給該登入帳戶,並在確認斷線後恢復連線時寄送通知;另提供測試郵件。寄件者與收件者固定為同一登入帳戶,不能寄給其他地址。
  • 啟用定時測速且當日有測速紀錄時,Drive 備份與 Gmail 日報會一併包含當日測速 HTML 報表及測速原始 CSV;沒有測速紀錄時仍正常處理原有網路監控報表。
  • Gmail 寄送與 Google Drive 備份的成功、失敗及略過結果會寫入獨立的 Delivery CSV,方便後續追蹤排程、重試與錯誤原因。
  • 設定可選擇監控期間防止 Windows 進入休眠,並可另外選擇阻止關機或重新啟動;關機保護啟用時需先按右下角「關閉程式並停止監控」。強制更新、斷電或硬體重置仍可能使程式中斷。
  • 按右上角 X 時縮到系統匣,首次操作會提醒應使用右下角「關閉程式並停止監控」安全結束,提醒只顯示一次。
  • 主畫面的安全關閉功能會先保存資料並建立最終報表。
  • 測速功能目前標示為 Beta,僅提供可選用的 Cloudflare 定時測速,首頁不提供手動測速按鈕;可在設定中選擇快速/標準/完整三級多串流下載與上傳測速。
  • 可選擇每 1~168 小時定時測速,預設間隔 24 小時且預設關閉;僅在監控中且未暫停時執行。計量付費、漫遊或超過流量上限的網路預設略過,開放後每次執行仍會雙重警告。
  • 測速設定頁提供獨立的速度趨勢 HTML 報表,以及 Speedtest、HiNet 官方測速連結。報表包含下載、上傳、延遲、Jitter、每日統計、測試流量與當時網路介面;不納入斷線次數、有效監控時間或斷線百分比。
  • Cloudflare 與 Speedtest 使用不同伺服器、路由及量測方法,數字不一定相同;新版會以最多八條資料流改善高速光纖被單一連線低估的情況。
  • 每次定時測速實際開始後至少間隔 15 分鐘。Cloudflare 未公開測速端點的固定速率上限;若收到 HTTP 403/429,程式預設至少暫停 60 分鐘、遵守較長的 Retry-After,連續遭拒時逐次延長,最長 24 小時。
  • 「關於」頁提供 GitHub 專案連結及「線上更新」;按一次即可下載、驗證、替換並重新啟動最新正式版本。若程式位於 Program Files 等受保護目錄,Windows 會顯示一次 UAC 系統管理員權限確認。

快速開始

  1. 下載並解壓縮可攜版。
  2. 執行 NetCheckMonitor.exe
  3. 如需改用自己的網站或 IP,或啟用失敗後的進階分層診斷,先開啟「設定」。
  4. 確認檢查間隔後按「開始監控」;開始後按鈕會反白停用,避免意外停止長時間監控。 若偵測到上次未完成的工作,程式會先詢問是否接續。
  5. 不希望某段時間列入統計時,按「暫停」;恢復時按「繼續」。
  6. 測試期間可按「查看報表」或「下載報表 PDF 文件」,不會中斷監控。
  7. 監控期間可隨時查看報表;需要結束測試時使用右下角「關閉程式並停止監控」。
  8. 如需定期測量頻寬,可由「設定」→「定時測速設定」啟用;速度趨勢報表及其他官方測速網站連結也集中在此頁。
  9. 離開程式請按右下角「關閉程式並停止監控」,讓程式停止監控並確認資料已安全保存。

完整操作方式請參閱繁體中文使用說明

Google Drive 備份

  1. 開啟「設定」→「Google Drive 備份設定」。
  2. 按「登入 Google Drive」,使用自己的 Google 帳號完成瀏覽器授權。
  3. 設定每日備份時間。

使用者不需要建立 Google Cloud 專案或下載憑證。程式使用 Desktop OAuth client ID 與 PKCE;Google 要求的已安裝應用程式憑證只在正式建置時注入,不會提交到公開原始碼。Drive 功能只要求 drive.file 權限,登入權杖由 Windows DPAPI 加密保存在目前 Windows 帳號中。

Gmail 每日報表與恢復通知

  1. 開啟「設定」→「Gmail 報表與通知設定」。
  2. 按「登入 Gmail」,登入自己的 Google 帳戶並同意 gmail.send 寄信權限。
  3. 選擇每日 PDF/CSV 報表、恢復通知與每日寄送時間,再按「儲存寄送設定」。
  4. 可按「寄送測試郵件」確認設定。郵件只能寄給登入的同一帳戶,介面不提供其他收件地址。

完全斷網時無法立即使用 Gmail;恢復通知會先以 DPAPI 加密保存在本機,確認恢復連線後寄出,暫時失敗時會依退避時間自動重試。Gmail 登入與 Google Drive 登入是獨立授權,啟用 Gmail 不會取得讀取信箱的權限。

自行製作公開發行版時,OAuth client 所屬的 Google Cloud 專案還必須啟用 Gmail API,並為敏感權限 gmail.send 完成 OAuth 驗證;開發/測試期間可先將測試帳戶加入 OAuth audience。

資料與隱私

  • 檔名格式:NetCheck_<電腦名稱>-<8碼識別碼>_yyyyMMdd_HHmmss.csv
  • 8 碼識別碼優先由 Windows MachineGuid 單向雜湊產生;原始 MachineGuid、MAC 位址與硬體序號不會寫入檔案。
  • 主要資料存放在程式旁的 NetCheck_Data;無法寫入時改存「文件」資料夾。
  • 復原副本存放在 %LOCALAPPDATA%\NetCheck\Recovery
  • 個人 CSV、HTML、PDF、Google refresh token、待寄通知與設定檔不應提交到公開儲存庫。

從原始碼建置

在 Windows PowerShell 5.1 執行:

powershell -ExecutionPolicy Bypass -File .\build.ps1

建置只使用 Windows 內建的 C# 編譯器,不需要安裝 .NET SDK。輸出位於 NetCheck-Portable,包含主程式、更新器與更新清單。執行 package-release.ps1 可建立包含自動更新必要檔案的正式 ZIP。

測試

powershell -ExecutionPolicy Bypass -File .\tests\SelfTest.ps1

完整測試會使用 Microsoft Edge 的無介面列印功能建立 PDF,並在隔離資料夾中驗證監控、暫停、報表、資料保護、雲端備份檔案及雙語介面。

作者與授權

本專案採用 MIT License

About

NetCheckMonitor monitors internet connectivity, records outages, generates visual reports, and backs up data to Google Drive.

Resources

Stars

44 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages