Open-source project
dchapyshev/aspia avatar
dchapyshev/aspia

Aspia runs its own router and relay, or skips NAT traversal entirely with a direct connection

Remote desktop and file transfer tool.

1,961 stars409 forksC++GPL-3.0

At a glance

What is it?
Aspia is a C++ remote desktop, file transfer and terminal suite for Windows, macOS, Linux and Android, with Qt front ends and protobuf on the wire. The architectural decision is whether you stand up router and relay infrastructure or rely on direct connections, and that choice is made at deployment time.
Who is it for?
Adopt Aspia when you need remote access across networks you do not control and you are willing to run the router and relay infrastructure, or when your hosts can be reached directly. Do not adopt it expecting consumer-grade zero configuration, since the README documents no public relay and every deployment decision about ID-based connection is yours.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Two connection models, and only one of them needs a server

The core of Aspia is a choice about who brokers the connection. You can create your own NAT traversal infrastructure using Aspia Router and Aspia Relay servers, in which case a remote host is reachable by connection ID. Or you can use direct connections.

That distinction drives everything else. With your own router and relay, a host behind NAT is reachable by an identifier rather than by an address, and you control the infrastructure that makes that possible. With direct connections, the two ends have to reach each other without that help, which is simpler to run and depends on the network permitting it.

Nothing in the README describes a hosted relay operated by the project. The NAT traversal with connection by ID feature is explicitly tied to using Aspia Router and Aspia Relay, which reads as infrastructure you stand up. That is a genuine difference from consumer remote desktop products, and it is the reason to look at this project rather than dismiss it as another clone.

The router and relay are supported on Windows and Linux. The host and client exist on Windows, macOS, Linux and Android, so the server side is narrower than the client side.

What the tool actually does once connected

The feature list is broader than the name suggests. Remote desktop is the headline, but the project also covers file transfer, remote terminal, system information, text chat and a task manager.

Two additions matter more than the rest. Audio support means sound is part of the remote session rather than an afterthought, and video recording captures the session, which is what turns this from a utility into something you can use to produce evidence of what happened on a machine.

Underneath those are the parts that determine whether it is usable as infrastructure. There is encryption, and authorization, with the ability to add users carrying different access rights. There is an address book that is encrypted and protected by a master password, which is the piece that makes connection IDs manageable: without it, a directory of identifiers to hand out is a list of targets.

The system information view is listed alongside the others, so you can inspect a host without taking over its screen.

Build layout: CMake presets, vcpkg, and per-platform instructions

The repository is a C++ codebase with Qt, and it uses vcpkg for dependency management. The top level carries CMakeLists.txt, CMakePresets.json and CMakeUserPresets.json.example, which is the CMake presets workflow: the presets committed to the repository define known configurations, and the user preset is where you put your local paths.

vcpkg.json declares the dependency set, and the vcpkg4aspia directory is a separate vendored tool in the tree. The presence of .gitmodules confirms submodules are in use.

Building is documented per platform rather than in the README, which links to instructions for Windows, Linux and macOS on the project site. There is also an installer directory, so the project produces installers rather than expecting you to distribute binaries yourself.

The CI setup is visible in the build status badges: separate workflows for Windows, Linux, macOS and Android, all on the master branch. Four platform pipelines on one branch is a reasonable signal that the cross-platform claim is exercised rather than aspirational, and it also means a platform-specific break is a normal occurrence rather than a surprise.

System requirements are explicit, and Android 12 is the floor

The README lists the supported baselines. Windows 7 or 2008 R2 or higher on x86 or x86_64, Ubuntu 22.04 or RHEL 8.10 on x86_64, macOS on x86_64 or ARM64, and Android 12 or later.

The Android 12 floor is the one to notice. It is a real constraint on the client side, and it follows from the modern Android APIs the app depends on rather than from the remote desktop protocol itself.

The macOS line covers both architectures, which is the expected position now, and the Linux line names two specific distributions rather than claiming generic support, so anything else is your problem to verify.

Note what is absent. There is no stated requirement about bandwidth, latency or graphics hardware, and no minimum memory figure. Those are the numbers you will have to establish yourself if you are sizing a deployment.

Version numbering: a 3.1.0 alpha sitting next to two 3.0.x releases

The recent tags are v3.0.36 on 2026-10-14, v3.0.37 on 2026-10-15 and v3.1.0, named Aspia 3.1.0 Alpha, also on 2026-10-15.

A patch release and an alpha minor on the same day is a useful signal about where the project sits. The 3.0 line is getting fixes while 3.1.0 is still alpha, which means the sensible default for a deployment is the newest 3.0.x tag rather than 3.1.0.

It also implies a protocol compatibility question that the README does not answer: whether a 3.1.0 alpha client can talk to a 3.0.x host, and whether router and relay versions need to match the endpoints. If you are mixing versions across a fleet, that question needs an answer from the release notes rather than from the README.

The repository is not archived. Both client and server change together in this project, so an in-place upgrade across a fleet is a coordinated operation.

Where Aspia is the wrong choice

It is not a browser-based solution and it is not a support-tool with a web console. Every supported client is a Qt application on Windows, macOS, Linux or Android. There is no thin client that runs in a locked-down browser environment, and the README lists no web interface.

If you need unattended access to machines behind networks you do not administer, the router and relay become your responsibility: availability, upgrades and the security of a service that brokers connections to every host behind it. That is a real operational commitment, and it is the main reason a consumer product with a hosted broker wins despite being less self-hosted.

On licensing, the project code is under the GNU General Public License 3, with the terms in LICENSE.md. GPL-3.0 is reciprocal, so distributing a modified build carries source obligations. That does not affect using the binaries internally, but it matters if you intend to ship Aspia inside a product or rebrand it. This is a description of the licence structure, not legal advice.

The project topics name TeamViewer, AnyDesk and VNC.

Editorial conclusion

Adopt Aspia when you need remote access across networks you do not control and you are willing to run the router and relay infrastructure, or when your hosts can be reached directly. Do not adopt it expecting consumer-grade zero configuration, since the README documents no public relay and every deployment decision about ID-based connection is yours. Before building, read the GPL-3.0 obligations in LICENSE.md and decide whether the Qt toolchain and vcpkg dependency setup in vcpkg4aspia fit your release process.

Frequently asked questions

Does Aspia require its own router and relay servers?

Only for NAT traversal with connection by ID. The README describes both creating your own NAT traversal infrastructure with Aspia Router and Aspia Relay, and using direct connections.

Which platforms does Aspia support?

Host and client exist for Windows, macOS, Linux and Android, while the Router and Relay servers are supported on Windows and Linux. System requirements list Windows 7 or higher, Ubuntu 22.04 or RHEL 8.10, macOS on x86_64 or ARM64, and Android 12 or later.

What licence is Aspia released under?

The project code is under the GNU General Public License 3, with the full terms in LICENSE.md in the repository.

What features does Aspia provide beyond remote desktop?

File transfer, remote terminal, system information, text chat, a task manager, audio support and video recording, along with encryption, authorization with per-user access rights, and an encrypted address book protected by a master password.

How do I build Aspia from source?

The README links to per-platform build instructions for Windows, Linux and macOS on the project documentation site. The repository uses CMake with CMakePresets.json and CMakeUserPresets.json.example, plus a vcpkg.json dependency manifest.

Official sources

  1. dchapyshev/aspia on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/dchapyshev-aspia.svg)](https://hysenlabs.com/projects/dchapyshev-aspia)

Was this useful?