dever преди 5 години
родител
ревизия
cc09de84cf
променени са 3 файла, в които са добавени 32 реда и са изтрити 0 реда
  1. 15 0
      src/shell/ngrok/daemon
  2. 14 0
      src/shell/ngrok/expect
  3. 3 0
      src/shell/ngrok/start

+ 15 - 0
src/shell/ngrok/daemon

@@ -0,0 +1,15 @@
+#!/usr/bin/env sh
+set -e
+name="ngrok_$1"
+while true
+do
+	pids=`ps aux|grep "$name"|grep -v entrypoint|grep -v grep|grep -v process|awk '{print $1}'`
+	if [ "$pids" ]; then
+		sleep 600
+		kill -9 $pids
+	else
+		/data/dm/src/shell/ngrok/expect $name $2
+		echo "ngrok started"
+		sleep 600
+	fi
+done

+ 14 - 0
src/shell/ngrok/expect

@@ -0,0 +1,14 @@
+#!/bin/sh
+set name [lrange $argv 0 0]
+set port [lrange $argv 1 1]
+
+screen -dmS $name
+cmd=$"ngrok -subdomain='$name' -config='ngrok.cfg' $port"
+screen -x -S $name -p 0 -X stuff "$cmd"
+screen -x -S $name -p 0 -X stuff $'\n'
+
+/usr/bin/expect <<EOF #嵌套expect
+send "\01" #模拟输入 ctrl-a
+send "d" #模拟输入d  ctrl-a+d是挂起screen
+expect eof
+EOF

+ 3 - 0
src/shell/ngrok/start

@@ -0,0 +1,3 @@
+#!/usr/bin/env sh
+set -e
+/data/dm/src/shell/ngrok/daemon $1 $2 >/dev/null &