xtension_manual:ngrok
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
xtension_manual:ngrok [2021/03/28 13:01] – created James Sentman | xtension_manual:ngrok [2023/02/13 14:52] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | This is a placeholder page for documentation about the upcoming | + | {{: |
+ | |||
+ | The advantage to using ngrok is that it does not require creating your own self signed TLS certificates and configuring your router for NAT passthrough and then setting up a dyndns account. No access to your router configuration is needed as all the connections are outgoing from XTension to their servers. If your router gets replaced or rebooted by the cable company you won’t lose your connection. | ||
+ | |||
+ | ----- | ||
+ | =====NGROK Configuration: | ||
+ | You can experiment with their free account, but this is not supported by the built in configuration tools in XTension. They create | ||
+ | |||
+ | < | ||
+ | ngrok http 8080 | ||
+ | </ | ||
+ | |||
+ | or whatever port number is appropriate. The interface brought up in the terminal will show you what the randomly generated hostname is for your testing. Once you have verified that it works and will be of use to you then you can sign up for one of their paid service tiers and configure it in XTension. | ||
+ | |||
+ | The XTension tools require at least their basic account and that you use reserved subdomains of the ngrok.io address. After you create your account you can reserve subdomains from the [[https:// | ||
+ | |||
+ | When you reserve a domain name be sure to select the correct region | ||
+ | |||
+ | The only other setting you’ll need from their site is your [[https:// | ||
+ | |||
+ | ----- | ||
+ | =====XTension Configuration: | ||
+ | First you need a mobile or regular web interface to share and you’ll need to know the port that it is running on. Only non-ssl unencrypted sites can be shared through the XTension interface. Since all communication to and from their site is encrypted with their tls certificates this does not reduce your security any, it just greatly simplifies managing the security certificates. You do not need to expose the non-ssl version of the interface to the internet, only make it available on the local network. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Now you are ready to being adding individual tunnels for each interface. You can create web service tunnels as well as directory listing shares. Click the “+” button below the list to begin adding tunnels. | ||
+ | |||
+ | ----- | ||
+ | =====Creating a Web Service Tunnel===== | ||
+ | {{: | ||
+ | |||
+ | **Description: | ||
+ | |||
+ | **Subdomain: | ||
+ | |||
+ | **Require Password:** Most XTension | ||
+ | |||
+ | **Tunnel Type:** For the moment only http and file sharing tunnel types are supported. To share a web service select “Secure HTTP Passthrough” from the tunnel type popup. | ||
+ | |||
+ | **Local HTTP Port:** This is the port you are running your web interface on locally. Make sure to use the port number of the non-SSL version of the interface. When tunneled to ngrok it will run on the standard https port regardless of what port it is running on locally. | ||
+ | |||
+ | ----- | ||
+ | =====Forwarding To A Different Machine: | ||
+ | The above settings are for tunneling from the XTension machine. There is no reason that the tunneled interface needs to be an XTension interface. Any http type interface can be forwarded by this service and the XTension interface to it. Additionally the service does not need to be running on the same machine as XTension on your local network in order to be tunneled. | ||
+ | |||
+ | To tunnel to a web interface on any other machine on your local network you need to enter it’s address and port into the **Local HTTP Port** field. Say you had another program running on a raspberry pi on your network that you wished to tunnel and it’s iP address was 192.168.0.45 and it’s port was 8080 the correct entry for that field would be “192.168.0.45: | ||
+ | |||
+ | ----- | ||
+ | =====File Sharing: | ||
+ | {{: | ||
+ | |||
+ | The absolute path of the folder being shared will be shown in smaller text below the select folder button in the interface. Click the select folder button to select an initial folder to share or to change an existing one. | ||
+ | |||
+ | All other settings are the same as for sharing an http resource. | ||
+ | |||
+ | Please note that if you do not set a user/ | ||
+ | |||
+ | ----- | ||
+ | =====Other Considerations: | ||
+ | As of this first release error handling is minimal as I haven’t been able to generate very many. That being said I do not know yet how reliable this service is going to be. I would not disable other modes of connecting to your machines so that you have more than one way of reaching home if something goes astray. | ||
+ | |||
+ | Don’t use the ngrok link when accessing your machine from your local network. The overhead of the encryption as well as the round trip to the internet and back would add unnecessary slow downs when you’re already on the same local network. On a computer use a direct link when you are at home and only use the ngrok link when you’re away from home. On a mobile device like an iPhone you can create 2 shortcuts for reaching a web interface, one for the local network and another for when you’re outside. | ||
+ | |||
+ | I have seen some errors occasionally when changing the configuration and restarting the client process in the background. Watch the log file after saving new configuration to make sure the background process does not immediately quit with an error. In every case I experienced just trying to enable it again in a few moments worked to get it going again. If I can figure out why this is happening I will fix the problem in a future version. | ||
+ | |||
+ | The ngrok configuration file created by the XTension interface is saved in your XTension Support folder inside your Documents folder and is called ngrok_config.yml Don’t edit this file manually as it is re-created each time the process is started or whenever you make any changes to the settings. | ||
+ | |||
+ | ----- | ||
+ | =====History: | ||
+ | * The ngrok integration was first added to XTension in version 9.4.39 in March of 2021 |
xtension_manual/ngrok.1616936515.txt.gz · Last modified: 2023/02/13 14:51 (external edit)