Commit 3158d17c authored by Nathanael Santoso's avatar Nathanael Santoso
Browse files

fixed an issue with using ngrok for other connections and also ngrok not using auth_token

parent 2edf73b3
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
from pyngrok import ngrok, conf, exception

def connect(token, port, region):
    # Guard for existing tunnels
    existing = ngrok.get_tunnels()
    if existing:
        public_url = existing[0].public_url
        print(f'ngrok has already been connected to localhost:{port}! URL: {public_url}\n'
               'You can use this link after the launch is complete.')
        return

    account = None
    if token is None:
        token = 'None'
@@ -21,6 +13,18 @@ def connect(token, port, region):
    config = conf.PyngrokConfig(
        auth_token=token, region=region
    )
    
    # Guard for existing tunnels
    existing = ngrok.get_tunnels(pyngrok_config=config)
    if existing:
        for established in existing:
            # Extra configuration in the case that the user is also using ngrok for other tunnels
            if established.config['addr'][-4:] == str(port):
                public_url = existing[0].public_url
                print(f'ngrok has already been connected to localhost:{port}! URL: {public_url}\n'
                    'You can use this link after the launch is complete.')
                return
    
    try:
        if account is None:
            public_url = ngrok.connect(port, pyngrok_config=config, bind_tls=True).public_url