{
 "slug": "rustdesk-server",
 "name": "RustDesk Server",
 "tagline": "Self-hosted remote desktop relay and rendezvous server",
 "category": "networking",
 "use_cases": [
  "remote-desktop",
  "remote-support",
  "relay-server"
 ],
 "aliases": [
  "rustdesk"
 ],
 "status": "live",
 "upstream": {
  "vendor": "Purslane Ltd.",
  "url": "https://rustdesk.com",
  "license": "AGPL-3.0",
  "license_url": "https://github.com/rustdesk/rustdesk-server/blob/master/LICENSE"
 },
 "image": {
  "os": "Ubuntu 24.04 LTS",
  "cis_level": 1,
  "ports": [
   21115,
   21116,
   21117
  ],
  "artifacts": [
   "/etc/lynxroute/sbom.json",
   "/etc/lynxroute/cis-report.html",
   "/usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md"
  ]
 },
 "clouds": {
  "aws": {
   "status": "live",
   "version": "1.1.16",
   "last_build": "2026-09-04",
   "entity_id": "prod-5uuqnqbcdxcss",
   "ami_alias": "/aws/service/marketplace/prod-5uuqnqbcdxcss/latest",
   "listing_url": "https://aws.amazon.com/marketplace/pp/prodview-6ny2r4ubpiozc",
   "recommended_instance_type": "t3.small",
   "price_usd_per_hour": 0.03,
   "free_trial_days": 5,
   "unit": "instance-hour"
  },
  "azure": {
   "status": "live",
   "version": "1.1.16",
   "last_build": "2026-07-22",
   "offer_id": "rustdesk-server",
   "plan_id": "payg-gen2",
   "image_urn": "lynxroute:rustdesk-server:payg-gen2:latest",
   "listing_url": "https://azuremarketplace.microsoft.com/en-us/marketplace/apps/lynxroute.rustdesk-server?tab=Overview",
   "recommended_vm_size": "Standard_D2s_v3",
   "price_usd_per_vcpu_hour": 0.028,
   "unit": "vcpu-hour"
  },
  "alicloud": {
   "status": "not_offered"
  }
 },
 "urls": {
  "page": "https://lynxroute.com/products/rustdesk-server/",
  "json": "https://lynxroute.com/products/rustdesk-server/product.json"
 },
 "release_notes": [
  {
   "version": "1.1.16",
   "title": "RustDesk Server v1.1.16",
   "notes": "* Re-release of RustDesk Server 1.1.16. The application version is unchanged; this build refreshes the underlying operating system image\n* Rebuilt on the latest CIS Level 1 hardened Ubuntu 24.04 LTS base, picking up every operating-system security update published since the previous build\n",
   "source": "backfill-aws-listing",
   "live": {
    "aws": "2026-09-04",
    "azure": "2026-07-22"
   }
  },
  {
   "version": "1.1.16",
   "title": "RustDesk Server 1.1.16 - July 2026",
   "notes": "* RustDesk Server 1.1.16 on Ubuntu 24.04 LTS - version update from 1.1.15 (security and bugfix patch; no migration, no configuration changes)\n* Fixes a 32-bit integer overflow that wrongly reported peers offline for 24.9-49.7 days as online\n* Removes unauthenticated UDP PunchHoleRequest handling, closing a reflection/amplification abuse vector - the supported client path is PunchHoleRequest over TCP/WebSocket; UDP 21116 remains required for peer registration and heartbeat\n* AGPL-3.0 license unchanged\n* Rebuilt on the latest CIS Level 1 hardened Ubuntu 24.04 LTS base\n* CVE-scanned before every release\n",
   "source": "backfill-aws-listing",
   "live": {
    "aws": "2026-09-04",
    "azure": "2026-07-22"
   }
  },
  {
   "version": "1.1.15",
   "title": "RustDesk Server 1.1.15 - Initial release (April 2026)",
   "notes": "* RustDesk Server 1.1.15 on Ubuntu 24.04 LTS\n* Ed25519 keypair at first boot, non-root services\n* SBOM, CIS Report, IMDSv2 enforced\n",
   "source": "backfill-aws-listing",
   "live": {
    "aws": "2026-04-24",
    "azure": "2026-05-13"
   }
  }
 ],
 "release_history": [
  {
   "version": "1.1.16",
   "aws": "2026-09-04",
   "azure": "2026-07-22"
  },
  {
   "version": "1.1.15",
   "aws": "2026-04-24",
   "azure": "2026-05-13"
  }
 ],
 "deploy": {
  "aws_cli": "# subscribe once on the AWS Marketplace listing, then:\naws ec2 run-instances \\\n  --image-id resolve:ssm:/aws/service/marketplace/prod-5uuqnqbcdxcss/latest \\\n  --instance-type t3.small --key-name my-key --security-group-ids sg-xxxxxxxx",
  "azure_cli": "# accept the plan terms once, then:\naz vm image terms accept --publisher lynxroute --offer rustdesk-server --plan payg-gen2\naz vm create -g my-rg -n rustdesk-server --size Standard_D2s_v3 \\\n  --image lynxroute:rustdesk-server:payg-gen2:latest --admin-username azureuser --generate-ssh-keys"
 },
 "description": {
  "what_is": "RustDesk Server is the self-hosted backend for the RustDesk remote-desktop client - a pair of Rust binaries (hbbs rendezvous service and hbbr relay service) that coordinate peer-to-peer connections between RustDesk desktop and mobile clients without going through any public infrastructure. The rendezvous service assigns peer IDs, exchanges public keys and brokers NAT hole-punching; the relay service forwards the encrypted session when direct connections fail. End-to-end encryption is signed by an Ed25519 keypair generated per instance, so clients can verify they are talking to your server and not a public one. Local SQLite for peer ID registration. AGPL-3.0 license - community alternative to TeamViewer and AnyDesk SaaS, all session metadata stays inside your VPC.",
  "image_adds": "Security hardening:\n* Ed25519 keypair generated per instance at first boot\n* Both hbbs and hbbr run as dedicated non-root system user\n* UFW firewall - only required ports (21115, 21116 TCP+UDP, 21117)\n* fail2ban, AppArmor\n\nOS hardening (CIS Level 1):\n* CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown\n* auditd, SSH hardening, Kernel hardening, IMDSv2 enforced\n\nCompliance artifacts:\n* SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json\n* CIS Conformance Report at /etc/lynxroute/cis-report.html\n* CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md"
 },
 "generated_at": "2026-10-31T09:36:34Z"
}
