Create Free Windows RDP Using GitHub and Ngrok




Ceate Free Windows RDP Using GitHub and Ngrok (2025)

Remote Desktop Protocol (RDP) is a powerful way to access a Windows machine from anywhere in the world. In this blog, you'll learn how to create a FREE Windows RDP using GitHub and Ngrok without needing a credit card, VPS, or paid hosting service.

⚠️ Disclaimer: This guide is for educational purposes only. Do not use it for any illegal or abusive activities. You are responsible for your own actions.


✅ What You'll Need:

  • A GitHub account (Free)

  • Ngrok account (Free)

  • A device with a browser and internet connection


🛠 Step-by-Step Guide

Step 1: Create a GitHub Account

If you don’t have one, sign up here:
👉 https://github.com


Step 2: Create GitHub Repository


  1. Enter Name 
  2. Select private
  3. Click create
  4. then click Settings
  5. actons
  6. secret and variables
  7. new secret
  8. name : NGROK_AUTH_TOKEN
  9. Copy secret from NGROK

Step 3: Configure Ngrok

  1. Go to https://ngrok.com and create a free account.

  2. After logging in, click on "Your Authtoken" from the dashboard.

  3. Copy your Ngrok authtoken.

  4. Paste in Github Secret Block and Save 

  5. now click actions

  6. set up work flow yourself

  7. Now Paste Command (Available below) 

  8. Copy this complete command

  9. name: CI


    on: [push, workflow_dispatch]


    jobs:

      build:


        runs-on: windows-latest


        steps:

        - name: Download

          run: Invoke-WebRequest https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip -OutFile ngrok.zip

        - name: Extract

          run: Expand-Archive ngrok.zip

        - name: Auth

          run: .\ngrok\ngrok.exe authtoken $Env:NGROK_AUTH_TOKEN

          env:

            NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}

        - name: Enable TS

          run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 0

        - run: Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

        - run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1

        - run: Set-LocalUser -Name "runneradmin" -Password (ConvertTo-SecureString -AsPlainText "P@ssw0rd!" -Force)

        - name: Create Tunnel

          run: .\ngrok\ngrok.exe tcp 3389


Step 4:

Click “Commit changes” to save.


Step 5: Run the RDP

  1. Go to the "Actions" tab in your GitHub repo.

  2. Click the latest workflow named “Cl”.

  3. If it’s not already running, click “Run workflow” manually.

  4. Wait for 2–3 minutes until the script completes.


Step 6: Get RDP Connection Details

  1. After it finishes, click the workflow run

🎯 How to Connect to RDP?

  1. Open Ngrok

  2. Select Endpoints and copy something like this (0.tcp.ngrok.io:12345)

  3. Open Remote Desktop Connection on Windows

  4. In Computer, enter:

    0.tcp.ngrok.io:12345(it will be different according to you)
  5. Enter the username and password shown in your GitHub action logs.

  6. USER: runneradmin

  7. PASSWORD: P@ssw0rd!

  8. Click Connect!



1 Comments

Previous Post Next Post