A GitHub Actions workflow that creates a free, secure Windows 11 Remote Desktop Protocol (RDP) environment using Tailscale VPN. Perfect for development, testing, and accessing Windows applications remotely from any device including mobile phones.
We have completely eliminated all ngrok-based tunneling and dependencies from this repository.
Security Advantages:
- π Enterprise-grade encryption: Uses WireGuard protocol for end-to-end encryption
- π Private mesh network: No public URLs exposed to the internet
- π‘οΈ Zero-trust architecture: Only authorized devices can connect
- π― Granular access control: Role-based permissions and ACLs
Cost & Accessibility:
- π No credit card required: Tailscale's free tier covers personal use completely
- π³ Ngrok limitations: Requires credit card for sustained access and advanced security features
- βΎοΈ Unlimited personal use: No arbitrary connection limits or timeouts
Ease of Use:
- π¦ Simple device management: All connected devices visible in Tailscale dashboard
- π Automatic reconnection: Built-in resilience and connection recovery
- π± Cross-platform: Works seamlessly on Windows, Mac, Linux, iOS, Android
Reference: Inspired by this YouTube tutorial
- Free Windows Server 2022 (GitHub Actions Runner)
- 7 GB RAM and 2 CPU cores
- 14 GB SSD storage
- High-speed internet connection
- Pre-installed software (VS Code, Git, Node.js, Python, etc.)
- Secure Tailscale VPN for private access
- Up to 6 hours session duration
- Custom password support
- Cross-platform compatibility (Windows, Mac, Linux, Android, iOS)
- Easy setup with GitHub OAuth integration
Click the Fork button at the top right of this page to create your own copy.
- Go to tailscale.com
- Click "Start connecting devices"
- Sign up with GitHub (recommended for easy OAuth)
- No credit card required for personal use
- In your Tailscale dashboard, go to Settings β Keys
- Click "Generate auth key"
- Leave default settings and click "Generate key"
- Copy the generated key (starts with
tskey-auth-...)
- Go to your forked repository
- Click Settings β Secrets and variables β Actions
- Click New repository secret
- Name:
TAILSCALE_AUTH_TOKEN - Value: Paste your Tailscale auth key
- Click Add secret
- Go to the Actions tab in your repository
- Click on "Windows 11 RDP with Tailscale" workflow
- Click Run workflow
- Optionally set a custom password (default:
P@ssw0rd123!) - Click Run workflow
- Download Tailscale for your platform:
- Windows/Mac: tailscale.com/download
- Android: Google Play Store
- iOS: App Store
- Linux: Package manager or download
- Login with the same account you used for setup
- Wait for the GitHub runner to appear in your Tailscale network
- Check the workflow logs for connection details
- Use any RDP client to connect:
- Windows: Remote Desktop Connection
- Mac: Microsoft Remote Desktop
- Linux: Remmina or xfreerdp
- Android/iOS: Microsoft Remote Desktop app
- Connect to the Tailscale IP shown in the logs
- Use the provided credentials
Default Credentials:
- Username:
runneradmin - Password:
P@ssw0rd123!(or your custom password) - IP Address: Provided in workflow logs (e.g.,
100.x.x.x)
System Specifications:
- OS: Windows Server 2022 (latest)
- RAM: 7 GB
- CPU: 2 cores
- Storage: 14 GB SSD
- Network: High-speed internet via Tailscale VPN
- GPU: Software rendering only (no dedicated GPU)
- Install Microsoft Remote Desktop from Google Play Store
- Install Tailscale from Google Play Store
- Login to Tailscale with your account
- In Remote Desktop app, add new connection
- Use the Tailscale IP from workflow logs
- Credentials:
runneradmin/ your password
- Install both Microsoft Remote Desktop and Tailscale from App Store
- Login to Tailscale
- Add desktop connection in RDP app
- Use Tailscale IP and credentials
Your RDP environment comes with:
- Google Chrome & Microsoft Edge
- Visual Studio Code
- Git
- Node.js & npm
- Python 3.x
- PowerShell 7
- Windows Terminal
- .NET Framework
- And many more development tools!
We're developing a PyQt5 desktop application that will:
- βοΈ One-click setup: Automate the entire process
- π Key management: Store and manage Tailscale auth keys securely
- π Live monitoring: Real-time status of your RDP sessions
- π GitHub integration: OAuth login and workflow management
- π» Cross-architecture: Support both x86 (32-bit) and x64 (64-bit) Windows
- π¦ Easy distribution: Downloadable .exe files from GitHub Releases
"Tailscale authentication failed"
- Ensure your
TAILSCALE_AUTH_TOKENsecret is set correctly - Verify the token hasn't expired
- Check your Tailscale account status
"Cannot connect to RDP"
- Ensure Tailscale is installed and logged in on your device
- Verify you're using the correct Tailscale IP from the logs
- Check that both devices are in the same Tailscale network
- Try different RDP clients
"Workflow fails to start"
- Check if you have GitHub Actions enabled
- Verify the workflow file exists in
.github/workflows/ - Ensure you have the required repository permissions
- 6-hour maximum: Sessions automatically terminate after 6 hours
- No persistent storage: Files are lost when session ends
- No dedicated GPU: GitHub Actions runners don't have graphics cards
- Network dependency: Requires Tailscale connection on both ends
- Use strong, custom passwords
- Don't store sensitive data on the RDP session
- Monitor your Tailscale network for unauthorized devices
- Use Tailscale ACLs for additional access control
- Keep your auth keys secure and rotate them regularly
- Use for development and testing only
- Respect GitHub's Terms of Service and fair usage policies
- Don't use for mining, illegal activities, or production workloads
- Monitor resource usage to avoid account restrictions
| Feature | Tailscale (Current) | Ngrok (Removed) |
|---|---|---|
| Security | Private mesh VPN, WireGuard encryption | Public tunnel, basic auth |
| Cost | Free for personal use | Credit card required for features |
| Setup | OAuth + auth key | Manual token management |
| Mobile | Native apps available | Web-based only |
| Reliability | Auto-reconnection | Manual tunnel management |
| Privacy | Zero public exposure | Public endpoint required |
Contributions are welcome! Feel free to:
- Report bugs or security issues
- Suggest improvements for mobile compatibility
- Submit pull requests for new features
- Share your use cases and feedback
- Help with the upcoming desktop application
This project is licensed under the MIT License - see the LICENSE file for details.
This project is for educational and development purposes only. Users are responsible for complying with:
- GitHub Terms of Service
- Tailscale Terms of Service
- Local laws and regulations
The author is not responsible for any misuse of this tool.
If this project helped you, please give it a β star on GitHub!
Secure remote access with Tailscale! ππ