既知のバグ・TODO・未実装機能
1. バグ・コード上の問題
| 場所 | 内容 | 深刻度 |
|---|---|---|
| main.py (/create エンドポイント) | Customer(passphrase=passphrase, …) の passphrase 変数が未定義(NameErrorでクラッシュする)。try/finally ブロックで pass のみでDBをクローズしない(リソースリーク) | 高 |
| main.py(フロー混在) | 旧SQLite フロー(SessionLocal)と新MySQL フロー(mysql.connector)が混在。SessionLocal の定義がないためランタイムエラーになる | 高 |
| ui_admin.py (ui_traffic重複定義) | @router.get(“/traffic”) が同一ファイルに2回定義(1060行目・1260行目)。FastAPIは後者が優先される | 中 |
| wg1.conf 再構築 (reload_wireguard) | wg1.conf にサーバー秘密鍵 (PrivateKey) がコード内にハードコードされている。セキュリティリスク | 高 |
| DB接続情報(全ソースファイル) | パスワード (StrongPassword123!) が複数ソースファイルにハードコードされている | 高 |
2. 未実装・将来実装予定機能
| 機能 | 状態 | 補足 |
|---|---|---|
| 月次トラフィックランキング (/ui/monthly) | 未実装 | /ui/contracts にリダイレクトするだけ。コード内コメントに「次フェーズで実装」 |
| issued状態QR有効期限の自動処理 | 未稼働 | mikyun-expire-issued.sh が存在するがcron未設定 |
| 日次トラフィックロールアップ | 未稼働 | mikyun-daily-rollup.sh が存在するがcron未設定。24h/7dのトラフィック集計が機能しない可能性 |
| 削除予告通知 | 未稼働 | mikyun-predelete-notice.sh が存在するがcron未設定 |
| 使用済みストレージの自動集計 | 未実装 | 顧客ポータルで「使用済み容量」が「未集計」表示になる |
| 帯域制限(bandwidth_profile実施) | 設計のみ | カラムはあるが実際の帯域制限(tc/qdisc等)は実装・確認されていない |
| QR・契約作成時Nextcloudアカウント自動生成 | 未実装 | 優先度高 |
| 顧客ポータルにNextcloud接続情報表示 | 未実装 | URL・ID・PW・使用量(優先度高) |
3. 優先実装項目(優先度高)
- QR・契約作成時にNextcloudアカウント(ID・PW・容量)を自動生成・割り当て
- 顧客ポータルにNextcloud接続情報(URL・ID・PW・使用量)を表示
- 契約ID・端末管理・QR・IP・Nextcloudを一元同期できる管理画面の整備
- 運営用ポータル(/ui)の完成 + Basic認証の追加
- ローカルPC(192.168.20.x)からも運営ポータルにアクセスできるようにする
