v6-05-16:12:00
2026年6月5日 · HKT
全站安全強化
- 修復 Nginx add_header 繼承缺陷:所有子路徑(/game/、/trade/、/kody/ 等 10 個)恢復安全頭(CSP、HSTS、X-Content-Type、X-Frame、Referrer-Policy),之前因子 location 區塊覆蓋全局頭而全部丟失
- 建立共享安全頭文件
extension/miles.bar/security-headers.conf,所有子路徑 include 統一管理 - 主頁面加入 HSTS(2年 + includeSubDomains + preload),Nginx 重載後生效
- 主站 API 加入 CDN-Cache-Control:search-suggest 60s stale-while-revalidate,Cloudflare 邊緣緩存
性能優化
- kody-screener:引入 esbuild 構建管線 — JS 41KB→24KB min→7.7KB Brotli(81% 縮減),CSS 23KB→18KB min→4.6KB Brotli(80%)
- kody-screener:CSS 加入
content-visibility: auto,離屏卡片跳過渲染,大列表性能提升 3–5× - kody-screener:Express 層啟用 Brotli([email protected]),CDN-Cache-Control 分層緩存策略
- kody-screener:localStorage watchlist 緩存讀取,避免重複 JSON.parse
- kody-screener:加入 esbuild --watch + node --watch 雙 watch 開發模式
可訪問性 (A11Y)
- kody-screener:skip-link、:focus-visible 鍵盤焦點、prefers-reduced-motion、print styles
- kody-screener:search combobox 完整 ARIA(aria-expanded、role=combobox/listbox/option)
- kody-screener:modal focus trap + Escape 關閉、aria-live 動態公告、全局錯誤處理
- /test/:移除
user-scalable=no,加入 meta description + OG + canonical + favicon
服務恢復
- 修復 /21/ 21點遊戲:PM2 blackjack-21 上線(port 3001),加入 compression + 安全頭 + 優雅關閉
- /21/:修復 Nginx 路徑映射(/21/ → root /),WebSocket 升級已配置
- 建立 /vid/ 頁面:HLS 影片播放器(之前目錄缺失返回 404)
SEO
- kody-screener:Open Graph + Twitter Card + canonical + JSON-LD(WebApplication schema)
- kody-screener:robots.txt + sitemap.xml 端點
- kody-screener:preconnect Yahoo Finance API 來源
v5-27-09:41:38
2026年5月27日 · HKT
性能优化
- 壁纸预加载使用响应式 -1200 变体(160KB),取代完整分辨率文件(1.2–2.0MB),LCP 减少约10倍
- 内联关键 CSS 值与外部样式表对齐(clock、search、hero),消除外部 CSS 加载时的布局偏移(CLS)
- 加入 Speculation Rules API,对 /game/ 和 /trade/ 启用 moderate prerender
简化
- 全面移除自定义光标:删除
cursor: url()声明、@media pointer:fine 区块、cursor-glow DOM 元素、ui-effects.ts 逻辑、mouse.jpeg/png 文件
修复
- 内联 CSS 值对齐 base.css:#clock、#date、#hero-section、#search-input、.search-wrapper、移动端 breakpoint
- background-wallpaper.ts normalizeWallpaperUrl 非缩图路径解析为 -1200 变体
v5-25-17:31:09
2026年5月25日 · HKT
修復
- 移除 Nginx CSP 中未使用的 static.cloudflareinsights.com,解決華為瀏覽器廣告攔截誤報(已阻止3條廣告)
v5-24-10:30:28
2026年5月24日 · HKT
安全
- Admin token 加固:移除 query string 支援,僅接受 x-admin-token header
- WebSocket 連線加入 origin 校驗,阻擋跨站劫持
- 登入加入速率限制:5 次 / 15 分鐘 / IP
- 移除原始碼中的硬編碼 admin 密碼,改為環境變數
- 設定 express.json 請求體大小上限 100kb
- 新增全域安全 headers:X-Content-Type-Options、X-Frame-Options、Referrer-Policy、Permissions-Policy
- Trade 寫入端點加入 CSRF origin 校驗
- Nginx 加入 Cloudflare real_ip 配置
SEO
- h1 標題修正為繁體中文
- 移除無效 JSON-LD Article 節點、WebSite.dateModified
- 隱私政策頁面加入 sitemap.xml
- robots.txt bot token 修正(Googlebot、Bingbot)
- 補充 twitter:creator 與 og:image:type
無障礙
- 新增全站 :focus-visible 鍵盤焦點環
- 擴展 prefers-reduced-motion 涵蓋更多動畫
- 修復隱私鏈接 pointer-events 遮擋問題
- 新增跳至主要內容(skip-to-content)鏈接
- emoji 加入 aria-hidden 包裹
性能
- CWV INP observer 加入 durationThreshold 過濾非交互事件
- esbuild target 從 es2018 升級至 es2020
v5-22-07:03:57
2026年5月22日 · HKT
功能改進
- 搜尋建議 CJK 查詢優先使用 Bing,IME 輸入完成後自動觸發
- 天氣代碼對映重構為查表模式,提升可維護性
- 前端背景壁紙模組優化,改善載入順序
v5-21-22:04:29
2026年5月21日 · HKT
程式碼清理
- 刪除 CSS 重複區塊約 108 行
- 合併 JS 重複函數,減少冗餘
- 天氣代碼對映初步整理
v5-20-03:59:00
2026年5月20日 · HKT
性能
- 壁紙回應式變體:按 viewport 自動選用 -800 / -1200 / 原始尺寸,移動端 LCP 從 1–2MB 降至 18–100KB
- GPU 動畫暫停:ambient-blob 在非活躍狀態設為 animation-play-state: paused,節省 GPU 合成
- Service Worker 擴展:新增 CORE_CACHE,cache-first 策略快取 CSS/JS 建置檔與備用壁紙
- 壁紙縮圖 prefetch:首頁預載 6 張 thumbnail,modal 即開即現
v5-19-16:11:16
2026年5月19日 · HKT
功能
- 管理圖片頁面(/managepic)重構:liquid glass 風格,支援批次上傳與排序
- 520 留言模組上線
- 壁紙上傳 API 優化,R2 儲存路徑標準化
v5-14-10:25:42
2026年5月14日 · HKT
基礎設施
- DNS 管理全面遷移至 Cloudflare,移除 GoDaddy _domainconnect CNAME
- Cloudflare zone 配置定案:Brotli、Polish (Lossless)、Early Hints、Hotlink Protection 全線啟用
- Nginx CSP 政策定型,media-src / connect-src 明確指定 media.miles.bar
- 敏感檔案阻擋規則完善(.env、*.bak、node_modules 等)
SEO / GEO
- JSON-LD @graph 結構化資料:WebSite、WebApplication、2× WebPage、Person、Organization
- <noscript> SSR 內容區塊,無 JS 爬蟲可直接解析
- hreflang 標籤(zh-HK + x-default)、canonical URL、OG / Twitter Card 全覆蓋
- RSL 1.0 meta 標籤:授權、AI 訓練退出、AI 搜尋允許
- Cloudflare WAF 規則:放行已驗證爬蟲(Google、Bing),阻擋 8 組社交/AI 爬蟲 UA
- robots.txt 六組獨立 bot 規則(GPTBot、ClaudeBot、PerplexityBot、OAI-SearchBot、Googlebot、Bingbot)
- sitemap.xml 註冊,www → non-www 301,/game → /game/ 301
頁面
- 隱私政策頁面上線(/privacy/)
- 五子棋與交易頁面 SEO 標籤補全
v5-13-04:03:33
2026年5月13日 · HKT
交易系統
- SQLite 交易引擎(tradeStore.js,~1500 行):帳戶、訂單、持倉、PnL 全功能
- 支援 BTC/USDT、ETH/USDT、SOL/USDT、TON/USDT 四個交易對
- 市場/限價單、止損/止盈、1x–100x 槓桿、強制平倉、維護保證金
- 前端交易終端 SPA(/trade/)與管理後台(/trade-admin/)
v5-12-11:36:00
2026年5月12日 · HKT
Agent 發現層
- .well-known/api-catalog:RFC 9727 API 目錄,指向 openapi.json 與 /health
- .well-known/agent-skills/index.json:註冊 8 個 agent skills
- .well-known/mcp/server-card.json:MCP server card,3 個 WebMCP 工具(search、weather_video、wallpapers)
- OAuth 2.0 授權伺服器與保護資源中繼資料
- OpenID Connect discovery
- openapi.json:OpenAPI 3.1.0 規範(7 個公開端點)
- llms.txt:RSL 1.0 授權,AI 爬蟲引導
- Markdown 內容協商:Accept: text/markdown → /index.md
- 首頁 Link 回應頭:廣告 API catalog、OpenAPI、docs、agent-skills、MCP server card
v5-10-15:35:02
2026年5月10日 · HKT
後台安全
- managepic 全面切換為 WebAuthn platform passkey 認證
- 舊有帳號密碼登入端點(/api/admin/login)停用
- 憑證僅儲存公鑰與計數器,禁止預先建立憑證檔案
- 首次註冊綁定為唯一管理員 passkey
v5-10-07:36:29
2026年5月10日 · HKT
交易系統基礎
- 合成市場引擎(tradeMarket.js):布朗運動模擬價格,支援 OHLCV
- WebSocket 即時行情(tradeRealtime.js):價格推送、訂單成交、資產更新
- 手續費與保證金計算模組(tradeFees.js)
- 交易 API 金鑰認證(tradeAuth.js)
前端重構
- TypeScript 模組拆分:search-dashboard、time、ui-effects 獨立檔案
- 搜尋意圖系統(search-intents.ts):!yt、!b、!g 快捷指令、URL 辨識
v5-9-14:57:07
2026年5月9日 · HKT
新功能
- WebAuthn / Passkey 基礎設施(webauthn.js):支援 iOS / 桌面平台生物認證
- managepic 後台開始遷移至 passkey 認證流程
- 交易系統 MVP 規劃與基礎設施搭建
v5-8-12:12:00
2026年5月8日 · HKT
行動端適配
- iPhone Safari 視口修復:全螢幕容器 100vh → 100dvh,消除底部白邊與內容遮擋
- viewport meta 加入 viewport-fit=cover
- 全站引入 env(safe-area-inset-*),避開瀏覽器工具欄
- 行動端模組排序優化:日程優先於日曆
- 磨砂玻璃渲染即時化,消除 0.8s 延遲
- DESIGN.md 建立,規範 Liquid Glass 視覺系統與版本號規則
v5-7-12:36:47
2026年5月7日 · HKT
基礎設施
- 社群壁紙遷移至 Cloudflare R2:上傳、刪除、URL 建構(r2Storage.js)
- 壁紙檔案命名標準化(wallpaperImages.js)
- 舊本地上傳目錄(/uploads/)保留為 legacy 兼容
v5-3-00:00:00
2026年5月3日 · HKT
日程系統
- 儀表板日程課表模組:當日課程時間線顯示(A–E 週輪替)
- 月曆檢視(calendar-wrap),支援前後月份切換
- 當天日程結束後自動切換為第二天課表
- 磨砂玻璃深色模式儀表板(dashboard-stage)
UX 改進
- 新訪客預設靜態 Bing 壁紙(取代影片模式),現有用戶 localStorage 偏好不受影響
- CJK 中文輸入法體驗優化:IME composition 結束後才觸發搜尋建議
- 首次進入儀表板/日曆時,壁紙偏好快捷鍵短暫高亮提示
v5-2-04:13:00
2026年5月2日 · HKT
架構重構
- 後端模組化:app.js 拆分為 lib/ 獨立路由模組(adminRoutes、gameRoutes、wallpaperRoutes、videoRoutes、weatherRoutes)
- show.miles.bar 子域名退役,Nginx 移除相關配置,前端中繼資料清理
- Cloudflare Worker miles-optimizer 上線:API GET 300s 邊緣快取,HLS .ts 片段 immutable 1 年
- Nginx 靜態資源 immutable 快取策略:JS/CSS/WebP 1 年,圖片 30 天,首頁 60s + stale-while-revalidate
v5-1-10:08:00
2026年5月1日 · HKT
天氣影片背景
- Open-Meteo 天氣 API 代理(/api/weather),鎖定香港觀塘區
- 天氣代碼 → HLS 影片對映系統:晴天、陰天、雨天、雷暴等場景自動切換
- HLS 自適應碼率串流:根據網速自動調整清晰度
- 影片背景雙層緩衝(bg-a / bg-b),淡入淡出無縫切換
- /api/background/weather-video 端點:回傳天氣匹配的 HLS playlist
- /api/background/music 端點:Low Roar 閒置背景音樂
冥想模式
- 用戶 7 秒無操作 → UI 自動淡出,僅保留全螢幕影片背景
- Low Roar 歌曲從 20 秒處起播,與影片背景音疊加
- 點擊螢幕或移動滑鼠 → UI 恢復、音樂隱去
- 閒置背景音樂播放器(idle-music),循環播放不中斷
v4-30-00:49:00
2026年4月30日 · HKT
搜尋體驗
- 首頁搜尋欄自動聚焦,鍵盤即打即搜
- 搜尋建議下拉選單(role="combobox" + aria-autocomplete)
- 多引擎搜尋建議後端(Bing CJK → Google → DuckDuckGo 依序降級)
v4-29-11:03:46
2026年4月29日 · HKT
線上五子棋
- 雙人房間制 Gomoku(/game/),支援自訂房間名稱
- Server-Sent Events 即時棋步同步,無需 WebSocket
- 伺服器端棋局驗證(勝負判定、禁手檢查)
- 閒置房間 10 分鐘自動清理
- Liquid Glass 風格遊戲 UI,桌面/行動端適配