helper.sh verification / 検証記録 / 验证记录 / 驗證紀錄 Date / 日付 / 日期: 2026-10-30 (Asia/Shanghai) Base Git revision: 71bcc73ca406cbe2c64fee1dcd0b6e1a8c260435 Environment: Windows; Node.js 22.22.2; Astro 5.18.1; Pagefind 1.4.0; Codex in-app browser; desktop 1280x900; narrow viewport 390x844. SHA-256: Git blobs / Git 格納バイト列 / Git 存储字节 / Git 儲存位元組 public/install_docker_ubuntu_2404.sh EE56BADEF35E34B3DEFBBB24B7D1ED35635F7A91D7F57FE05AA8325699AAF465 public/docker-data-move.sh 5B35B743EE0609C61F6ECA3666A3FACB7D35B6E9742A52E5CFCF8ECEFDFF75E8 public/install_openvpn_client_centos7.sh 541900E8EB2E07B5154FE4D5366DCFC01FAC11E34E56ECBD5AC112B4C73A47F1 src/utils/copyText.js DCB23738BE2FA768EB38016A8BAF97F111CF4BCA0821536278BD83BE541D2C4E src/utils/dockerDataMoveLogDiagnosis.js DB8F74B20E5DEEE6B04D8BE666C17DE68E9600CCA0C13EF4D3C611A7FC9F7E48 src/utils/scriptReviewCommand.js 16A27E4844C6F369764395DEA01AE8F1D47FE6F668B3A74C982889B37A90C01A Local Windows copies / Windows 作業コピー / Windows 工作副本 / Windows 工作複本: docker-data-move.sh BDEB4C864033E52817B58DBCC2FB06600311F185110746456FAAB8444C004C45 install_openvpn_client_centos7.sh 1F4728A6858E281947A84D3C69EB447B1CB6EDA4BEC024F798EBDBEED2A8EC51 Git line-ending normalization changes bytes; compare the matching form only. Git の改行正規化でバイト列が変わるため、対応する形式同士で照合してください。 Git 换行规范化会改变字节,请只比较对应形式。 Git 換行正規化會改變位元組,請只比較對應形式。 ENGLISH Static build: run npm run build. Expected: static routes and search indexes for en, ja, zh-cn, zh-tw. Actual: 289 pages built, four languages indexed. Isolated Node tests: run npm test. Expected: known log outcomes, safe download commands, rejected unsafe filenames/off-origin URLs, truthful clipboard failure handling and focus cleanup. Actual: 11 tests passed. Browser APIs in clipboard failure cases were simulated; these are not real browser denials. Browser steps (all four locales): select Ubuntu by keyboard and Install Docker; open log triage; submit empty text, unknown text, and a synthetic rsync error; clear; resize to 390x844; activate both copy controls. Expected: fitting script, translated states, cleared input with restored focus, no horizontal overflow, copy feedback. Actual: matched those expectations; final client/scroll widths were 375/375. No browser script errors were recorded. Actual download: click the Ubuntu Docker download link. Expected: saved script bytes equal bundled source. Actual: a browser download completed and both SHA-256 values matched the Ubuntu Docker hash above. Limits: virtual clipboard contents could not be read back; success feedback does not establish actual clipboard bytes. No installer, migration, VPN, firewall, Docker container or real Linux host test was executed. No production deployment conclusion is included in this local report. Hashes do not prove safety; changed upstream dependencies require fresh review and verification. 日本語 静的ビルド: npm run build を実行。期待: en、ja、zh-cn、zh-tw のページと 検索索引の生成。実際: 289 ページを生成し、4 言語の索引を作成しました。 隔離 Node テスト: npm test を実行。期待: 既知ログの分類、ダウンロードのみの コマンド生成、不正なファイル名・別オリジン URL の拒否、コピー失敗の通知と フォーカス復帰。実際: 11 件成功。権限拒否などのブラウザー API は模擬しており、 実ブラウザーでの拒否試験ではありません。 ブラウザー操作(4 言語): キーボードで Ubuntu、次に Docker 導入を選択。 ログ欄へ空文字列、未知の文字列、模擬 rsync エラーを入力して確認し、消去。 390x844 に変更し、2 種類のコピーボタンを操作しました。期待: 適切な候補、 翻訳された結果、入力消去とフォーカス復帰、横方向のはみ出しなし、コピー通知。 実際: 期待に一致し、最終的な表示幅・スクロール幅は 375/375 でした。 ブラウザースクリプトのエラーは記録されませんでした。 実ダウンロード: Ubuntu Docker のリンクをクリック。期待: 同梱ソースと同一の バイト列。実際: 保存が完了し、SHA-256 は上記の同梱版と一致しました。 未検証: 仮想クリップボードの内容は読み戻せず、成功通知だけではコピーされた 文字列を確認できません。インストーラー、移行、VPN、ファイアウォール、Docker コンテナー、実 Linux ホストの試験は実施していません。本記録はローカル検証で、 本番公開の確認を含みません。ハッシュは安全性の証明にはならず、上流依存物が 変わった場合は再確認・再検証が必要です。 简体中文 静态构建:运行 npm run build。预期:生成 en、ja、zh-cn、zh-tw 页面和搜索 索引。实际:生成 289 页,索引覆盖 4 种语言。 隔离 Node 测试:运行 npm test。预期:正确分类已知日志、生成仅下载命令、 拒绝危险文件名及外站 URL、如实处理复制失败并恢复焦点。实际:11 项通过。 复制拒绝案例使用模拟浏览器 API,不是实际浏览器拒绝权限的测试。 浏览器步骤(四语言):用键盘选择 Ubuntu,再选择安装 Docker;展开日志排查, 依次检查空输入、未知文本和受控 rsync 错误;清除输入;调整到 390x844;操作 两类复制按钮。预期:脚本匹配、结果已翻译、清空后焦点恢复、无横向溢出、 显示复制反馈。实际:符合预期,最终可视宽度/滚动宽度为 375/375,未记录到 浏览器脚本错误。 实际下载:点击 Ubuntu Docker 下载链接。预期:保存字节与本站源码一致。 实际:浏览器完成下载,两者 SHA-256 均与上方 Ubuntu Docker 哈希一致。 未验证范围:无法读回虚拟剪贴板内容,成功反馈不代表已核实实际复制字节。 未执行安装、迁移、VPN、防火墙脚本、Docker 容器或真实 Linux 主机测试。 本报告仅记录本地验证,不包含生产部署结论。哈希不证明安全;上游依赖变化后 必须重新审阅和验证。 繁體中文 靜態建置:執行 npm run build。預期:產生 en、ja、zh-cn、zh-tw 頁面及搜尋 索引。實際:產生 289 頁,索引涵蓋 4 種語言。 隔離 Node 測試:執行 npm test。預期:正確分類已知日誌、產生僅下載命令、 拒絕危險檔名與外站 URL、如實處理複製失敗並恢復焦點。實際:11 項通過。 複製遭拒案例使用模擬瀏覽器 API,並非實際瀏覽器拒絕權限的測試。 瀏覽器步驟(四語言):以鍵盤選擇 Ubuntu,再選擇安裝 Docker;展開日誌排查, 依序檢查空輸入、未知文字及受控 rsync 錯誤;清除輸入;調整至 390x844;操作 兩種複製按鈕。預期:腳本符合條件、結果已翻譯、清空後焦點恢復、沒有橫向 溢出、顯示複製回饋。實際:符合預期,最終可視寬度/捲動寬度為 375/375, 未記錄到瀏覽器指令碼錯誤。 實際下載:點擊 Ubuntu Docker 下載連結。預期:儲存位元組與本站原始碼一致。 實際:瀏覽器完成下載,兩者 SHA-256 均與上方 Ubuntu Docker 雜湊值一致。 未驗證範圍:無法讀回虛擬剪貼簿內容,成功回饋不代表已核實實際複製位元組。 未執行安裝、遷移、VPN、防火牆腳本、Docker 容器或真實 Linux 主機測試。 本報告只記錄本機驗證,不包含正式部署結論。雜湊不證明安全;上游相依項目 變更後必須重新審閱與驗證。 FOLLOW-UP BATCH / 追加検証 / 后续批次 / 後續批次 — 2026-10-30 Base Git revision: eccdf316ef1cf68b9fa8cc7b411d56c0257bf589 Command-plan schemaVersion: 1 Additional source SHA-256 / 追加ソース / 新增源码 / 新增原始碼: src/utils/dockerMovePlan.js B72B2DE39E3BD6DDCF04EFF008EB9BEED2770E194F7A988276412C73A0C1C752 src/utils/scriptEligibility.js DDC6EA3E895616CF162467C8E8AF597E9FB6427B013B35B40D5302828C9426CB public/install_redis705_base_docker.sh 1DFF99DA3BC7DA24E7E14DACE74A716A9BE1592B77CE03A42864065022BF391B public/install_workerman3524_base_docker.sh E3F40B68C2DC6CC4C865D7498000D73352F373A589362C141E485E3567F7BBB4 ENGLISH Same Windows/Node/Astro/Pagefind environment as above. Run npm test: expected path/flag validation, literal Shell quoting and reviewed task mapping; actual: 20 Node tests passed. These tests execute JavaScript only, never the Shell commands or installers. Clipboard refusal tests still simulate browser APIs. Browser steps in en/ja/zh-cn/zh-tw: open the Docker data-move builder, submit empty, overlapping and 1,025-character paths, then a controlled path containing spaces, an apostrophe, dollar expansion and a command separator. Expected: localized errors, focused invalid field, one quoted --path argument, retained script confirmation, and stale previews removed after edits. Actual: passed. Copy the run command, clear the path input, and paste using native key input: expected exact preview bytes; actual: equal in all four locales. This resolves the previous virtual-clipboard readback limitation for this controlled flow. Download a JSON plan in each locale and parse it locally: expected exact path, command, build-specific script SHA-256 and localized notes; actual: all four downloaded files matched. No generated command was executed. Desktop 1280x900 and narrow 390x844 builder checks passed. Twenty revised content routes at narrow width measured client/scroll 375/375. Script-library entry links, CentOS 7 migration matching, unknown/no-match states and exclusion of VPN/router setup from generic maintenance passed in all four locales. Build: 289 pages/four search indexes. Six retained routes per locale passed canonical, hreflang and sitemap checks. Redis/Workerman guidance is a source audit only; their containers, authentication, network, storage and build were not tested on a real host or in a container. Arbitrary filesystems, symlinks, remote contexts, rootless Docker and mutable upstream dependencies remain outside the builder's verified scope. A matching hash does not prove safety. 日本語 環境は上記と同じ Windows/Node/Astro/Pagefind です。npm test の期待結果は パス・引数の検証、シェルのリテラル引用、確認済み作業の照合です。実際は 20 件成功。JavaScript の試験のみで、シェルやインストーラーは実行しません。 コピー拒否の試験は引き続きブラウザー API の模擬です。 4 言語で移行計画ツールを開き、空、前綴りが重なるパス、1,025 文字のパスを 送信後、空白・引用符・ドル展開・命令区切りを含む管理されたパスで確認。 期待: 翻訳済みエラー、不正欄へのフォーカス、引用した --path 引数一つ、 スクリプトの確認を維持、編集後の旧計画失効。実際: すべて一致しました。 実行コマンドをコピーして入力を空にし、ネイティブキーで貼り付けた結果は、 4 言語ともプレビューと完全一致。この管理された流れでは、以前の仮想 クリップボード読み戻しの制限を解消しました。 各言語の JSON 計画を実ダウンロードして解析し、パス・命令・ビルド固有の ハッシュ・翻訳済み注記が一致しました。生成した命令は一切実行していません。 1280x900 と 390x844 のツール確認に成功。修訂した 20 ページの狭幅確認は 375/375。入口リンク、CentOS 7 の移行候補、未知・該当なしの表示、VPN/ルーター 構成を一般保守へ誤分類しない確認も 4 言語で成功しました。 ビルドは 289 ページ・4 言語の索引。各言語 6 ページの既存 URL、canonical、 hreflang、sitemap を確認。Redis/Workerman はソース確認のみで、コンテナー、 認証、ネットワーク、保存領域、ビルドの実機・コンテナー試験は未実施です。 任意のファイルシステム、シンボリックリンク、リモート接続、rootless Docker、 可変の上流依存物はツールの検証範囲外です。ハッシュ一致は安全性の証明ではありません。 简体中文 环境同上。运行 npm test:预期验证路径/参数、Shell 字面引用和已审阅任务映射; 实际 20 项通过。仅执行 JavaScript 测试,未执行 Shell 命令或安装器;复制拒绝 案例仍为模拟浏览器 API。 四语言浏览器步骤:打开迁移构建器,提交空路径、前缀重叠路径、1,025 字符路径, 再填写含空格、单引号、美元展开及命令分隔符的受控路径。预期:翻译后的错误、 聚焦错误字段、正确引用的单个 --path 参数、保留脚本确认、编辑后旧方案失效。 实际全部符合。复制运行命令、清空路径输入并用原生按键粘贴,四语言均与预览 逐字一致;此受控流程补齐了此前虚拟剪贴板无法读回的限制。 四语言均实际下载 JSON 并本地解析,路径、命令、构建对应脚本哈希及翻译后的 说明全部一致。未执行任何生成命令。 1280x900 桌面和 390x844 窄屏构建器检查通过;20 个修订内容页的可视/滚动宽度 均为 375/375。脚本库入口、CentOS 7 迁移匹配、未知/无匹配状态,以及 VPN/路由器 配置不被误归为通用维护,四语言均通过。 构建 289 页及四语言索引;每种语言 6 个保留页面的 canonical、hreflang、sitemap 检查通过。Redis/Workerman 只做源码审计,未做真实主机或容器中的构建、认证、 网络、存储测试。任意文件系统、符号链接、远程 context、rootless Docker 和可变 上游依赖不在构建器已验证范围内;哈希一致不证明安全。 繁體中文 環境同上。執行 npm test:預期驗證路徑/參數、Shell 字面引用及已審閱任務對應; 實際 20 項通過。只執行 JavaScript 測試,未執行 Shell 命令或安裝器;複製遭拒 案例仍是模擬瀏覽器 API。 四語言瀏覽器步驟:開啟遷移建構器,送出空路徑、前綴重疊路徑、1,025 字元路徑, 再填入含空格、單引號、美元展開與命令分隔符的受控路徑。預期:翻譯後的錯誤、 聚焦錯誤欄位、正確引用的單一 --path 參數、保留腳本確認、編輯後舊方案失效。 實際全部符合。複製執行命令、清空路徑輸入並以原生按鍵貼上,四語言均與預覽 逐字一致;此受控流程補齊先前虛擬剪貼簿無法讀回的限制。 四語言皆實際下載 JSON 並於本機解析,路徑、命令、建置對應腳本雜湊及翻譯後的 說明全部一致。未執行任何產生命令。 1280x900 桌面與 390x844 窄螢幕建構器檢查通過;20 個修訂內容頁的可視/捲動寬度 均為 375/375。腳本庫入口、CentOS 7 遷移比對、未知/無符合狀態,以及 VPN/路由器 設定不被誤歸為通用維護,四語言皆通過。 建置 289 頁與四語言索引;每語言 6 個保留頁面的 canonical、hreflang、sitemap 檢查通過。Redis/Workerman 僅做原始碼審閱,未做真實主機或容器中的建置、認證、 網路、儲存測試。任意檔案系統、符號連結、遠端 context、rootless Docker 與可變 上游相依項目不在建構器已驗證範圍內;雜湊一致不證明安全。 Official references / 公式資料 / 官方文档 / 官方文件: https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html https://docs.docker.com/engine/daemon/ https://redis.io/docs/latest/develop/tools/cli/ https://github.com/redis/redis/blob/7.0.5/src/redis-cli.c https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies https://www.php.net/eol.php CANONICAL CONSISTENCY FOLLOW-UP / 正規 URL の追加確認 / 规范地址复验 / 標準網址複驗 Base functional release: 3d25f85644c0be79b419b5a2ddf4bf1b7afd1825 EN: Production browser checks on that release passed exact clipboard readback and an actual JSON download. Its script hash matched the downloaded migration script bytes; 20 production content routes returned the revised guidance. The existing bare-host URL redirected to www while canonical/hreflang/sitemap still named the bare host. Local follow-up changes align these to the final www origin. Expected/actual static results: 288 self-canonical localized pages, 1,440 correct language links, 284 unique sitemap content entries (four internal search utility pages remain excluded), robots pointing to the same sitemap. Unknown static-page modification dates are omitted; the two rewritten articles use their actual 2026-10-30 update date. The root redirect is omitted from the sitemap. Page routes themselves remain available. No Search Console or AdSense submission was performed. JA: 上記公開版で、実際の貼り付けによる完全一致と JSON ダウンロードを確認。 移行スクリプトの実バイト列とハッシュが一致し、公開コンテンツ 20 ページで 修訂内容を確認しました。非 www から www へ転送される一方、メタデータは 非 www を指定していました。ローカル追加修正で最終 www に統一。期待・実際: 288 ページの自己 canonical、1,440 言語リンク、重複のない 284 sitemap 項目、 同一 sitemap を指す robots。内部検索 4 ページは従来どおり除外します。 不明な静的ページ更新日は省略し、書き直した 2 記事は実際の 2026-10-30 を使用。 ルート転送先は sitemap から除外し、ページ URL は維持します。Search Console や AdSense への申請は行っていません。 简中:该功能发布版已通过生产浏览器的真实粘贴逐字核对和 JSON 实际下载; 脚本哈希与下载字节一致,20 个生产内容页包含修订说明。原有裸域名会跳到 www, 而元数据仍指向裸域名。后续本地修正对齐最终 www 地址。静态预期/实际结果: 288 个语言页面的自指 canonical、1,440 个正确语言链接、284 个无重复内容 sitemap 条目及一致的 robots 指向;4 个内部搜索工具页继续排除。未知静态页更新时间 不输出,两篇重写文章使用真实的 2026-10-30 更新日期。根跳转不再列入 sitemap, 页面 URL 仍保留。没有提交 Search Console 或 AdSense 申请。 繁中:該功能發布版已通過正式瀏覽器的真實貼上逐字核對與 JSON 實際下載; 腳本雜湊與下載位元組一致,20 個正式內容頁包含修訂說明。原本非 www 網域會 轉向 www,後續本機修正將中繼資料對齊最終 www 網址。靜態預期/實際結果: 288 個語言頁面的自指 canonical、1,440 個正確語言連結、284 個無重複內容 sitemap 項目與一致的 robots 指向;4 個內部搜尋工具頁仍排除。未知靜態頁面更新日期 不輸出,兩篇重寫文章採用真實的 2026-10-30 更新日期。根轉向不列入 sitemap, 頁面 URL 仍保留。沒有提交 Search Console 或 AdSense 申請。 https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap Production metadata release / 本番メタデータ公開 / 生产元数据发布 / 正式中繼資料發布: c7e6a263fbd51821799fb87b6dac5b876743eb46 Cloudflare Pages: success (9ec1321f-5308-49cd-aa33-766d7f2509c7). EN: All four live builder pages had the final www canonical and language links; live sitemap returned 200 with 284 www entries; robots matched; the bare-host page returned 301 to www. The expanded report was confirmed live. JA: 公開 4 言語のツールで www canonical と言語リンクを確認。sitemap は 200、 www の 284 項目、robots も一致。非 www ページは www へ 301、公開記録も確認。 简中:四语言线上构建器的 www canonical 与语言链接正确;sitemap 返回 200, 含 284 个 www 条目,robots 一致;裸域名以 301 跳至 www,扩展报告已在线核对。 繁中:四語言正式建構器的 www canonical 與語言連結正確;sitemap 回傳 200, 含 284 個 www 項目,robots 一致;非 www 以 301 轉至 www,擴充紀錄已在線核對。 ADS-003 follow-up / 内容整合后续 / 內容整合後續 / コンテンツ統合の追記: https://www.helper.sh/verification/2026-10-30-content.txt