# Allxon Plugin
Allxon provides essential remote device management solutions to simplify and optimize edge AI device operations. As an AI/IoT ecosystem bonder of hardware (IHV), software (ISV), and service providers (SI/MSP), Allxon is the spark that ignites fast, seamless connectivity to keep all systems ON.
Allxon Octo SDK makes it easy to integrate and extend your custom-developed device plugins with a flexible and easy to use development framework. Integrating ngrok tunneling service with Allxon Plugin, you can easily access to your local services that are hosted on your edge devices via web browser.
## Plugin installation
After you successfully enrolled your devices to Allxon Portal, you can download ngrok plugin from Allxon Plugin Station and start using ngrok services.
One-to-many deployment is a core idea of Allxon solutions. Selecting mutiple devices and installing the plugin at once, readily making your devices empowered with ngrok services.
## Configuring ngrok credentials
The step zero to start using the plugin is generating your ngrok authtoken and API key in ngrok dashboard.
### Generating ngrok authtoken and API key
1. Navigate to the ngrok dashboard: https://dashboard.ngrok.com/.
2. Generate a new tunnel authtoke in the Authtokens page.
![image](https://hackmd.io/_uploads/SklzEls2a.png)
3. Copy and keep your authtoke in a safe place.
![image](https://hackmd.io/_uploads/rJQcBljhT.png)
4. Generate a new API key in the API page.
![image](https://hackmd.io/_uploads/HJt8nei2a.png)
5. Copy and keep your API key in a safe place.
![image](https://hackmd.io/_uploads/B1oJTgiha.png)
Follow the steps below to finish configurations in the ngrok plugin.
1. Navigate to the ngrok plugin, and then click "Edit Group Settings" in the Configs card.
![image](https://hackmd.io/_uploads/BJj9hFlnT.png)
2. Click "Edit" to enter your ngrok authtoken and API key, and click "Save".
![image](https://hackmd.io/_uploads/SJm8AFg36.png)
3. Navigate back to the ngrok plugin. If you find the tunnel status in the States card has changed from "Cannot check status." to "Close", reflecting your ngrok API key is active and working with ngrok agent on your device.
![image](https://hackmd.io/_uploads/Sk7Jk9g2p.png)
## Opening a tunnel
Tunneling is a service that ngrok agent exposes your local services to the Internet, which particularly useful for accessing remote devices that usually have different network settings with operator machines. For instance, establishing SSH connection and serving local file system directories. Follow the steps below to open two different tunnels on your devices.
1. Unfold "Open tunnel" in the Commands card. Checking your ngrok authtoken is properly set in the Configs. Specify the endpoint with "tcp", port with "22", and a name (optional). In this example, forwarding TCP endpoint port 22 is opening a tunnel for SSH connection. Click "Execute" to open the tunnel.
![image](https://hackmd.io/_uploads/HJ0Py5en6.png)
2. Click "Execute" again.
![image](https://hackmd.io/_uploads/H1Zex5lnT.png)
3. Navigate to the States Card. If the tunnel is opened, the tunnel status will be "Open" and TCP endpoint will show your defined tunnel name with a link. (Learn more about using the link to make SSH connection in [ngrok's document](https://ngrok.com/docs/using-ngrok-with/ssh/).)
![image](https://hackmd.io/_uploads/ryLYg5x2a.png)
4. Let's try serving local file system directories in the plugin. Specify endpoint with "http", port with "file:///home", and a name. Click "Execute".
![image](https://hackmd.io/_uploads/HyOgW9lha.png)
5. Navigate to the States card. Copy the HTTPS link in HTTP endpoint and paste it in your web browser to start browsing your home directory of your remote device.
![image](https://hackmd.io/_uploads/Byl8-9x26.png)
Please note that initiating multiple endpoints is a paid feature of ngrok service.
## Closing a tunnel
1. Unfold "Close tunnel" in the Commands card. Enter the link that associated with the tunnel you would like to close. Click "Execute".
![image](https://hackmd.io/_uploads/B1lobcx2T.png)
2. Click "Execute" again.
![image](https://hackmd.io/_uploads/r1zffqx2p.png)
3. You will find the name and link of tunnel you have just closed is removed from the States card. If you close all the active sessions, the tunnel status will be "Close" again.