runbot/runbot_merge/localtunnel

26 lines
585 B
Plaintext
Raw Permalink Normal View History

#!/usr/bin/env python
import re
import signal
import subprocess
import sys
import threading
port = int(sys.argv[1])
p = subprocess.Popen(['lt', '-p', str(port)], stdout=subprocess.PIPE, encoding="utf-8")
r = p.stdout.readline()
m = re.match(r'your url is: (https://.*\.localtunnel\.me)', r)
assert m, "could not get the localtunnel URL"
print(m[1], flush=True)
sys.stdout.close()
shutdown = threading.Event()
def cleanup(_sig, _frame):
p.terminate()
p.wait(30)
shutdown.set()
signal.signal(signal.SIGTERM, cleanup)
signal.signal(signal.SIGINT, cleanup)
shutdown.wait()