SMSダッシュボード(自家ホスト向け)

Web

概要

SMS Dashboardは、自分でホストするタイプのSMS(短信)転送・受信管理パネルです。Android端末上のSMS転送アプリから送信されたメッセージをHTTPで受け取り、Web UIで一覧表示・検索・管理できます。バックエンドはGoで書かれ、フロントエンドのビルド成果物はembed機能で埋め込むため単一の実行ファイルとして配布可能。認証は管理画面側がユーザー名/パスワード+JWT、受信APIはTokenまたはSign方式の検証を行えるため、実運用でも安全に使えます。データはSQLiteに保存され、Dockerで簡単にデプロイ可能なのも特徴です(約300字)。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 0
  • ウォッチャー数: 3
  • コミット数: 2
  • ファイル数: 11
  • メインの言語: Go

主な特徴

  • 単一バイナリ展開:Goのembedでフロントを組み込み、配布が簡単
  • Android SMS転送アプリ互換:標準的なHTTP POSTで連携可能
  • 認証・セキュリティ:管理画面はJWT、受信APIはToken/Signで保護
  • 軽量運用:SQLite採用・Docker対応で導入と永続化が容易

技術的なポイント

SMS DashboardはバックエンドにGo(Ginフレームワーク)を採用し、ORMにGORMを使ってSQLiteへアクセスします。フロントエンドはVue 3 + TypeScriptで作成され、Viteでビルドされた静的ファイル群をGoのembedでバイナリに組み込む設計です。これにより、デプロイは単一の実行ファイルと必要なボリューム(SQLiteファイル)だけで完結します。

API設計はAndroidのSMS転送アプリが送る標準的なHTTP POSTを想定しており、受信APIには2種類の保護方式(固定Tokenベースと送信側で計算したSignによる検証)を実装可能にしているため、端末とサーバー間のなりすましリスクを低減します。管理用のWeb UIはJWTで認可・認証を行い、ログインしたユーザーに対してメッセージの一覧表示、詳細表示、削除やフィルタリングなどの操作を提供します。

データ永続化はSQLiteベースで軽量かつファイル単位の管理が容易。Dockerfileが用意されており、コンテナ化してボリュームマウントでDBを永続化する運用が想定されています。開発面ではGo単体でAPIと静的資産の配信を担うため、インフラ要件が低く、スモールスケールの自家ホスト用途に適しています。フロントエンドでTailwind CSSを採用しているため、レスポンシブかつ簡潔なUIを容易に構築でき、必要に応じて機能拡張や認証強化(OAuth2や2FA等)の追加も比較的スムーズです。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .dockerignore: file
  • .gitattributes: file
  • .idea: dir
  • Dockerfile: file
  • README.md: file

…他 6 ファイル

まとめ

単一バイナリで軽量に運用できる自家ホスト型のSMS転送・管理パネルで、手軽に導入・運用できます(約50字)。

リポジトリ情報:

READMEの抜粋:

SMS Dashboard 📱

一个轻量级、自托管的短信转发接收面板。配合 Android 短信转发器使用,可以方便地在网页端查看、管理转发的短信。

✨ 特性

  • 单文件部署:后端使用 Go 开发,前端构建产物通过 embed 嵌入,最终只生成一个二进制文件。
  • Android 转发器兼容:提供标准的 HTTP POST 接口,完美对接各类 Android 短信转发应用。
  • 安全可靠
    • API 接收接口支持Token鉴权,支持Sign鉴权。
    • 管理面板支持账号密码登录,使用JWT进行身份验证。
  • 简洁美观:前端采用 Vue 3 + Tailwind CSS 构建,支持响应式布局。
  • 轻量存储:使用 SQLite 数据库,无需安装复杂的数据库环境。
  • 持久化:支持 Docker 部署及数据卷挂载。

🛠️ 技术栈

  • 后端: Go (Gin, GORM)
  • 前端: Vue 3, TypeScript, Vite, Tailwind CSS
  • 数据库: SQL…