友人とアプリのURLを簡単に共有できるシステムです。ngrokで公開しているアプリのURLを、Googleログインで認証された友人だけに自動で共有できます。
- ngrok URLの自動取得: ngrokで生成されたURLを自動で取得
- リアルタイム更新: URL変更時も自動で反映(10秒ごと)
- 認証機能: 許可された友人だけがアクセス可能
- ステータス表示: アプリの稼働状況を自動判定
- あなた(管理者): localhost:8000でアプリを開発・テスト
- 友人: Webページからngrok URLにアクセスしてアプリをテスト
まず、いつも通りlocalhost:8000でアプリを起動してください。
# 例: あなたのアプリの起動コマンド
python app.py
# または
npm startstart.command ファイルをダブルクリックするだけ!
📁 ngrok管理web/
└─ start.command 👈 これをダブルクリック
または、ターミナルから:
cd "/Users/tsujisouhei/Desktop/ngrok管理web"
./start.command以下のURLを友人に送ってください:
http://localhost:8080
※注意: 現在はローカル環境のみ。Renderにデプロイすると、どこからでもアクセス可能になります。
- あなたから送られたURLにアクセス
- 「Googleでログイン」 をクリック
- ngrok URLが自動表示される
- 「アプリを開く」 ボタンをクリック
- あなたのアプリにアクセス完了!
ターミナルで Ctrl+C を押すだけ。
全てのプロセス(ngrok、監視スクリプト、Web UI)が自動で停止します。
.env ファイルを編集してください:
# .env ファイル
ALLOWED_EMAILS=pontaro.no1@gmail.com,friend1@gmail.com,friend2@gmail.comカンマ区切りで複数追加できます。
原因: Web UIが起動していない
解決方法:
- start.commandを再度実行
- ターミナルに「Web UI起動」と表示されるか確認
- http://localhost:8080 を再読み込み
原因: メールアドレスがホワイトリストに登録されていない
解決方法:
.envファイルを開くALLOWED_EMAILSに友人のメールアドレスを追加- Web UIを再起動(start.commandを停止して再実行)
原因: localhost:8000のアプリが起動していない
解決方法:
- localhost:8000のアプリを起動
- 10秒待つ(自動で「オンライン」に変わります)
ngrok管理web/
├── start.command # 👈 これをダブルクリックで起動
├── .env # 設定ファイル(メールアドレス等)
├── README.md # このファイル
├── SETUP.md # 初期セットアップガイド(完了済み)
│
├── local/ # ローカル監視スクリプト
│ ├── monitor.py # ngrok URL取得・Firestore保存
│ └── config.py
│
├── web/ # Web UI(友人向けページ)
│ ├── main.py # FastAPIアプリ
│ ├── templates/
│ └── static/
│
└── firebase/
└── serviceAccountKey.json # Firebase認証情報
現在はlocalhost:8080でしかアクセスできませんが、Renderにデプロイすると世界中どこからでもアクセス可能になります。
- ✅ あなたのPCを起動しなくても友人がアクセス可能
- ✅ 外部からアクセス可能なURL(例: https://your-app.onrender.com)
デプロイ方法は SETUP.md を参照してください。
A: 制限なし。.envのALLOWED_EMAILSにカンマ区切りで追加してください。
A: 不要です。システムが自動で最新URLを取得・表示します。
A: 完全無料です。無料枠(Sparkプラン)で十分運用できます。
A: .envのTARGET_PORTを変更してください。
# .env
TARGET_PORT=3000 # 例: ポート3000に変更問題が解決しない場合は、以下を確認してください:
-
ログファイル
/tmp/ngrok-monitor.log- 監視スクリプトのログ/tmp/ngrok-web.log- Web UIのログ
-
ngrok管理画面
以上です。何か問題があれば、ログファイルを確認してください。
楽しいアプリ開発を!🚀