New posts are available

Free Github RDP 💻

Please wait 0 seconds...
Scroll Down and click on Go to Link for destination
Congrats! Link is Generated

Free Github RDP 💻

Setup a Windows RDP connection using GitHub Actions & Tailscale

Want a free Windows 11 Remote Desktop? Follow these simple steps — no VPS or payment needed!

⚡ How This Works

  • GitHub Actions provides a free Windows runner (temporary).
  • Tailscale creates a secure, private network — no port forwarding needed.
  • A local user "RDP" is created with a strong random password.
  • You can connect from any device that's also on your Tailscale network.

📌 Detailed Step‑by‑Step Guide

1
Create GitHub Repository
Go to GitHub, create a new repository, name it anything, and click Create.
2
Connect with Tailscale
Visit Tailscale.com, click Start Connecting Devices, and sign in with your GitHub account.
3
Generate Auth Key
In Tailscale → SettingsKeys, click Generate Auth Key and copy it safely.
4
Add Key to GitHub
Open your GitHub repo → SettingsSecretsActions → New Repository Secret.
Name: TAILSCALE_AUTH_KEY, paste your Auth Key, and save.
5
Run the Workflow
Go to Actions tab → set up a workflow yourself → paste the RDP code below → Commit & Run Workflow.
6
Connect to RDP
Install Tailscale on your PC or phone → sign in with same account → open Remote Desktop → enter the IP and password shown in the workflow logs.

📜 Workflow YAML Code

Copy this exact YAML into the workflow editor on GitHub.

📄 rdp.yml
name: RDP on: workflow_dispatch: jobs: secure-rdp: runs-on: windows-latest timeout-minutes: 3600 steps: - name: Configure Core RDP Settings run: | # Enable Remote Desktop and disable NLA Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' ` -Name "fDenyTSConnections" -Value 0 -Force Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' ` -Name "UserAuthentication" -Value 0 -Force Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' ` -Name "SecurityLayer" -Value 0 -Force netsh advfirewall firewall delete rule name="RDP-Tailscale" netsh advfirewall firewall add rule name="RDP-Tailscale" ` dir=in action=allow protocol=TCP localport=3389 Restart-Service -Name TermService -Force - name: Create RDP User with Secure Password run: | Add-Type -AssemblyName System.Security $charSet = @{ Upper = [char[]](65..90) Lower = [char[]](97..122) Number = [char[]](48..57) Special = ([char[]](33..47) + [char[]](58..64) + [char[]](91..96) + [char[]](123..126)) } $rawPassword = @() $rawPassword += $charSet.Upper | Get-Random -Count 4 $rawPassword += $charSet.Lower | Get-Random -Count 4 $rawPassword += $charSet.Number | Get-Random -Count 4 $rawPassword += $charSet.Special | Get-Random -Count 4 $password = -join ($rawPassword | Sort-Object { Get-Random }) $securePass = ConvertTo-SecureString $password -AsPlainText -Force New-LocalUser -Name "RDP" -Password $securePass -AccountNeverExpires Add-LocalGroupMember -Group "Administrators" -Member "RDP" Add-LocalGroupMember -Group "Remote Desktop Users" -Member "RDP" echo "RDP_CREDS=User: RDP | Password: $password" >> $env:GITHUB_ENV if (-not (Get-LocalUser -Name "RDP")) { Write-Error "User creation failed" exit 1 } - name: Install Tailscale run: | $tsUrl = "https://pkgs.tailscale.com/stable/tailscale-setup-1.82.0-amd64.msi" $installerPath = "$env:TEMP\tailscale.msi" Invoke-WebRequest -Uri $tsUrl -OutFile $installerPath Start-Process msiexec.exe -ArgumentList "/i", "`"$installerPath`"", "/quiet", "/norestart" -Wait Remove-Item $installerPath -Force - name: Establish Tailscale Connection run: | & "$env:ProgramFiles\Tailscale\tailscale.exe" up --authkey=${{ secrets.TAILSCALE_AUTH_KEY }} --hostname=gh-runner-$env:GITHUB_RUN_ID $tsIP = $null $retries = 0 while (-not $tsIP -and $retries -lt 10) { $tsIP = & "$env:ProgramFiles\Tailscale\tailscale.exe" ip -4 Start-Sleep -Seconds 5 $retries++ } if (-not $tsIP) { Write-Error "Tailscale IP not assigned. Exiting." exit 1 } echo "TAILSCALE_IP=$tsIP" >> $env:GITHUB_ENV - name: Verify RDP Accessibility run: | Write-Host "Tailscale IP: $env:TAILSCALE_IP" $testResult = Test-NetConnection -ComputerName $env:TAILSCALE_IP -Port 3389 if (-not $testResult.TcpTestSucceeded) { Write-Error "TCP connection to RDP port 3389 failed" exit 1 } Write-Host "TCP connectivity successful!" - name: Maintain Connection run: | Write-Host "`n=== RDP ACCESS ===" Write-Host "Address: $env:TAILSCALE_IP" Write-Host "Username: ABDULLAH" Write-Host "Password: $(echo $env:RDP_CREDS)" Write-Host "==================`n" while ($true) { Write-Host "[$(Get-Date)] RDP Active - Use Ctrl+C in workflow to terminate" Start-Sleep -Seconds 300 }

🔒 Important Security Tips

  • Never share the workflow logs publicly — they contain your password.
  • Tailscale encrypts all traffic; only devices on your tailnet can connect.
  • Runner auto‑terminates after 6 hours, but you can cancel sooner.
  • Use responsibly — for learning, testing, or temporary tasks only.

✅ Your free Windows 11 RDP is ready for browsing, testing, or light work.

🚀 Enjoy your free RDP setup!

About the Author

Abdullah Skill 🛒 – Your One-Stop Source for Blogger Templates 📄, Themes 🎨, PHP Scripts 💻, Widgets 🧩 & More. Powered by Abdullah Coded & Designs ✨.

Post a Comment

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.