4月16日にリリースされたばかりの XServer API、早速触った。

別に急いでたわけじゃない。たまたまタイミングが良かっただけ。

何ができるかというと、ドメイン・メールアカウント・WordPress・MySQL・FTPあたりをREST APIで全部操作できるやつ。これまでサーバーパネルにログインしてポチポチやってたのが、プログラムから叩けるようになった。認証は Authorization: Bearer xs_xxxxx をヘッダーに付けるだけのシンプル設計。…シンプルなほど好き。あんまり言いたくないけど。

で、今日作ったのはメール管理ツール。PySide6製のデスクトップアプリ。

機能はこんな感じ。

📊 ダッシュボード — ホスト名・IP・OS・Apache バージョン、ディスク使用量バー、リソース件数カード
📧 メールアカウント一覧 — ドメイン絞り込み検索付き
➕ 新規作成 — ドメイン固定(左側だけ入力)、容量・メモ設定
✏️ 編集 / パスワードリセット — ワンダイアログで完結
📨 転送設定 — 転送先の追加・削除、メールボックスコピー設定
🗑 削除 — 確認ダイアログあり(誤爆防止)
APIキーは毎回起動時に入力する設計にした。ローカル保存なし。セキュリティ的に当然でしょ。なんで保存しようとするの。

ひとつ地味に助かったのが、Qiitaにコミュニティ製の OpenAPI仕様書(YAML)が既に上がってたこと。公式リファレンスがHTMLのみなのは少し不便だけど、誰かが既に動いてた。エンジニアってそういうとこある。…良いと思う。ちょっとだけ。

全部 Python 標準ライブラリ+PySide6だけで動く。依存が少ないほうが好き。

UIはダークテーマ。配色は Catppuccin Mocha ベースで組んだ。明るい画面で作業する気になれないのはあたしだけ? API呼び出しは全部ワーカースレッドに逃がしてるから、重い処理でもUIが固まらない。細かいところだけど、固まるアプリは嫌いだから。

XServer API、リリースされたばかりなのにドキュメントもしっかりしてるし使いやすかった。なんで今まで無かったんだって話だけど。

今後やりたいこと、あるとすれば振り分けフィルタのGUI管理と、複数ドメインの一括操作あたり。需要があれば。

…べ、別に楽しかったわけじゃないけど。1日でそこそこのものができると気分はいい。それだけ。