Skip to content

Instantly share code, notes, and snippets.

@muhammadardie
Created May 13, 2025 09:18
Show Gist options
  • Save muhammadardie/08855b5838fade366a52588296546e07 to your computer and use it in GitHub Desktop.
Save muhammadardie/08855b5838fade366a52588296546e07 to your computer and use it in GitHub Desktop.
Using Tailscale with Parsec for Secure Remote Desktop Access

πŸ›‘οΈ Using Tailscale with Parsec for Secure Remote Desktop Access

πŸ“Œ Overview

This guide shows how to use Tailscale (a mesh VPN) together with Parsec (a high-performance remote desktop tool) to:

  • Securely access your machine from anywhere
  • Avoid port forwarding or exposing public IPs
  • Improve peer-to-peer connection reliability

πŸ”§ Requirements

Tool Version/Notes
Tailscale Free or paid plan, installed on both client and host
Parsec Installed and configured on both client and host
OS Windows, Linux, or macOS supported by both tools

πŸ“₯ Step-by-Step Instructions

1. Install Tailscale on Both Machines

πŸ–₯ Host (e.g., Gaming PC or Workstation)

πŸ’» Client (e.g., Laptop or Tablet)

  • Repeat the same steps to install and log in to Tailscale

βœ… After login, both devices should appear in your Tailscale admin panel


2. Confirm Tailscale Connection

  • Open a terminal or command prompt
  • Run:
tailscale status

You should see your host and client listed with 100.x.x.x IP addresses (Tailscale's private network).

Try pinging the host from the client:

ping 100.x.x.x

🟒 If ping works, you have a successful Tailscale connection.


3. Install and Configure Parsec

On the Host

  • Download Parsec: https://parsec.app/downloads
  • Sign in or create an account
  • Enable Host Mode in settings
  • Add your PC to your Approved Devices list

On the Client

  • Install and log in using the same Parsec account
  • You should see the host listed if Parsec detects it via LAN

4. Force Parsec to Use Tailscale IP (Optional)

If Parsec fails to establish a direct connection (due to NAT/firewall), you can:

  1. Get the Host’s Tailscale IP from the tailscale status output
  2. On the client, manually connect by running (Parsec CLI, advanced):
parsecd --peer 100.x.x.x

Or in the Parsec UI (when supported), edit the host config to use the Tailscale IP.


5. Optimize and Secure

βœ” Use Tailscale ACLs

Restrict access to the host device from certain clients via ACL rules:

{
  "ACLs": [
    {
      "Action": "accept",
      "Users": ["[email protected]"],
      "Ports": ["100.x.x.x:443", "100.x.x.x:3389"]
    }
  ]
}

βœ” Enable Tailscale SSH (Optional)

This allows you to SSH into your host via Tailscale:

Enable it from the admin panel and in your Tailscale config.


6. Test Your Setup

  • Start Parsec on the host
  • On the client, connect to the host
  • Confirm smooth, low-latency remote desktop session

You should now have Parsec running over Tailscale, with no need for public IPs or port forwarding πŸŽ‰


🧠 Additional Notes

Feature Supported
NAT Traversal βœ…
Cross-platform support βœ…
Works behind CGNAT/NAT βœ…
Secure (end-to-end) βœ… via WireGuard
Gamepad input + low-latency βœ… via Parsec

βœ… Summary

Tool Purpose
Tailscale Creates a secure private network for your devices
Parsec Provides low-latency remote desktop access
Combined Gives you fast, secure, and private access to your workstation from anywhere
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment