🚨 隱私風險:你的報告目前完全公開
- research-reports repo 是 Public — 所有 HTML 檔案任何人都能看到,包括 Google 搜尋引擎
- URL 暴露 GitHub 帳號 —
adom-near.github.io/research-reports/ 直接洩露帳號名稱
- 含有敏感內容 — 客戶保單(陳立楷)、私人錄音摘要、室友分帳等個人資料都在上面
- 已有外人拿到連結 — 兩位朋友已經拿到了 GitHub Pages 的連結
⚠️ 為什麼要現在處理?
GitHub Pages 的 Public repo 無法設定存取權限。任何知道 URL 的人(或搜尋引擎爬蟲)都能直接存取所有頁面。連結被分享出去後,你無法控制誰會看到。越晚處理,風險越大。
✅ 可公開的內容(給朋友看沒問題)
以下頁面不含敏感資訊,可以安心放在公開網站上:
🚫 應該保持私密的內容(含個人/客戶資料)
以下頁面包含敏感資訊,不應公開存取:
💡 提示
上方清單的 checkbox 可以自行勾選調整。如果你覺得某個頁面的分類不對,取消勾選後重新歸類即可。這只是建議分類,最終決定權在你。
1 在 Netlify 部署網站
你已經開始了 Netlify 的設定流程。接下來完成以下操作:
📍 操作位置
Netlify Dashboard → 你剛剛選擇的 research-reports repo 頁面
- 在 Netlify 的 Import 頁面,確認已選取 research-reports 這個 repo
- 進入 Build settings 設定頁面,所有欄位保持預設:
- Build command — 留空(我們是純 HTML,不需要建置)
- Publish directory — 留空(或填
/,代表整個 repo 根目錄)
- 點擊 Deploy site 按鈕
- 等待幾秒鐘,部署會很快完成。完成後你會看到一個自動產生的 URL,格式像:
xxx-xxx-xxx.netlify.app
- 改成好記的名字:
- 點 Site settings
- 找到 Site name 區塊
- 點 Change site name
- 輸入你想要的名字,例如
wt-reports
- 最終 URL 會變成
wt-reports.netlify.app
✅ 完成標誌
你拿到了一個 xxx.netlify.app 的 URL,記下來。
2 確認 Netlify 網站正常
部署完成後,馬上驗證網站是否正常運作:
- 打開瀏覽器,輸入 Netlify 給你的 URL(例如
wt-reports.netlify.app)
- 確認
demo.html 頁面能正常顯示 — 在 URL 後面加 /demo.html
- 隨便點幾個報告連結,確認頁面都能正常載入
- 確認 CSS 樣式有正確套用(不是純文字白底頁面)
⚠️ 如果頁面顯示 404
回到 Netlify Dashboard → Deploys 分頁,檢查部署是否成功。如果失敗,點進去看 Deploy log 找原因。最常見的問題是 Publish directory 設錯。
3 把 GitHub repo 改成 Private
這是最關鍵的一步。確認 Netlify 正常後,把 GitHub repo 的可見度從 Public 改為 Private:
🚨 注意:這會讓 GitHub Pages 立刻失效
改成 Private 後,原本的 adom-near.github.io/research-reports/ 所有連結會立即變成 404。已經拿到連結的朋友也無法存取。這正是我們要的效果。
- 打開 https://github.com/adom-near/research-reports
- 點擊頁面上方的 Settings(齒輪圖標 ⚙️)
位置:repo 頁面最右邊的 tab,在 Insights 旁邊
- 一路滑到頁面最底部,找到紅色的 Danger Zone 區塊
- 點 Change visibility 按鈕
- 選擇 Make private
- GitHub 會要求你輸入 repo 名稱來確認 — 輸入
research-reports
- 點確認按鈕
✅ 完成標誌
repo 頁面上方會出現 Private 標籤。嘗試在無痕視窗開啟 adom-near.github.io/research-reports/,應該會顯示 404。
4 確認 Netlify 仍正常運作
GitHub repo 改成 Private 後,Netlify 應該仍然可以正常部署和存取:
💡 為什麼 Netlify 不受影響?
Netlify 在你授權時已經取得了 repo 的存取權限(透過 GitHub OAuth),所以即使 repo 變成 Private,Netlify 仍然可以讀取和部署。
- 重新打開 Netlify 的 URL,確認網站仍然可以正常訪問
- 點幾個頁面確認都能載入
- 如果網站無法存取:
- 到 Netlify → Site settings → Build & deploy
- 檢查 Linked repository 是否還在
- 如果斷開了,點 Link repository 重新連結 GitHub
- 可能需要重新授權 Netlify 存取你的 Private repo
✅ 完成標誌
Netlify 網站正常、GitHub Pages 已失效。此時你的內容只能透過 Netlify URL 存取。
5 處理敏感內容
雖然 repo 已經是 Private,但 Netlify 網站仍然是公開的。你需要進一步處理那些敏感的 HTML 檔案。以下兩個方案擇一:
選項 A:用 _headers 檔案限制存取
優點:簡單快速,不用搬檔案
缺點:不是真正的存取控制,有心人仍可能繞過
- 在 repo 根目錄建立一個檔案,命名為
_redirects
- 在裡面寫入要擋掉的路徑(每行一個),讓它們導向 404:
/陳立楷_* /404.html 404
/台灣保險* /404.html 404
/投資型保單* /404.html 404
/語音轉譯* /404.html 404
/室友分帳* /404.html 404
/大東圖書館* /404.html 404
/CSR企業* /404.html 404
/網站改版* /404.html 404
/車險App* /404.html 404
/鯤航_Elementor* /404.html 404
/鯤航_LINE* /404.html 404
/鯤航_師資* /404.html 404
/鯤航_招生* /404.html 404
- commit 並 push,Netlify 會自動重新部署
- 測試:嘗試打開被擋掉的頁面,確認會顯示 404
選項 B:把敏感檔案移到另一個 private repo
優點:乾淨俐落,完全隔離
缺點:需要多一點操作時間
- 在 GitHub 建立一個新的 Private repo,例如
private-reports
- 把上面「應該保持私密」清單裡的所有 HTML 檔案搬到新 repo
- 從
research-reports 中刪除這些檔案
- commit 並 push 兩個 repo
- 私密報告以後怎麼看?
- 直接用本機瀏覽器開檔案 — 在 Finder 裡雙擊 HTML 檔案即可
- 檔案路徑:
/Users/wt/PyCharmMiscProject/研究報告網站/ 裡的對應檔案
- 不需要架設任何伺服器,瀏覽器直接開本機檔案就能看
💡 建議
如果你想省事,先用選項 A 快速擋掉敏感頁面。之後有空再用選項 B 做徹底的檔案分離。兩者可以依序進行。
6 更新給朋友的連結
舊的 GitHub Pages 連結已經失效,需要把新的 Netlify URL 傳給朋友:
- 整理新的連結格式:
舊連結(已失效):
https://adom-near.github.io/research-reports/demo.html
新連結:
https://wt-reports.netlify.app/demo.html
- 傳給已經有舊連結的兩位朋友
- 提醒他們更新書籤
💡 小提醒
新連結的 URL 不再包含 GitHub 帳號名稱,隱私性更好。你可以把 Netlify site name 取一個不容易被猜到的名字。
7 ccusage statusline hook 更新(額外)
這一步跟隱私遷移無直接關係,但可以順便處理。更新 Claude Code 的狀態列 hook:
- 在 Claude Code 對話框中執行以下指令:
! python3 -c "
import json
f='/Users/wt/.claude/settings.json'
d=json.load(open(f))
d['hooks']['Notification'][0]['hooks'][0]['command']='bash /Users/wt/PyCharmMiscProject/防休眠腳本/ccusage-statusline.sh'
json.dump(d,open(f,'w'),indent=2,ensure_ascii=False)
print('done')
"
- 執行成功後會印出
done
- 之後 Claude Code 狀態列會顯示用量狀態指示
💡 這是什麼?
ccusage statusline 是一個狀態列指示器,會根據目前 Claude API 的用量高峰時段,在狀態列顯示不同顏色的狀態標示,幫助你判斷現在是否適合執行大量操作。