Skip to content

feat: establish safe cross-platform foundation - #4

Merged
hitoshic1982 merged 3 commits into
mainfrom
agent/cross-platform-foundation
Aug 5, 2026
Merged

feat: establish safe cross-platform foundation#4
hitoshic1982 merged 3 commits into
mainfrom
agent/cross-platform-foundation

Conversation

@hitoshic1982

Copy link
Copy Markdown
Collaborator

繁體中文

摘要

建立 FB2Blogger 的安全跨平台基礎,同時完整保留 Windows 正式版既有功能。此 PR 將可共用的 Facebook 匯出解析、壓縮檔安全解壓、圖片最佳化、遷移狀態與暫存工作區生命週期移入獨立核心,並新增 Avalonia 桌面預覽層與三平台 CI。

主要變更

  • Windows WinForms 正式版行為維持不變。
  • 新增可供 Windows、macOS、Linux 共用的核心專案。
  • 新增 macOS/Linux Avalonia 預覽介面;目前僅支援離線匯出檔檢視,不宣稱已支援 Google OAuth、Blogger 上傳或正式發佈。
  • 強化 ZIP 路徑穿越防護、暫存工作區標記/租約、跨程序占用判斷及舊工作區安全清理。
  • 新增四語介面、四語隱私與發布文件,以及「炎劍開源軟體家族品質標準」。
  • 新增 Windows/macOS/Ubuntu CI、CodeQL、依賴審查、NuGet 漏洞稽核與 Gitleaks;官方 Actions 全部鎖定不可變 commit。

本機驗證

  • Release 建置:通過,0 警告/0 錯誤。
  • CoreHarness:33 項通過。
  • AuditHarness:全部通過。
  • actionlint、git diff --check:通過。
  • Gitleaks:掃描 8 commits,未發現洩漏。

邊界

此 PR 是跨平台核心基礎,不是 macOS/Linux 正式發行。原生 .dmg.AppImage、原生 runner 啟動煙霧測試與雜湊/追溯資料會在後續獨立 PR 完成;未完成前不建立新版 Release。


简体中文

摘要

建立 FB2Blogger 的安全跨平台基础,同时完整保留 Windows 正式版现有功能。本 PR 将可共享的 Facebook 导出解析、压缩包安全解压、图片优化、迁移状态与临时工作区生命周期移入独立核心,并新增 Avalonia 桌面预览层与三平台 CI。

主要变更

  • Windows WinForms 正式版行为保持不变。
  • 新增 Windows、macOS、Linux 共用核心项目。
  • 新增 macOS/Linux Avalonia 预览界面;目前仅支持离线导出文件查看,不宣称支持 Google OAuth、Blogger 上传或正式发布。
  • 强化 ZIP 路径穿越防护、临时工作区标记/租约、跨进程占用判断与旧工作区安全清理。
  • 新增四语界面、隐私与发布文件,以及“炎剑开源软件家族质量标准”。
  • 新增三平台 CI、CodeQL、依赖审查、NuGet 漏洞审计与 Gitleaks;官方 Actions 全部锁定不可变 commit。

本机验证

Release 构建、33 项 CoreHarness、完整 AuditHarness、actionlint、差异检查与 Gitleaks 全部通过;Gitleaks 扫描 8 个 commits,未发现泄漏。

边界

本 PR 是跨平台核心基础,不是 macOS/Linux 正式发布。原生 .dmg.AppImage、启动烟雾测试及追溯资料将在后续独立 PR 完成;完成前不创建新版 Release。


English

Summary

Establishes a safe cross-platform foundation for FB2Blogger while preserving the full Windows production application. Shared Facebook-export parsing, safe archive extraction, image optimization, migration state, and temporary-workspace lifecycle logic now live in an independent core, with an Avalonia preview shell and three-platform CI.

Highlights

  • Preserves the existing Windows WinForms production behavior.
  • Adds a shared core for Windows, macOS, and Linux.
  • Adds a macOS/Linux Avalonia preview limited to offline export inspection; Google OAuth, Blogger upload, and publishing are not claimed as supported.
  • Hardens ZIP traversal protection, workspace markers/leases, cross-process ownership checks, and safe legacy cleanup.
  • Adds four-language UI/privacy/release documentation and the shared Flameblade open-source quality standard.
  • Adds Windows/macOS/Ubuntu CI, CodeQL, dependency review, NuGet vulnerability auditing, and Gitleaks, with official Actions pinned to immutable commits.

Local validation

Release build passed with 0 warnings/errors; 33 CoreHarness checks passed; the full AuditHarness passed; actionlint and diff checks passed; Gitleaks scanned 8 commits and found no leaks.

Boundary

This is a cross-platform core foundation, not a macOS/Linux production release. Native .dmg and .AppImage artifacts, native-runner launch smoke tests, checksums, and provenance will follow in a separate PR. No new Release will be created before those gates pass.


日本語

概要

Windows 正式版の既存機能を維持したまま、FB2Blogger の安全なクロスプラットフォーム基盤を構築します。Facebook エクスポート解析、安全なアーカイブ展開、画像最適化、移行状態、テンポラリ作業領域のライフサイクルを独立コアへ分離し、Avalonia のプレビュー UI と 3 OS の CI を追加しました。

主な変更

  • Windows WinForms 正式版の動作を維持。
  • Windows/macOS/Linux 共通コアを追加。
  • macOS/Linux 向け Avalonia プレビューはオフラインのエクスポート確認のみ対応。Google OAuth、Blogger へのアップロード、公開機能は対応済みとは表記しません。
  • ZIP traversal 防止、作業領域の marker/lease、プロセス間所有権確認、旧作業領域の安全な清掃を強化。
  • 4 言語 UI・プライバシー・リリース文書と Flameblade 共通品質基準を追加。
  • 3 OS CI、CodeQL、Dependency Review、NuGet 脆弱性監査、Gitleaks を追加し、公式 Actions を不変 commit に固定。

ローカル検証

Release ビルドは警告 0/エラー 0、CoreHarness 33 件、AuditHarness 全件、actionlint、差分検査、Gitleaks はすべて合格しました。Gitleaks は 8 commits を検査し、漏えいはありませんでした。

境界

本 PR はクロスプラットフォームの基盤であり、macOS/Linux の正式リリースではありません。ネイティブ .dmg.AppImage、起動スモークテスト、SHA256 と provenance は後続の独立 PR で実装します。すべてのゲートを通過するまで新しい Release は作成しません。


劍,我已鍛成;餘下的路,就交給你們了。

@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Comment thread src/FB2Blogger.Core/FacebookArchiveExtractor.cs Fixed
Comment thread src/FB2Blogger.Core/FacebookArchiveExtractor.cs Fixed
@hitoshic1982
hitoshic1982 marked this pull request as ready for review August 5, 2026 12:52
@hitoshic1982
hitoshic1982 merged commit 13be50b into main Aug 5, 2026
9 checks passed
@hitoshic1982
hitoshic1982 deleted the agent/cross-platform-foundation branch August 5, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants