SoundCloud Desktop: a Tauri client for listening to SoundCloud without the web player
🎵 Лучший неофициальный SoundCloud клиент для Windows, Linux и macOS | БЕЗ РЕКЛАМЫ | БЕЗ КАПЧИ | БЕЗ ЦЕНЗУРЫ | ДОСТУПНО В РОССИИ
At a glance
- What is it?
- SoundCloud Desktop is an unofficial SoundCloud client for Windows, Linux and macOS, built on Tauri 2 and React 19 so it uses the system WebView instead of bundling Chromium. It ships as installers, portable binaries, deb, rpm, AppImage, Flatpak and AUR packages, it works around regional blocking by serving track data from its own domains, and it is MIT licensed with a release roughly every week.
- Who is it for?
- SoundCloud Desktop fits a listener who wants a native-feeling desktop player with keyboard media control, a system tray, Discord Rich Presence and no advertising, and it fits users in regions where the web version is unreachable and who are willing to configure a domain list in a traffic filtering tool.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly TypeScript, 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
What the application is and how it is built
SoundCloud Desktop is a full desktop application for listening to music on SoundCloud, written on Tauri 2 and React 19. The stated advantages are that it runs natively, consumes minimal resources and does not lag, and the project claims more than 100,000 downloads across Windows, Linux and macOS.
The Tauri choice is the interesting engineering decision. The project explains it plainly: it is built on Tauri 2 in Rust rather than Electron, which means the application uses the system WebView instead of bundling a copy of Chromium, starts instantly, and keeps the interface smooth at 60 FPS even on weak hardware. For a music player that people leave running in a system tray for hours, that is a meaningful difference, because an Electron player carries a browser engine in memory for the entire session.
The trade is that a Tauri application depends on a WebView being present on the machine, which is a different dependency profile from a self-contained binary. On Windows that means the Microsoft Edge WebView2 Runtime, on Linux it means one of the system WebKitGTK implementations, and on macOS it means the system WebKit. The project is explicit about the Windows case, because the installers bundle the runtime and the portable build does not.
The interface is fully in Russian, with the language determined automatically from the system and nothing to configure. The project also publishes a separate English README in its own repository, so the documentation is bilingual even though the application itself is not.
The repository is written primarily in TypeScript, with the top level holding an `App/` directory, `desktop/`, `bindings/`, `utils/`, `themes/`, `docs/` and a `depens/` directory, plus a `CLAUDE.md`, an IntelliJ module file and a `_refs/` directory for image assets. The project is MIT licensed, the last push was on 2026-10-20, and the recent releases are 8.5.0 on 2026-10-09, 8.5.1 on 2026-10-11 and 8.6.0 on 2026-10-18.
The features that make it more than a web player in a window
The feature list is grouped under system integration, and it is the part that a browser tab genuinely cannot do.
There is control from the system, with media keys on the keyboard, the Windows notification centre and MPRIS on Linux. There is Discord Rich Presence, so your friends can see what you are listening to. There is a system tray, so the application runs in the background rather than demanding a window. And there are in-app updates, with an install and restart button for the Windows, macOS and AppImage builds and a direct link to the right file for the other builds.
The playback side claims no advertising at all: zero ad banners, zero promotional inserts between tracks, and no subscription pop-ups. It also claims to avoid captchas, so there are no endless are you a robot checks, and it claims access to the full SoundCloud catalogue without regional restrictions. The last of those is a claim you should read carefully, and the project is unusually open about how it works, which the next section covers.
There is also an Android sibling project linked from the project description, and an iOS version in development.
What is not in the feature list is as informative as what is. There is no mention of offline caching for licensed content, no mention of background playback in the sense of a locked screen, and no library sync description. The scope is a foreground player with system integration, which is a coherent product but a narrower one than the full service.
How the regional blocking is worked around, and the traffic filtering tool in the middle
This is the part of the project that needs a careful reader, and the project documentation explains the mechanism in a way that is more useful than the marketing claims.
The application talks to its own domains in the `scnative.dev` zone for some of its files, with some track files still coming from the old `scnative.space`, and it talks directly to SoundCloud for the tracks themselves. Where a provider cuts the direct path, the workaround is to configure a traffic filtering tool. The project names the tool, zapret, and gives the specific instruction: if tracks or cover images do not load, add `scnative.dev` and `scnative.space` to its `lists/list-general-user.txt`. There is a whole section on zapret, VPN and domain lists.
So the mechanism is not that the application decrypts or proxies the audio in some clever way. It is that the app serves the metadata and some of the assets from domains the filtering tool does not cut, and the filtering tool is configured to let those through. That is why the tool is a prerequisite in some regions rather than an optional extra, and why the project points at a general user list rather than a specialised one.
The consequence for an adopter is that the reliability of the app in a filtered network depends on the domain list staying current, and the app author is the one maintaining that list. When the domains change, the list changes, and the project documents the file to edit so you can do it yourself.
It is also worth being clear about what this is not. The project describes itself as the best unofficial SoundCloud client, and its topics include geo-unblock and proxy. The approach is a client that avoids regional restrictions, not a tool for breaking a subscription or a DRM.
Installing on Linux, and the two AUR packages
The Linux distribution is unusually broad, and the project is careful about the AUR case in a way that saves people a broken install.
The formats cover `.deb` for amd64 and arm64 on Ubuntu, Debian, Mint and Pop!_OS, `.rpm` for amd64 and arm64 on Fedora, openSUSE and CentOS, `.AppImage` for amd64 and arm64 which is described as universal, a `.flatpak` for amd64 as a sandboxed option, and the AUR package `soundcloud-bin` for Arch, Manjaro and EndeavourOS. There is also a download site at getsoundcloud.app/download for when GitHub itself is not reachable.
On Arch the official `soundcloud-bin` package is published to the AUR automatically about a minute after each release, and the install is:
yay -S soundcloud-binThe warning that comes with it is important. There is also a community package called `soundcloud-desktop-bin` which is not maintained by the application author, and the instruction is to install only one of the two. Two packages installing the same desktop entry and the same binary is the classic way to end up with a launcher that points at a file one package removed.
The Flatpak comes from the project's own repository, so updates arrive through `flatpak update` and the desktop software centres:
flatpak install --user https://zxcloli666.github.io/SoundCloud-Desktop/flatpak/soundcloud-desktop.flatpakrefA downloaded `soundcloud-desktop.flatpak` also registers that repository at install time, so the second install path is `flatpak install --user soundcloud-desktop.flatpak`.
The AppImage just needs the executable bit and a run:
chmod +x soundcloud-desktop_*.AppImage
./soundcloud-desktop_*.AppImageAnd there is a documented recovery path for the most common failure. A blank or white window on launch is fixed by starting the app with the `--safe-render` flag, which in the Flatpak is the Safe render mode entry in the launcher menu. The log file is at `~/.local/share/com.soundcloud.desktop/logs/desktop.log`, and inside the Flatpak it is at `~/.var/app/io.github.zxcloli666.SoundcloudDesktop/data/com.soundcloud.desktop/logs/desktop.log`.
Windows and macOS, including the two problems you will hit
Windows offers three builds, and the difference between them is the WebView2 runtime.
There is an `*_x64-setup.exe` installer which is the recommended one, an `*_x64_en-US.msi` alternative installer, and a `soundcloud-desktop-portable.exe` portable build that needs no installation. The requirement is Windows 10 (1809) or Windows 11.
The runtime question is explained in detail. The Microsoft Edge WebView2 Runtime is needed, and the installers, at around 220 MB, carry it inside and install it without downloading anything from the network, and the project notes that antivirus software often treats such a download as a threat. The portable build at around 43 MB does not carry it, so if WebView2 is missing or Windows has been trimmed, you install the Evergreen Standalone Installer from Microsoft as administrator. Edge itself is not required.
The macOS story is one command. Apple Silicon machines, meaning M1 through M4, take the `*_aarch64.dmg` and Intel machines take `*_x64.dmg`.
Then there is the Gatekeeper problem, and the project is direct about it. The application is not signed with an Apple Developer certificate, so Gatekeeper may report the application as damaged, and the fix is to clear the quarantine attribute:
xattr -cr /Applications/soundcloud-desktop.appAfter that the application launches normally. This is worth understanding rather than just copying. Unsigned means Apple has not notarised the binary, so the first launch is blocked by a check that exists to stop unverified applications. Clearing the attribute says you are willing to run it anyway, and you are trusting the project by doing so, which is a decision the person at the keyboard should make deliberately rather than discover halfway through an install.
The macOS build also has no in-app updater that can write over itself, which is why the update feature is described as a direct link to the required file for those builds.
Where SoundCloud Desktop is the wrong choice
The first limit is that it is an unofficial client, and that has consequences beyond the missing signature. The project depends on unofficial or internal endpoints to serve metadata and some assets, which is why the domains are its own and why the zapret configuration exists. Any unofficial client can break when the service changes, and this one is on a weekly release cadence, which means the author is reacting to changes as they happen. That is a good thing for a user and a bad thing for a stability guarantee.
The second limit is the lack of a signed and notarised macOS build. For a business that manages Macs with a device management profile, an application that requires an xattr command in a terminal on every machine is not deployable. The same applies to the Windows antivirus friction, and for an organisation that blocks unsigned installers the download is simply not installable.
The third is the Russian-only interface. The project says the interface is fully translated into Russian and the language is detected from the system, and the English README is a separate document rather than a translation of the application. For a non-Russian user, the app works but is not pleasant, and there is no stated way to change the language.
The fourth is the traffic filtering dependency. In a region where SoundCloud is blocked, the app needs a separate tool, zapret, configured with a domain list that the project maintains. That is a second piece of software to install and keep current, and it operates at the network level, which is a bigger commitment than installing a music player.
Compare that with the official SoundCloud desktop app, or with a web player. The official application is signed, updates itself, and works with the account you already have, and it is also the one with advertising and, in some regions, a captcha on every launch. The difference in approach is that this project trades the platform guarantees of an official application for a clean, native-feeling, ad-free player, and pays for it with an unsigned binary, an unofficial integration and a weekly update treadmill. On a personal machine with the time to read the release notes, that is a reasonable trade. On a fleet of managed work laptops, it usually is not.
Editorial conclusion
SoundCloud Desktop fits a listener who wants a native-feeling desktop player with keyboard media control, a system tray, Discord Rich Presence and no advertising, and it fits users in regions where the web version is unreachable and who are willing to configure a domain list in a traffic filtering tool. It does not fit a user who needs a signed and notarised macOS build, since the app is unsigned and Gatekeeper has to be worked around manually, and it does not fit anyone who needs offline playback of licensed content. Before you install it, pick the package format that matches your distribution rather than installing both AUR packages, and if you use a traffic filtering tool, add scnative.dev and scnative.space to its general user list or tracks will not load.
Frequently asked questions
What is SoundCloud Desktop and what is it built with?
It is an unofficial SoundCloud client for Windows, Linux and macOS, written on Tauri 2 and React 19. Because it uses the system WebView rather than bundling Chromium, it starts quickly, uses little memory and keeps a smooth interface at 60 FPS even on modest hardware.
Which Linux packages does SoundCloud Desktop provide?
There are deb and rpm packages for amd64 and arm64, an AppImage for both architectures, a Flatpak for amd64, and the AUR package soundcloud-bin. The official AUR package is published automatically shortly after each release and is installed with `yay -S soundcloud-bin`, and you should install only one AUR package since a community alternative also exists.
How do I fix a blank window when SoundCloud Desktop starts?
Start the application with the `--safe-render` flag, which in the Flatpak build is the Safe render mode entry in the launcher menu. The log is written to `~/.local/share/com.soundcloud.desktop/logs/desktop.log`, and inside the Flatpak to `~/.var/app/io.github.zxcloli666.SoundcloudDesktop/data/com.soundcloud.desktop/logs/desktop.log`.
Why does macOS say the SoundCloud Desktop app is damaged?
The application is not signed with an Apple Developer certificate, so Gatekeeper may show a damaged application message. The documented fix is to clear the quarantine attribute with `xattr -cr /Applications/soundcloud-desktop.app`, after which the application launches normally.
What do I do if tracks or cover images do not load?
The project documents using the traffic filtering tool zapret and adding scnative.dev and scnative.space to its lists/list-general-user.txt. The application serves some of its files from its own domains in the scnative.dev zone and connects directly to SoundCloud for the tracks, so a provider that cuts the direct path needs the domain list adjusted.
What licence is SoundCloud Desktop released under?
The project is released under the MIT licence, with the licence text in the LICENSE file at the repository root. The recent releases are 8.5.0 from 2026-10-09, 8.5.1 from 2026-10-11 and 8.6.0 from 2026-10-18, and the last push was on 2026-10-20.
Official sources
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.
[](https://hysenlabs.com/projects/zxcloli666-soundcloud-desktop)Was this useful?