Skip to guides

Header Ads Widget

Free Cloud Windows & Linux PC With GitHub, Tailscale, RustDesk

 


Free Cloud Windows PC Using GitHub Actions Tailscale And RustDesk Step By Step Guide 2026 Temporary Remote Windows Machine
FREE CLOUD PC GUIDE
Runner
Windows
RAM
8 GB
Max Time
6 Hours
Client
RustDesk
Tech Decode > Tutorials > Cloud PC
Step By Step Guide

Free Cloud Windows And Linux PC Using GitHub Actions, Tailscale And RustDesk

Get a temporary Windows or Linux machine for light work and connect to it privately from your own PC, with the honest limits explained

GITHUB ACTIONS
TAILSCALE
RUSTDESK
Cloud PC
Remote Desktop
Tutorial
2026
This guide shows how to start a temporary Windows machine on GitHub Actions, join it to your private Tailscale network, and control it from your own PC with RustDesk instead of Windows RDP. It is meant for light work such as testing software, installing apps, browsing and learning. Please read the warning box in this post before you start.
What You Get
Temporary Windows PC
Connect With
RustDesk
Network
Tailscale Private
What Is This Setup

GitHub Actions runs jobs on virtual machines that GitHub hosts. In this setup a workflow starts a Windows machine, installs RustDesk, joins the machine to your private Tailscale network and keeps the job running. You then connect to the machine from your own PC through Tailscale using RustDesk.

It is for people who want a short-lived Windows machine to test software, try installers, browse safely away from their main PC or learn Windows. At the end you will have a working remote Windows session that you can start and stop yourself.

It is not a normal always-on cloud PC. The machine is temporary, jobs stop after a time limit, and there is no GPU. Read the warning box below about GitHub's rules before you try it.

How It Works
GitHub Runner (Windows)
→
Tailscale Private Network
→
RustDesk
→
Your PC

1. GitHub runner: the workflow starts a Windows machine and keeps it running while the job is active.

2. Tailscale: the machine joins your private network, so only your own signed-in devices can reach it. Tailscale gives it a private IP address.

3. RustDesk: the remote desktop program running on that machine accepts your connection through the Tailscale address.

4. Your PC: you run Tailscale and RustDesk locally, type the machine's Tailscale IP and password, and see its screen.

Requirements
ItemDetails
GitHub accountWith a new private repository where you will store the workflow file and the secret.
Tailscale accountNeeded to create an auth key and to sign in on your own PC.
Your PCAny PC with an internet connection that can run Tailscale and RustDesk.
Private repositoryRequired. A private repository keeps your workflow logs, which contain the connection password, away from the public.

GitHub's documentation lists the standard Windows runner for private repositories as 2 vCPU, 8 GB RAM and 14 GB SSD storage, and a job can run for up to 6 hours. Public repositories get a larger runner on paper (4 vCPU, 16 GB RAM), but this guide uses a private repository on purpose.

Downloads
Windows RDP Workflow Pack (RAR)

The Windows workflow pack used in this guide, packed as a RAR archive by Tech Decode. Extract it with 7-Zip or WinRAR, then follow the steps below to add the workflow file inside to your repository. Read the file before you use it.

ARCHIVE PASSWORD: 1234
Linux RDP Workflow Pack (RAR)

The Linux workflow pack (updated version), packed as a RAR archive by Tech Decode. Extract it with 7-Zip or WinRAR, then add the workflow file inside to your repository. Read the file before you use it.

ARCHIVE PASSWORD: 1234
RustDesk

The RustDesk remote desktop client. Install it on your own PC to connect to the cloud machine. The latest release page lists version 1.5.0 with a 64-bit Windows installer.

Tailscale

The Tailscale client. Install it on your own PC and sign in with the same account you use for the workflow, so your PC joins the same private network.

Step By Step Guide
1
Create a Tailscale account and an auth key. Sign in at Tailscale, open the Keys page in the admin console and generate an auth key. Choose reusable so the same key works every time you start a new session, and ephemeral so each cloud machine is removed automatically once it goes offline. Tailscale says keys last 1 to 90 days, with 90 as the default, and that reusable keys need extra care, so treat the key like a password.
2
Create a private GitHub repository and add the secret. Make a new repository and set it to Private. Go to Settings, Secrets and variables, Actions, and add a new repository secret named TAILSCALE_AUTH_KEY. Paste your Tailscale auth key as the value.
3
Create the workflow file. In the repository choose Add file, Create new file, and type the path .github/workflows/rustdesk.yml. Paste the workflow code from the code section below. Use spaces only, never tabs, then commit the file.
4
Run the workflow. Open the Actions tab, select the RustDesk workflow and choose Run workflow. You will see an apps input box. Type the Chocolatey package names of the programs you want installed on the machine, separated by spaces, for example vlc 7zip notepadplusplus. The table below lists popular package names.
5
Read the IP address and password. Open the running job and expand the Maintain Connection step. The log shows the machine's Tailscale IP address and the RustDesk password. Keep this log private, because it contains the password.
6
Connect from your own PC. Install and sign in to Tailscale on your PC with the same account. Open RustDesk, type the Tailscale IP address from the log, press Connect and enter the password. Copy and paste the password instead of typing it.
7
Stop the machine when you finish. Go back to the Actions tab, open the running workflow and choose Cancel workflow. This ends the session and removes the machine. Everything on it is deleted.
Popular Chocolatey Package Names For The Apps Box
Package NameProgram
vlcVLC media player
7zip7-Zip archiver
notepadplusplusNotepad++ editor
googlechromeGoogle Chrome
firefoxMozilla Firefox
gitGit
pythonPython
vscodeVisual Studio Code
obs-studioOBS Studio
sumatrapdfSumatraPDF reader

Separate several names with a single space. You can look up exact names on the Chocolatey community packages website.

Windows Workflow Code (rustdesk.yml)
NOTE: Use spaces only for indentation, never tabs. A tab character causes red lines in the GitHub editor and can break file paths. You can also get the workflow file from the Windows RAR pack in the Downloads section above (archive password 1234).
PASTE YOUR FINAL rustdesk.yml CODE HERE, EXACTLY AS IT IS
(keep the spaces; do not change anything)
Linux Version (Ubuntu Runner)

The Linux method works the same way as the Windows one. A GitHub runner starts, joins your private Tailscale network, runs RustDesk, and you connect to it from your own PC with the machine's Tailscale IP address and password. The only difference is that the machine runs Linux instead of Windows, so you get a Linux desktop session.

Everything you set up once is shared: the same private repository, the same Tailscale account and the same TAILSCALE_AUTH_KEY secret work for both workflows. Only the workflow file is different.

1
Reuse your setup. Use the same private repository and the same TAILSCALE_AUTH_KEY secret from the Windows steps. If you skipped them, complete Steps 1 and 2 above first.
2
Create the Linux workflow file. In the repository choose Add file, Create new file and type the path .github/workflows/rustdesk-linux.yml. Paste the Linux workflow code from the code section below, use spaces only and never tabs, then commit the file.
3
Run the workflow. Open the Actions tab, select the Linux RustDesk workflow and choose Run workflow. If the workflow shows an input box for extra programs, note that Linux uses Linux package names, not Chocolatey names.
4
Read the IP address and password. Open the running job and check its log for the Tailscale IP address and the RustDesk password, exactly as in the Windows method. Keep the log private.
5
Connect and stop. Sign in to Tailscale on your PC, enter the Tailscale IP in RustDesk and paste the password. When you finish, use Cancel workflow in the Actions tab.
PointLinux Method
Operating systemLinux (Ubuntu runner) instead of Windows
Workflow filerustdesk-linux.yml
Secret nameTAILSCALE_AUTH_KEY (same as Windows)
Extra programsLinux package names, not Chocolatey names
Time limit and rulesSame as Windows: temporary machine, 6-hour job limit, no GPU, read the warning box
NOTE: Use spaces only for indentation, never tabs. You can also get the Linux workflow file from the Linux RAR pack in the Downloads section above (archive password 1234).
PASTE YOUR FINAL rustdesk-linux.yml CODE HERE, EXACTLY AS IT IS
(keep the spaces; do not change anything)
RustDesk Quality Settings
SettingWhat It Does
Speed or Balanced qualityLowers image quality to keep movement smooth. Choose Speed on a slow or distant connection.
Lower resolutionSends fewer pixels, which uses less bandwidth and feels smoother.
Hide remote cursorHides the second cursor so you only see your own mouse, which feels less laggy.
Performance And Latency

Expect noticeable delay. From Pakistan to a US-based runner, latency of roughly 150 to 250 ms is typical, though it varies with your internet and route. Light work like browsing, installing apps and testing software is fine, but fast gaming and anything that needs instant response will feel laggy.

A VPN or private network does not remove distance. Tailscale makes the connection private and easy, but it cannot make the signal travel faster than the physical distance between you and the runner.

Command (on your PC)What It Tells You
tailscale statusLists the devices on your network and shows whether each connection is direct or going through a relay.
tailscale ping IP-ADDRESSTests the connection to the cloud machine. It shows whether packets go directly or through a DERP relay, which is Tailscale's relay server used when a direct path is not possible.

A direct connection is usually faster than a relay. Use the IP address from your newest run, because the address changes for every new session.

Important Rules
RULES: (1) Do not close the runner command window on the remote machine. Closing it cancels the job. (2) The machine is temporary and everything on it is deleted when the workflow ends, so save your files elsewhere. (3) Jobs stop after 6 hours at most. (4) There is no GPU, so heavy games and graphics-heavy programs will not run well.
Troubleshooting
ProblemCauseFix
Red lines in the YAML editorMixed indentation or tab characters in the file.Retype the indentation using spaces only, never tabs.
Path error mentioning Temp and a missing backslashA tab character replaced the characters \t in a file path.Retype the path with spaces only and check every backslash.
RustDesk shows Failed to connect to IP:21118, please try laterDirect IP access or the RustDesk service was not running on the machine.Open the workflow log and check the Verify RustDesk Port step, then rerun the workflow.
The job shows The operation was canceled right after closing a windowThe runner command window on the remote machine was closed.Never close that window. Start a new run.
tailscale ping times outYou are using an old IP from a finished run.Use the IP address from the newest run.
Wrong passwordThe password was typed incorrectly.Copy and paste the password from the log instead of typing it.
FAQ
Is it really free
It costs no money on a normal GitHub account, within GitHub's free usage limits. It is not free of risk, because GitHub's rules may restrict this kind of use, as explained in the warning box.
Is it safe
The connection goes through your private Tailscale network. Safety also depends on keeping the repository private and never sharing the auth key or the workflow log, because the password appears in the log.
How long does it last
A job can run for up to 6 hours at most. After that, or when you cancel the workflow, the machine is deleted.
Can I keep my files
No. The machine is temporary and everything on it is deleted when the workflow ends. Copy anything important to your own storage before you stop.
Can I play games on it
Light games might run, but the machine has no GPU, so heavy games will not run well.
Why is it laggy
Distance is the main cause. A runner in another country adds delay that no VPN can remove. Lower the RustDesk quality and resolution to help.
Warning - Read This First
WARNING: GitHub Actions is meant for CI/CD, which means building, testing and deploying software. Using it as a long-running remote desktop may break GitHub's terms, which say activity unrelated to the software project in the repository is not allowed on GitHub-hosted runners. GitHub may monitor usage, and misuse can lead to cancelled jobs, restricted access, disabled repositories or account suspension.

If you still decide to try it: use a throwaway or secondary account that you can afford to lose, keep the repository private, and never share your Tailscale auth key or the workflow log, because the RustDesk password appears in the log. Blur the password in any screenshot or video you share.

Never use this setup for cryptocurrency mining, abuse, attacking or accessing systems you do not own, or anything illegal.

For serious or long-term use, rent a paid VPS instead. A server in Mumbai, Dubai or Singapore will give you much lower latency from Pakistan and does not break any rules.

Information
TopicTemporary Windows PC using GitHub Actions, Tailscale and RustDesk
Runner (private repo)Windows, 2 vCPU, 8 GB RAM, 14 GB SSD (per GitHub docs)
Maximum Job Time6 hours
RustDesk Release1.5.0 listed as the latest on its release page
Secret NameTAILSCALE_AUTH_KEY
Workflow File/.github/workflows/rustdesk.yml
DifficultyBeginner to intermediate
Keywords
free cloud windows pc
github actions windows pc
github actions rustdesk
rustdesk tailscale github
free windows vps
free cloud linux pc
github actions linux rustdesk
rustdesk linux workflow
tailscale auth key github actions
rustdesk setup guide
rustdesk github workflow
remote windows pc free
github runner remote desktop
rustdesk lag fix
tailscale ping derp
free cloud pc for testing software
tech decode rustdesk
DISCLAIMER: GitHub, Tailscale, RustDesk and Chocolatey belong to their respective owners, and Tech Decode is not affiliated with them. This tutorial is for educational purposes. GitHub's terms restrict how Actions may be used, so you are fully responsible for how you use this method and for any account action that results. Do not use it for mining, abuse or anything illegal. Keep your keys, passwords and logs private.

Post a Comment

0 Comments