Toolbox · 5 tools

運用と検証を支える自作ツール

日々の運用や個人プロジェクトで使うために自作したツール、スクリプト、アプリケーションをまとめています。

  • Python
  • Shell
  • Go / Rust
  • Automation

01 · password manager

CIPHER VAULT

公開中v0.2.5

  • Electron
  • React
  • Node.js
  • SQLite
  • TypeScript

ローカル動作を前提にしたパスワード管理アプリです。データは自端末の SQLite に保存し、外部サーバーへ送信しない構成で、保管庫のロック・解錠、エントリ管理、パスワード生成、クリップボードコピー、自動ロックに対応しています。専用パスフレーズで保護する暗号化バックアップ(.cvault 形式)と空の保管庫への復元、弱い・重複・古いパスワードを端末内で点検するセキュリティ監査と SECURITY SCORE も備えています。

監査は外部へのパスワード送信や漏えい情報の照会を行わず、復元は全件を検証してから一括保存し、誤パスフレーズや改ざん、書き込み失敗時にはデータを追加しない設計にしています。v0.2.4 では、ローカルの Web/API に外部のページから保管庫のリセットなどを送り込まれないよう、接続先と送信元の検査と CSRF トークンを必須にしました。Electron 側もすべての IPC で送信元の画面を検証し、外部ページへの遷移や新しいウィンドウを拒否します。パスワードは目のアイコンを続けて2回押したときだけ表示し、保存・生成・ロックなどの際には伏せ字に戻します。

Electron 版として Windows 向けの setup / portable 配布に対応し、GitHub Releases から起動用ファイルを取得できます。setup 版は「ヘルプ」→「アプリ情報 / 更新」から手動で更新する方式で、起動時に勝手に更新を適用することはありません。最新の v0.2.5 では、エントリの選択や保存・コピーの完了を短いアニメーションで示すようにしました(OS の動きを減らす設定に対応)。配布物はコード署名されていません。

02 · hash verification

HashChecker

公開中

  • PowerShell
  • Python
  • Go
  • C#/.NET
  • Rust
  • GitHub Actions

ベンダーから提供されたハッシュ値と、確認対象ファイルから算出したハッシュ値を比較するためのツールです。MD5 と SHA256 に対応し、ハッシュ値を記載したテキストファイルと対象ファイルを指定するだけで照合できます。空行の無視、複数行検出、16進数形式と文字数の検証、大文字・小文字を区別しない比較まで仕様として定めています。

もとは業務想定の制約下で必要になった確認作業がきっかけで、外部ツールを導入せず Windows 標準機能だけで完結させる前提から PowerShell 版を設計しました。それとは別に、自宅環境で改めて共通仕様書を起こし、同じ仕様を Python / Go / C#/.NET / Rust の 4 言語で CLI として実装し直しています。

主眼は「同じ仕様を言語を変えて実装したときに何が変わるか」を確かめることに置きました。入力検証・エラー表示・終了コードを言語間で揃えた上で、横断確認スクリプトと GitHub Actions で全実装が同一のテストデータに対して同じ終了コードを返すかを push のたびに検証し、仕様差が出たら検出できるようにしています。

03 · port management

Port Manager Tool

公開中v1.0.0

  • Electron
  • JavaScript
  • PowerShell
  • electron-builder
  • GitHub Actions

Windows 向けのポート管理デスクトップアプリです。開発環境で起動したまま残っているサーバーや DB のポートを見つけ、確認・停止・登録・監視をひとつの画面で行えます。TCP / UDP の使用中ポートをプロセス名・PID・状態とともに一覧表示し、「すべて / 開発 / DB」の切替で Vite・Django・PostgreSQL などのポートだけに絞り込めます。

プロセス停止は誤操作を防ぐ設計を重視しました。通常停止 / 強制停止と子プロセスの一括停止を選べる一方、OS の重要プロセスやアプリ自身は停止不可とし、サービスや別ユーザーのプロセスは追加で確認します。停止直前にはプロセスとポートの状態を再確認し、表示が古ければ中止します。

あわせて、同じポートを別プロセスが待ち受ける競合や Hyper-V / WSL / Docker による予約ポート範囲の診断、ポートの使用開始・解放の履歴記録、お気に入りポートの監視とデスクトップ通知に対応しています。PowerShell 実行部分は依存注入で差し替え、Electron を起動せずにロジックをテストできる構成とし、CI で Lint とテスト、タグ push でビルドとリリースを自動化しています。v1.0.0 ではインストーラー版(自動アップデート対応)とポータブル版を配布しています。

04 · ai usage monitor

LimitView

公開中v0.1.12

  • Tauri v2
  • Rust
  • React
  • TypeScript
  • Vite
LimitView の通常表示。Codex と Claude Code の利用枠の残り割合を二重リングで示し、下に5時間枠・週間枠の残りと回復までの時間を並べている
通常表示
LimitView のミニマル表示。二重リングと残り割合だけを 200×200 の小さな窓に表示している
ミニマル表示(200×200)

Codex と Claude Code のサブスクリプション利用枠を自動で取得し、5時間枠と週間枠の残り割合をひとつの小さな画面で確認できる Windows 向けデスクトップアプリです。2つの AI コーディングツールを併用していると、どちらの枠があとどれだけ残っているかを確かめるたびに別々の画面を開く必要があったため、常駐させて一目で判断できるダッシュボードとして作りました。

Codex は青、Claude Code はオレンジの二重リングで残量を表示し、中央のアイコンのクリックやホイールで表示するサービスを、中央の数値や枠のラベルのクリックで5時間枠と週間枠を切り替えられます。リセットまでの残り時間も表示し、透明・非装飾のウィンドウと 200×200 のミニマル表示で作業の邪魔にならないようにしています。ミニマル表示の数値には暗い縁取りを付け、明るい壁紙の上でも読めるようにしました。

残量は Codex CLI の app-server と、アプリに同梱した OpenUsage から読み取り、Codex は1分、Claude Code は5分ごとに更新します。Claude の利用枠 API が取得頻度の制限(429)を返した場合は、5分・10分・20分・最大30分と間隔を広げて再試行し、取得制限・認証拒否・サーバー障害・通信失敗を区別して原因と復旧手順を示します。一時的な失敗では直前の残量を保持し、古い値であることと最終取得時刻を表示します。タイムアウトやアプリ終了時には起動した取得用プロセスを子孫まで停止し、同梱する OpenUsage はビルド時にバージョンを固定してチェックサムを検証します。取得結果はメモリ上だけに保持してディスクへ保存しない設計です。v0.1.12 では Windows x64 向けインストーラーと SHA-256 チェックサムを配布し、アプリ内のオプションから公開版の更新を手動で確認できます。

05 · terminal multiplexer

oterm

公開中v0.5.0

  • Rust
  • ratatui
  • portable-pty
  • Claude API
  • Ollama
  • GitHub Actions

Rust で作ったオリジナルのターミナルソフトです。ratatui と portable-pty を土台に、vt100 で解析した画面を自作のレンダラで描画し、tmux のようなタブと左右・上下に何段でも分割できるペインをひとつの TUI で扱えます。ローカルシェルと SSH の接続先は TOML のプロファイルで管理し、SSH は OS 標準の ssh を呼び出すため、鍵やエージェントによる認証は通常の SSH と同じ仕組みで動きます。

Ctrl+Space で開くモーダルに「1MB 以上のファイルを大きい順に列挙」のような自然言語を入力すると、AI がコマンドを提案してアクティブなペインに挿入します。挿入時には改行を付けず、内容を確認してから自分で実行する流れにしています。AI はクラウドの Anthropic Claude とローカルの Ollama をモーダル内で切り替えられ、API キーは設定本体とは別の secrets.toml に分離して、設定ファイルを共有してもキーが混ざらないようにしました。

v0.5.0 では、過去に実行したコマンドを自然言語で探せるコマンド履歴の AI 検索を追加しました。LLM には質問文だけを送り、返ってきた検索語を使って手元の PowerShell / bash の履歴と照合するため、履歴そのものは外部に送信しません。CI でビルドとテストを行い、Windows / macOS / Linux 向けのバイナリをリリースで配布しています(動作確認は Windows のみ)。

Roadmap

今後の展開

運用効率化スクリプト、構成検証用ツールなど、今後ツールを開発次第、順次掲載していきます。