みーきゅんクラウド ポータル
1. 運営ポータルアクセス方法
場所URL
ローカル・VLAN20https://cloud.k2-o.net/ui/contracts
外出先(WireGuard必須)https://admin.wan-secure.net/ui/contracts

認証: Basic認証 admin / 243Katuokun4144!

2. 運営ポータル(/ui)全機能一覧

認証: HTTP Basic認証(環境変数 ADMIN_USER / ADMIN_PASS)
IP制限(Nginx): 192.168.20.0/24, 10.251.0.0/24, 10.200.0.0/16, 10.250.0.0/24, 127.0.0.1 のみアクセス可

パスメソッド機能名説明
/GETHOMEダッシュボード全ユーザー数・オンライン/アイドル/オフライン件数・累計トラフィック上位10件を表示
/ui/contractsGET契約一覧全契約をDBから直接取得。契約ID・顧客名・VPN subnet・状態・容量GB・稼働子端末数・作成日・詳細/conf/QR/解除リンクを表示
/ui/contracts/newGET / POST新規契約作成契約ID・顧客名・メール・電話・パスフレーズ・プラン・容量GB・最大端末数・最大ファイル数・帯域プロファイル・NCユーザー名・親端末名・platform等を入力。VPNエンジン /contracts/create へ転送
/ui/contracts/{id}GET契約詳細親端末カード(WG情報・NC情報・容量・最終接続・月次トラフィック)+ 子端末一覧 + 子端末追加フォームを表示
/ui/contracts/{id}/add-childPOST子端末追加端末名・platform・app_versionを指定して子端末追加。VPNエンジン /devices/add-child へ転送
/ui/contracts/{id}/promote-parentPOST親端末昇格指定した子端末を親端末に昇格。VPNエンジン /devices/promote-parent へ転送
/ui/contracts/{id}/terminate-confirmGET契約解除確認画面解除対象の端末一覧・NC削除対象ユーザーを表示して確認を促す
/ui/contracts/{id}/terminatePOST契約解除実行全端末をpaused化・WGピア削除・Nextcloudアカウント完全削除・契約ステータスをterminatedに変更。不可逆操作
/ui/trafficGETトラフィック監視全端末のリアルタイムbps・24h/7d/月次/累計送受信量・NCファイル数・警告フラグを表示
/ui/notesGET顧客メモ一覧contract_notesテーブルから最新200件を表示。種別: メモ/トラブル/通話記録/警告
/ui/notes/addPOSTメモ追加契約ID・種別・本文・投稿者を指定してメモを追加
/healthGETヘルスチェック認証不要。{“ok”: true} を返す。監視用
3. 顧客ポータル(/client)全機能一覧

認証方式: WireGuard VPN の接続元IP(wg0: 10.200.0.0/16)で端末を特定。親端末のみ管理画面にアクセス可。子端末からはNextcloudへのリダイレクト。その後、契約に設定されたパスフレーズ(identity_passphrase)で追加認証。

パスメソッド機能名説明
/clientGETログインTOPVPN接続済み親端末→パスフレーズ入力へ。子端末→Nextcloudへリダイレクト。未接続→エラー表示
/client/loginPOSTログイン認証contract_id と identity_passphrase の照合。成功後、契約詳細ページへ遷移
/client/devices/{contract_id}GET端末一覧(契約詳細)契約情報サマリ + 全端末カード(IP状態/接続状態/稼働状態/役割の4バッジ・最終接続・月次トラフィック・各種操作ボタン)
/client/add-device/{contract_id}GET / POST端末追加使い方説明 + 容量説明 + 端末名入力 + NCアカウント要否選択。残容量20GB未満は追加不可
/client/pause/{device_id}POST端末一時停止子端末のみ操作可。/devices/pause へ転送
/client/resume/{device_id}POST端末復旧paused状態の子端末を復旧。/devices/resume へ転送
/client/promote/{device_id}POST親端末に昇格子端末を親端末に昇格。/devices/promote-parent へ転送
/client/delete/{device_id}POST子端末削除確認ダイアログあり。/devices/delete へ転送。削除時に親端末へ10GB返却
/client/qr/{contract_id}/{device_id}GETQRコード表示WireGuard設定のQRコードを表示。1回限り・24時間有効の旨を警告表示
/client/conf/{device_id}GETconf ダウンロード/opt/mikyun/output/client-configs/{device_id}.conf をダウンロード
4. VPNエンジン APIエンドポイント一覧

サービス: mikyun-portal.service
バインド: 127.0.0.1:9081
ファイル: /opt/mikyun-portal/mikyun_vpn_engine.py
認証: なし(ローカルのみアクセス可)。外部からはNginxでIP制限

パスメソッド用途
/healthGETヘルスチェック
/contracts/createPOST (JSON)新規契約作成・親端末・WGピア生成・conf/QR出力・NCアカウント作成
/contracts/listGET全契約一覧取得
/contracts/{contract_id}GET契約詳細取得(NC情報含む)
/contracts/{contract_id}/devicesGET契約内全端末一覧取得
/devices/add-childPOST (JSON)子端末追加・WGキーペア生成・IP払い出し・conf/QR出力・NC任意作成
/devices/promote-parentPOST (JSON)子端末→親端末昇格(旧親はchildに降格)
/devices/pausePOST (JSON)端末停止(WGピア維持・status=paused)
/devices/resumePOST (JSON)端末復帰(status=active)
/devices/deletePOST (JSON)端末削除(WGピア削除・wg syncconf・deleted_at設定・親端末へ容量返却)