1. Create a free ngrok account. Go to the ngrok sign-up page (https://dashboard.ngrok.com/signup). Fill in your details and click on the blue Sign Up button. 2. Download the necessary files: Create an ngrok folder somewhere on your PC to save all these files (I create it on my desktop) i) The scripts: https://flakie.co.uk/downloads/setup-ngrok.zip Save in the ngrok folder you created earlier on your PC. There should now be 1 file in the ngrok folder. ii) Download the Termux android apk: https://flakie.co.uk/downloads/termux_0.101.apk Save in the ngrok folder you created earlier on your PC. There should now be 2 files in the ngrok folder. iii) Download the alternative keyboard: https://flakie.co.uk/downloads/LeanKeyKeyboardPro_v6.0.8_origin_r.apk Save in the ngrok folder you created earlier on your PC. There should now be 3 files in the ngrok folder. iv) Download version 2 of the Flakie ADB GUI app: https://flakie.co.uk/downloads/FlakieADBGUI.zip Save in the ngrok folder you created earlier on your PC. There should now be 4 files in the ngrok folder. v) Download the scrcpy ADB Remote Control application: https://github.com/Genymobile/scrcpy/releases/download/v1.17/scrcpy-win64-v1.17.zip Save in the ngrok folder you created earlier on your PC. There should now be 5 files in the ngrok folder. 3. Unzip the files. i) Unzip all the script files from the setup-ngrok.zip file you downloaded in step 2-i. Unzip them into the same ngrok folder. There are a total of 10 files in the ngrok folder. There should now be 15 files in the ngrok folder. ii) Create a folder on your PC for the scrcpy and Flakie ADB GUI applications and to hold the apk files. I use a folder named scrcpy on my C:\ drive (c:\scrcpy). iii) Copy (or move) the 2 apk files (termux_0.101.apk and LeanKeyKeyboardPro_v6.0.8_origin_r.apk) to the scrcpy folder. There should now be 2 files in the scrcpy folder. iv) Unzip the contents scrcpy-win64-v1.17.zip you downloaded in step 2-v into the scrcpy folder you just created (there are 13 files in the zip file). There should now be 15 files in the scrcpy folder. v) Unzip the contents of the FlakieADBGUI.zip you downloaded in step 2-iv into the scrcpy folder (there are 2 files in the zip file). There should now be 17 files in the scrcpy folder. 4. Upload the scripts to the sdcard/download folder on the Firestick. To do this we will use my Flakie ADB GUI app and scrcpy. In the scrcpy folder double-click on the FlakieADBGUI.exe file to open the app. Connect to your Firestick with Flakie ADB GUI. Open a srcpy Remote Control session with Flakie ADB GUI. Open the ngrok folder Have both the ngrok folder and the scrcpy session open on the screen and both visible. Select all 9 of the script files (ap, au, eu, in, jp, ngrok, sa, setup and us). Then select them all and drag and drop onto the scrcpy session window. There is no feedback but if you go back to Flakie ADB GUI and look in the scrcpy Output box you will see confirmation there that the files have been uploaded/pushed to the Firesticks sdcard/download folder. Close scrcpy but not Flakie ADB GUI. 5. Install the APKs onto the Firestick. Install the Keyboard and Termux applications (apk) onto the Firestick. Use Flakie ADB GUI to do this. 6. Configure the keyboard to work with the Firestick. Use custom ADB Shell commands feature of Flakie ADB GUI to run the following commands: adb shell ime enable com.liskovsoft.leankeyboard/.ime.LeanbackImeService adb shell ime set com.liskovsoft.leankeyboard/.ime.LeanbackImeService 7. Install the ngrok scripts onto the Firestick. Open a scrcpy remote control session to the Firestick. In the scrcpy remote control window browse to the Termux application and open it. We do not need the keyboard at this time so close it with a right-click of your mouse button. We have to copy and paste 4 commands into the Termux window, one at a time. Copy and pasting is a 3-step process. Step 1. Select and copy the command on your Windows PC (this copies the command to the Windows clipboard). Step 2. Open the scrcpy remote control window and press CTRL-V (this copies the command to the clipboard on the Firestick). Step 3. Long click (click and hold) with the left-mouse button on the bottom line of the Termux window and choose paste for the pop-up menu (this pastes the command into Termux). Do this with the following command: termux-setup-storage Click on Allow when prompted. Run the folowing commands one at a time: mv -v /sdcard/download/setup /$HOME chmod +x setup bash setup 8. Install your ngrok authtoken into ngrok with Termux. Login into your ngrok account. When logged in you should be at the ngrok Setup and Installation screen. Copy the line of code from the Connect your account section there. It looks similar to this: ./ngrok authtoken 1nPBOVrSBS44EaaBMmZMBo4pmW4_2S9ZKtj4M6PANVD3MHUfg Then back in the Termux window, via scrcpy, press CTRL-V to copy the code to the Firesticks clipboard. Then long-click (press and hold) with the left mouse button and choose paste from the pop-up menu. Then click on ENTER on your keyboard. You will get a confirmation that the authtoken has been saved to the ngrok configuration file. 9. Start the ngrok Tunnel. To be able to remotely connect to the Firestick you will need to start the ngrok tunnel using one of my scripts. Use the script for your region. ap = Asia/Pacific au = Australia eu = Europe in = India jp = Japan sa = South America us = United States Choose your region code. I am in UK so I use the Europe one (eu). In the Termux window type: bash where region code is the one for you region. So I would type: bash eu Note you can also type the shorter code: ./eu either will work (use whichever you prefer). After you type the code, press enter on your keyboard. The tunnel will then start. At first it wil be a red colour as it tries to make the connection. When it changes to green you are connected to ngrok started the tunnel. 10. Connect to the ngrok Tunnel. If you have set this up up using a remote session to the Firestick using Flakie ADB GUI and scrcpy, or are in any other way connected to the Firestick using ADB then you must first close that connection. We have been using Flakie ADB GUI and scrcpy so we have to close the connection. First close the scrcpy window. Then in Flakie ADB GUI click on the Close All ADB button. Go back you your ngrok online account. Open the page, Status>Tunnels. If it shows there are no tunnels currently online, refresh your browser. Your Tunnel URL should now be displayed. Select all the text in the URL section and copy it. Go back to Flakie ADB GUI. In the ngrok connection section (bottom-right), select the Tunnel URL textbox and paste into it. If any spaces are showing at the front of the URL delete them. You can also delete the tcp:// part if you like as this is not required. Not necessary though as Flakie ADB GUI will strip this out for you. Finally connect to the remote Firestick by clicking on the 'Connect with ngrok' button. An ADB connection will be made to the remote Firestick. You can now use the tunnel with Flakie ADB GUI. All the features of FLAKIE ADB GUI will work through the tunnel, including scrcpy remote control sessions. Just select the tunnel URL as the device (instead of the usual IP/Port). 11. Close the Tunnel. It is OK to leave the tunnel running. It is secure and if no-one has the URL they cannot connect. If using a physical keyboard you just have to press CTRL-C which will instantly close the tunnel. If using the Firestick remote control it involves additional steps. First if the on-screen keyboard is showing, close it by using the back button on the remote. When the keyboard is closed press the Menu button on the remote. Scroll down to Kill process (12345) – where 12345 is a random number. Press the Select button on the remote and click OK when asked to Really kill this session. The tunnel is now closed, but it appears it is still open. To get rid of it we need to use the on-screen keyboard. If this is not showing you can either: 1. Press the Home button on the remote and re-open Termux. The keyboard should now be showing. or: 2. Long-Press the Home button on the remote (which will show the ‘Apps, Sleep, Mirroring, Settings’ menu) and immediately click the back button on the remote. Then simply scroll across the Done and click on it. The session will now be closed and Termux will exit. You can confirm the session is closed by opening Termux again. If you want to start a new tunnel session again, using the on-screen keyboard, just use the bash region option (e.g. bash eu). Or use ./ region option (e.g. ./eu) Then press DONE on the on-screen keyboard Or you can use a physical keyboardto do this. Note: When you restart the tunnel you must log into your ngrok account to get the new Tunnel URL and use this in Flakie ADB GUI to connect.