ネットワーク内のデバイスをWebブラウザから簡単に起動できるWake on LAN(WOL)アプリケーションです。UIからデバイス管理と起動操作を行うことができます。
-
Webインターフェース シンプルなUIでWOLパケットを簡単に送信
-
デバイス履歴管理 一度使用したデバイス情報を自動保存し、ワンクリックで再起動
-
デバイス状態監視 IPアドレスが設定されているデバイスのオンライン状態をリアルタイムで確認
-
高速な状態チェック ping、各種ポート(SSH、HTTP、RDPなど)を使った状態確認
-
自動デプロイ対応 GitHub ActionsによるCI/CDパイプラインで継続的インテグレーション
- Preact - 軽量なReact互換ライブラリ
- TypeScript - 型安全なJavaScript
- Vite - 高速なビルドツール
- Biome - 統合型リンター・フォーマッター
- react-toastify - 通知システム
- Go - 高性能なシステムプログラミング言語
- GitHub Actions - CI/CDパイプライン
- pnpm - 高速なパッケージマネージャー
- Node.js 20.x以上
- Go 1.22.2以上
- pnpm
git clone https://github.com/TkymHrt/wake-on-lan-app.git
cd wake-on-lan-appcd frontend
pnpm installcd backend
go mod download
go mod verifycd frontend
pnpm run devcd backend
go run main.goサーバーはデフォルトで http://localhost:8080 で起動します。
# フロントエンド
cd frontend
pnpm run lint # コードの静的解析
pnpm run format # コードフォーマット
pnpm run check # 統合チェック(lint + format)
# バックエンド
cd backend
go vet ./... # 静的解析
go fmt ./... # コードフォーマット
go test ./... # テスト実行cd frontend
pnpm run buildcd backend
go build -o wol-server# バックエンドがフロントエンドファイルも配信します
cd backend
./wol-server -port 8080 -host 0.0.0.0本プロジェクトはGitHub ActionsによるCI/CDパイプラインを含んでいます
-
コード品質チェック
- Biome による静的解析・フォーマットチェック
- TypeScript型チェック
- Go vet による静的解析
-
ビルド検証
- フロントエンド・バックエンド個別ビルド
- アーティファクト生成と検証
-
統合テスト
- 本番同等環境でのサーバー起動テスト
- API エンドポイント疎通確認
-
セキュリティスキャン
- npm audit による脆弱性チェック
- govulncheck による Go脆弱性スキャン
-
自動デプロイ (mainブランチプッシュ時)
- systemdサービスとしての自動デプロイ
- ゼロダウンタイムデプロイメント
-
デバイス情報の入力
- MACアドレス(必須):
AA:BB:CC:DD:EE:FF形式 - デバイス名(任意): 識別しやすい名前
- IPアドレス(任意): 状態監視用
- MACアドレス(必須):
-
デバイスの起動
- 「起動する」ボタンをクリック
- WOLパケットが送信されます
-
履歴からの再起動
- 過去に使用したデバイスが履歴に表示
- 「起動」ボタンで即座に再起動可能
-
状態確認
- IPアドレスが設定されたデバイスは状態アイコンで確認
- 🟢 オンライン / 🔴 オフライン
./wol-server -port 8080 -host 0.0.0.0-port: 待受ポート(デフォルト: 8080)-host: バインドアドレス(デフォルト: 0.0.0.0)
POST /api/wake?mac=AA:BB:CC:DD:EE:FF- WOLパケット送信GET /api/status?ip=192.168.1.100- デバイス状態確認
GitHub Actionsによる自動デプロイでは以下が自動実行されます:
/opt/wake-on-lan/への配置- systemdサービスの作成・起動
- サービスの自動起動設定
デプロイ後は http://localhost:8080 でアプリケーションにアクセスできます。
