Skip to main content
Glama
install-ngrok.sh6.67 kB
#!/bin/bash # ngrok 公式バイナリインストールスクリプト # snap版を削除して、公式バイナリをインストールします echo "==========================================" echo "🔧 ngrok 公式バイナリインストール" echo "==========================================" echo "" # rootチェック if [ "$EUID" -eq 0 ]; then echo "⚠️ このスクリプトはroot権限で実行しないでください" echo " 必要に応じてsudoパスワードを求めます" exit 1 fi # 1. 既存のngrokプロセスを停止 echo "1️⃣ 既存のngrokプロセスを確認しています..." NGROK_PIDS=$(pgrep -f "ngrok") if [ -n "$NGROK_PIDS" ]; then echo " 見つかったプロセス:" ps aux | grep ngrok | grep -v grep echo "" read -p " これらのプロセスを停止しますか? (Y/n): " -n 1 -r echo "" if [[ ! $REPLY =~ ^[Nn]$ ]]; then for pid in $NGROK_PIDS; do kill $pid 2>/dev/null && echo " ✅ PID $pid を停止しました" || echo " ⚠️ PID $pid の停止に失敗" done sleep 1 # 強制停止 REMAINING=$(pgrep -f "ngrok") if [ -n "$REMAINING" ]; then echo " 強制停止します..." for pid in $REMAINING; do kill -9 $pid 2>/dev/null && echo " ✅ PID $pid を強制停止" || echo " ⚠️ PID $pid を停止できません(sudo必要)" done fi fi else echo " ℹ️ 実行中のngrokプロセスはありません" fi echo "" # 2. snap版ngrokを削除 echo "2️⃣ snap版ngrokを確認しています..." if snap list 2>/dev/null | grep -q ngrok; then echo " ✅ snap版ngrokが見つかりました" echo "" read -p " snap版ngrokを削除しますか? (Y/n): " -n 1 -r echo "" if [[ ! $REPLY =~ ^[Nn]$ ]]; then echo " 削除中..." sudo snap remove ngrok if [ $? -eq 0 ]; then echo " ✅ snap版ngrokを削除しました" else echo " ⚠️ 削除に失敗しました" fi else echo " ⚠️ snap版が残っています。競合する可能性があります" fi else echo " ℹ️ snap版ngrokはインストールされていません" fi echo "" # 3. 既存のバイナリを確認 echo "3️⃣ 既存のngrokバイナリを確認しています..." EXISTING_NGROK=$(which ngrok 2>/dev/null) if [ -n "$EXISTING_NGROK" ]; then echo " 見つかりました: $EXISTING_NGROK" $EXISTING_NGROK version 2>/dev/null || echo " (バージョン情報を取得できません)" echo "" read -p " 既存のバイナリをバックアップして置き換えますか? (Y/n): " -n 1 -r echo "" if [[ ! $REPLY =~ ^[Nn]$ ]]; then sudo mv "$EXISTING_NGROK" "${EXISTING_NGROK}.backup.$(date +%Y%m%d_%H%M%S)" echo " ✅ バックアップしました" else echo " スキップします" exit 0 fi else echo " ℹ️ 既存のバイナリは見つかりませんでした" fi echo "" # 4. 公式バイナリをダウンロード echo "4️⃣ 公式バイナリをダウンロードしています..." # アーキテクチャ検出 ARCH=$(uname -m) case $ARCH in x86_64) NGROK_URL="https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz" echo " アーキテクチャ: x86_64 (amd64)" ;; aarch64|arm64) NGROK_URL="https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-arm64.tgz" echo " アーキテクチャ: arm64" ;; armv7l|armhf) NGROK_URL="https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-arm.tgz" echo " アーキテクチャ: arm" ;; i386|i686) NGROK_URL="https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-386.tgz" echo " アーキテクチャ: 386" ;; *) echo " ❌ サポートされていないアーキテクチャ: $ARCH" exit 1 ;; esac cd /tmp echo " ダウンロード中: $NGROK_URL" wget -q --show-progress "$NGROK_URL" -O ngrok.tgz if [ $? -ne 0 ]; then echo " ❌ ダウンロードに失敗しました" echo "" echo " 手動でダウンロードする場合:" echo " https://ngrok.com/download" exit 1 fi echo " ✅ ダウンロード完了" echo "" # 5. 展開とインストール echo "5️⃣ インストールしています..." tar xzf ngrok.tgz if [ ! -f "ngrok" ]; then echo " ❌ 展開に失敗しました" exit 1 fi echo " /usr/local/bin/ にインストールします(sudo必要)" sudo mv ngrok /usr/local/bin/ sudo chmod 755 /usr/local/bin/ngrok if [ $? -eq 0 ]; then echo " ✅ インストール完了" else echo " ❌ インストールに失敗しました" exit 1 fi # クリーンアップ rm -f ngrok.tgz echo "" # 6. 動作確認 echo "6️⃣ 動作確認..." NGROK_PATH=$(which ngrok) echo " インストール先: $NGROK_PATH" if [ -x "$NGROK_PATH" ]; then NGROK_VERSION=$($NGROK_PATH version 2>&1) echo " バージョン: $NGROK_VERSION" echo " ✅ 正常にインストールされました" else echo " ❌ ngrokが見つかりません" exit 1 fi echo "" # 7. 認証トークンの確認 echo "7️⃣ 認証トークンの確認..." NGROK_CONFIG="$HOME/.config/ngrok/ngrok.yml" if [ -f "$NGROK_CONFIG" ]; then if grep -q "authtoken:" "$NGROK_CONFIG"; then echo " ✅ 認証トークンが設定されています" echo " 設定ファイル: $NGROK_CONFIG" else echo " ⚠️ 認証トークンが設定されていません" echo "" echo " 設定方法:" echo " 1. https://dashboard.ngrok.com/get-started/your-authtoken" echo " 2. ngrok config add-authtoken YOUR_AUTHTOKEN" fi else echo " ⚠️ 設定ファイルが見つかりません" echo "" echo " 初回セットアップ:" echo " ngrok config add-authtoken YOUR_AUTHTOKEN" fi echo "" echo "==========================================" echo "✅ インストール完了!" echo "==========================================" echo "" echo "📝 次のステップ:" echo "" echo "1. 認証トークンを設定(未設定の場合):" echo " ngrok config add-authtoken YOUR_AUTHTOKEN" echo "" echo "2. テスト実行:" echo " ngrok http 3000" echo "" echo "3. Universal MCP Serverで使用:" echo " ./start-all.sh" echo "" echo "📚 詳細情報:" echo " https://ngrok.com/docs" echo ""

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Amana03/universal-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server