{
“title”: “XIUNOX:軽量フォーラムを現代に蘇らせる次世代リライト”,
“content”: “
長年多くのユーザーに愛されてきたXiuno BBS。そのシンプルさと軽量さは魅力でしたが、PHP 5系やMySQL 5系に依存したコードは現代のセキュリティ要件や開発スタイルに合わなくなっていました。そこで登場したのがXIUNOX(現バージョンv1.1.0)です。本記事では、このプロジェクトがどのようにXiuno BBS 4.0.4をベースに「完全再構築」されたのか、その技術的特徴と導入メリットを詳しく解説します。
nn
XIUNOXとは? ~ プロジェクトの背景
n
XIUNOXは、中国のオープンソースフォーラム「Xiuno BBS」をPHP 8.0+ & MySQL 8に完全対応させるために生まれました。当初は「Xiuno BBS v4.5+」「Xiuno Next」という名称でしたが、現在はXIUNOXとして統一されています。単なる互換パッチではなく、フロントエンドにBootstrap 5.3とHTMX 4を採用し、従来のページリロードを排除したモダンなUIを実現。軽量でありながら高機能なコミュニティ構築を目指しています。
nn
主要技術スタック
n
バックエンド
n
- n
- PHP 8.0+(パフォーマンス向上、型宣言、JIT対応)
- MySQL 8(pdo_mysqlドライバ、ウィンドウ関数など最新機能を活用)
- キャッシュ:MySQL / Redis / Memcached / Yac をサポート
- RESTful API v1(Token認証付き)
n
n
n
n
n
フロントエンド
n
- n
- Bootstrap 5.3 によるレスポンシブデザイン(スマホ・タブレット・PC対応)
- HTMX 4.1(hx-live、hx-optimistic拡張を含む)で部分更新・楽観的UI
- Tabler Icons 2.1(アイコンセット)
- anime.js(アニメーション)
- AIEditor(AI継続・最適化機能内蔵)
- highlight.js(投稿詳細ページのみ読み込み)
- Chart.js(データ可視化)
- qrcode.js(QRコード生成)
n
n
n
n
n
n
n
n
n
特筆すべきはHTMXの「morph DOM」保証です。従来のhtmxでは画面の一部分のみを置き換えるため、フォーカスやスクロール位置がリセットされる問題がありましたが、XIUNOXでは楽観的更新とmorph DOMを組み合わせ、ユーザー操作に対して即座に反応しつつも、最終的なDOM構造をサーバーレスポンスに同期的に保つ仕組みを実現。これにより、ネイティブアプリのような滑らかな操作感が得られます。
nn
核心機能の詳細
n
1. 完全なプラグイン機構
n
hook + overwrite方式を採用。プラグイン開発者は既存の関数を上書きしたり、特定のフックに処理を差し込むことができます。また、プラグインスキャナーと自動無効化機能により、エラーが発生したプラグインがあってもシステム全体がダウンしない堅牢な設計です。
n
2. 多言語対応
n
標準で簡体字中国語、繁体字中国語、英語をサポート。言語ファイルの追加も容易で、国際的なコミュニティにも展開できます。
n
3. 添付ファイル管理
n
画像サムネイル自動生成、動画情報取得(ffprobeオプション)、画像トリミング機能を内蔵。ストレージの効率化にも配慮されています。
n
4. ポイントシステム
n
複数タイプのポイント管理、1日あたりの制限、監査ログを完備。投稿・返信・いいねなどにポイントを付与するゲーミフィケーションも簡単に実装できます。
n
5. セキュリティ対策
n
CSRFトークン、XSSエスケープ(EscapeService)、パラメータ化クエリ、ログイン速度制限、操作監査など、現代のWebアプリケーションに必須となる対策を標準装備。IPブラックリストやバリデーションコード、NGワードフィルターも利用可能です。
n
6. AIサービス統合
n
AIEditorはOpenAI互換のAPIを抽象化するAIServiceを内蔵。投稿作成時にAIによる続き書きや最適化を呼び出せます。マルチプロバイダ対応なので、自前のAIモデルや他社APIにも容易に差し替え可能です。
n
7. 管理画面
n
ユーザー、フォーラムカテゴリ、プラグイン、テーマ、セキュリティ設定、AI設定などを一元管理。ダッシュボードではChart.jsによるアクセス統計も確認できます。
nn
元のXiuno BBSとの比較
nn
发表回复
要发表评论,您必须先登录。