Get started
Install on Linux (beta)
Since 0.4.0 Requires Cloak Proxy 0.4.0 or later.
Install the Cloak Proxy beta on Ubuntu, Debian, Fedora and other Linux desktops from a .deb, an RPM, an AppImage or a portable folder, trust its certificate, use the desktop's proxy, and uninstall it.
Cloak Proxy for Linux is in beta. It’s the same engine as the Mac app, so capture, HTTPS decryption, the debugging tools, cloakctl and the MCP server work the same way, with the traffic window, the API client and the other windows shown in GTK windows. A few things differ: see What the beta doesn’t do yet.
Cloak Proxy on Ubuntu 24.04.
Check the requirements
Section titled “Check the requirements”| Requirement | Details |
|---|---|
| Distribution | Ubuntu 24.04 or later, Debian 13 (trixie) or later, Fedora 43 or later and RHEL 10-compatible distributions, or another distribution with GTK 4 and WebKitGTK 6.0 (with the AppImage or the portable folder) |
| Processor | x86_64 (amd64) or ARM64 (aarch64) |
| Desktop | GNOME or KDE Plasma for the system proxy switch. Other desktops work too: point apps at the proxy yourself. |
| Disk space | About 120 MB once installed, plus WebKitGTK if you don’t have it yet |
| Account | None. Cloak Proxy is free for life. |
Download and install
Section titled “Download and install”-
Go to subcloak.com/apps/cloak-proxy and click Download for Linux. Pick the
.debfor your processor:cloak-proxy_0.4.2_amd64.debfor most PCs,cloak-proxy_0.4.2_arm64.debfor ARM computers. Not sure? Rundpkg --print-architecture. -
Optional: check the file is the one Subcloak published. Compare the output with the SHA-256 on the download page:
Terminal sha256sum ~/Downloads/cloak-proxy_0.4.2_amd64.deb -
Install it with apt, which also installs the libraries it needs (GTK 4, WebKitGTK and the tools that trust the certificate in Chrome and Firefox):
Terminal sudo apt install ~/Downloads/cloak-proxy_0.4.2_amd64.debKeep the
./or full path: without it, apt looks for a package of that name online. Double-clicking the file opens it in your software center, which works too. -
Open Cloak Proxy from your app menu, or run
cloak-proxyin a terminal.
-
Go to subcloak.com/apps/cloak-proxy and click Download for Linux. Pick the RPM for your processor:
cloak-proxy-0.4.2-1.x86_64.rpmfor most PCs,cloak-proxy-0.4.2-1.aarch64.rpmfor ARM computers. Not sure? Rununame -m. -
Optional: check the file is the one Subcloak published. Compare the output with the SHA-256 on the download page:
Terminal sha256sum ~/Downloads/cloak-proxy-0.4.2-1.x86_64.rpm -
Install it with dnf, which also installs the libraries it needs (GTK 4, WebKitGTK 6.0, and
nss-toolsto trust the certificate in Chrome and Firefox):Terminal sudo dnf install ~/Downloads/cloak-proxy-0.4.2-1.x86_64.rpmThe RPM isn’t signed, so dnf installs it from the file without a key. On RHEL 10 and compatible distributions (AlmaLinux, Rocky Linux), WebKitGTK 6.0 comes from EPEL: run
sudo dnf install epel-releasefirst. -
Open Cloak Proxy from your app menu, or run
cloak-proxyin a terminal.
The AppImage is one file that runs without installing anything. It uses GTK 4 and WebKitGTK 6.0 from your distribution rather than bringing its own copy, which keeps it smaller and gets WebKit’s security fixes from your updates.
-
Download
cloak-proxy-0.4.2-x86_64.AppImage(or-aarch64for ARM) from subcloak.com/apps/cloak-proxy, and make it executable:Terminal chmod +x ~/Downloads/cloak-proxy-0.4.2-x86_64.AppImage -
Run it. If WebKitGTK 6.0 isn’t installed, it says so and shows the command for your distribution, for example:
Terminal sudo apt install libwebkitgtk-6.0-4 libsqlite3-0 libbrotli1 libnss3-tools # Debian, Ubuntusudo dnf install webkitgtk6.0 sqlite-libs libbrotli nss-tools # Fedora -
Optional: add it to your app menu, and
cloak-proxy,cloakctland their man pages to~/.local, for you only and without a password:Terminal ~/Downloads/cloak-proxy-0.4.2-x86_64.AppImage --integrateKeep the AppImage where it is afterwards, or run
--integrateagain after moving it. AppImageLauncher and Gear Lever also add it to the menu by themselves.
cloakctl is inside the AppImage: run cloak-proxy-0.4.2-x86_64.AppImage cloakctl list, or cloakctl list after --integrate. The MCP setup in Settings › Advanced points at the AppImage for you.
The portable folder runs without installing anything system-wide. It needs GTK 4, WebKitGTK 6.0, SQLite and Brotli from your distribution, and certutil to trust the certificate in browsers.
-
Install the libraries:
Terminal sudo dnf install webkitgtk6.0 sqlite-libs libbrotli nss-tools # Fedorasudo apt install libwebkitgtk-6.0-4 libnss3-tools # Debian, Ubuntu -
Download
cloak-proxy-0.4.2-linux-x86_64.tar.gz(or-aarch64for ARM) from subcloak.com/apps/cloak-proxy and unpack it where you keep apps:Terminal tar -xzf ~/Downloads/cloak-proxy-0.4.2-linux-x86_64.tar.gz -C ~/Applications -
Run it from the folder, or add it to your app menu and
~/.local/bin(for you only, no password):Terminal ~/Applications/cloak-proxy-0.4.2-linux-x86_64/cloak-proxy~/Applications/cloak-proxy-0.4.2-linux-x86_64/install.sh
Open Cloak Proxy the first time
Section titled “Open Cloak Proxy the first time”Like on the Mac, the first launch sets things up on your computer only. Nothing is sent anywhere.
-
It creates a root certificate and its private key in
~/.local/share/cloakproxy. It uses them to decrypt HTTPS for the hosts and apps you choose. See Root certificate. -
It starts the proxy on port 9090, on
127.0.0.1, so only this computer can use it until you allow other devices. -
It opens its window. Without a display (an SSH session, for example) it opens the same page in your default browser instead. The page is served on
127.0.0.1only, with a key that changes every launch.
Unlike the Mac app, the Linux beta doesn’t change your proxy settings or trust the certificate until you ask it to. The next two sections do both.
Trust the certificate
Section titled “Trust the certificate”To decrypt HTTPS, the apps you debug must trust Cloak Proxy’s certificate. Linux has no single place for that: command-line tools read the system’s certificates, and Chrome and Firefox keep their own databases. Cloak Proxy installs it in all of them at once.
-
Open Settings from the menu button (Ctrl ,) and choose Certificate.
-
Click Install Everywhere.
-
Your desktop asks for your password. The prompt says Cloak Proxy wants to change the system’s trusted certificates: that’s the system store, which curl, Python, Node, Git and most other tools read. Chrome, Chromium and every Firefox profile (including the Snap and Flatpak ones) are your own files and need no password.
-
Where it’s trusted lists each store with Trusted next to it. Restart Chrome and Firefox if they were open.
From a terminal, cloak-proxy --install-ca does the same, and cloak-proxy --trust-status lists where it’s trusted.
With the AppImage, Install Everywhere trusts the certificate in Chrome and Firefox but leaves the system’s store alone, and shows the command that adds it there (sudo install -m 644 … && sudo update-ca-certificates on Debian and Ubuntu, sudo trust anchor --store … on Fedora). Run it once in a terminal; Where it’s trusted then shows the system store as trusted.
Send this computer’s traffic through Cloak Proxy
Section titled “Send this computer’s traffic through Cloak Proxy”Open Device Setup… from the menu button and click Use the System Proxy. Cloak Proxy points the desktop’s proxy setting (GNOME’s network proxy, or KDE Plasma’s) at itself, and puts your previous setting back when it quits. If it’s killed instead, a small guard process restores the setting for you.
GNOME and KDE apps, Chrome, Chromium and Firefox (when set to use the system proxy, its default) follow this setting. To turn it on at every launch, open Settings › General and turn on Use the desktop’s proxy setting on launch.
Programs in a terminal read the http_proxy and https_proxy variables instead. To send one terminal through Cloak Proxy:
eval "$(cloak-proxy --print-env)"This also sets NODE_EXTRA_CA_CERTS, so Node.js trusts the certificate. Other terminals aren’t affected. From 0.4.2 the lines also set no_proxy (localhost,127.0.0.1,::1,*.local), NODE_USE_ENV_PROXY=1, so Node.js 24’s built-in fetch uses the proxy, and REQUESTS_CA_BUNDLE, which points Python requests at ca-bundle.pem: the system’s root certificates plus Cloak Proxy’s. Since 0.4.2 Device Setup… has the same lines to copy, plus setups for Docker, Java, Flutter, Electron and Android.
On other desktops, set your browser’s or app’s HTTP and HTTPS proxy to 127.0.0.1 port 9090, or start Chrome with --proxy-server=http://127.0.0.1:9090.
Then turn on SSL Proxying for the hosts or apps you want to read, and the Quick start carries on from there.
Run it without a window
Section titled “Run it without a window”On a server, in a container or in CI, run the proxy headless and drive it with cloakctl or the MCP server:
cloak-proxy --headless --install-ca --system-proxycloakctl listIt stops on Ctrl C, restoring the proxy setting. cloak-proxy --help lists every option, and man cloak-proxy and man cloakctl Since 0.4.2 explain them. See Headless and CI.
Where Cloak Proxy keeps its files
Section titled “Where Cloak Proxy keeps its files”Directory~/.config/cloakproxy/
- proxy-configuration.json settings and debugging tool rules
- preferences.json
- web-ui.json the window’s layout: tabs, columns, pane sizes
- system-proxy-snapshot.json your own proxy setting, while Cloak Proxy has changed it
Directory~/.local/share/cloakproxy/
- cloak-proxy-ca.pem the root certificate
- cloak-proxy-ca-key.pem its private key (readable only by you)
- api-token the token for cloakctl and MCP
DirectorySession/ captured traffic, kept across launches
- …
DirectoryWorkspace/ the API client workspace
- …
Directory~/.local/state/cloakproxy/ logs
- …
The .deb and the RPM install the app in /usr/lib/cloak-proxy, its page in /usr/share/cloak-proxy, cloak-proxy and cloakctl in /usr/bin, and their man pages. The AppImage installs nothing: --integrate adds only a menu entry, icons, two links in ~/.local/bin and the man pages, all in your home folder. API client secrets go to your desktop’s keyring (the Secret Service) when there is one, or to a file only you can read.
Update to a new version
Section titled “Update to a new version”Download the new .deb and install it the same way: sudo apt install ./cloak-proxy_VERSION_amd64.deb replaces the old version and keeps your settings, certificate and workspace. With the RPM, sudo dnf install ./cloak-proxy-VERSION-1.x86_64.rpm does the same. With the AppImage, replace the file, and run --integrate again if its name changed. With the portable folder, unpack the new one and run its install.sh again.
Help › Check for Updates… Since 0.4.1 says when there’s a new version, but it doesn’t install it for you: How to Update opens the download page. In 0.4.1 the automatic check (Check for updates automatically in Settings › General, or Check for updates once a day in the update window) is on by default: it checks when the window opens and shows Update available in the status bar. Turn it off there if you don’t want it. The check asks download.subcloak.com for the latest version number and nothing else.
Since 0.4.2 From 0.4.2, automatic checks are off until you turn them on in Settings › General › Updates, as on the Mac. If you used 0.4.1 or earlier, where the daily check was on by default, 0.4.2 turns it off unless you’d chosen it yourself; turn it on again if you want it. The same section adds Help count active installs (anonymous), off by default, which sends the app version and platform with each check. See Check for updates.
Uninstall Cloak Proxy
Section titled “Uninstall Cloak Proxy”-
Remove the certificate, while Cloak Proxy is still installed: Settings › Certificate › Remove Everywhere, or
cloak-proxy --uninstall-ca. Uninstalling the package doesn’t do this for you, and a certificate left trusted is one less safeguard. Settings › Advanced › Undo All System Changes Since 0.4.1 does this and more in one go: it puts the desktop’s proxy setting back, removes the certificate from the system and the browsers, and turns DNS capture off, after one password prompt. -
Quit Cloak Proxy, so your proxy setting comes back.
-
Remove the package:
Terminal sudo apt remove cloak-proxyOn Fedora and RHEL,
sudo dnf remove cloak-proxy. With the AppImage, run it with--unintegrateif you used--integrate, then delete the file. With the portable folder, run./install.sh --uninstalland delete the folder. -
Delete its files, if you don’t want to keep them. Copy
~/.local/share/cloakproxy/Workspacefirst if it holds collections you need.Terminal rm -rf ~/.config/cloakproxy ~/.local/share/cloakproxy ~/.local/state/cloakproxy
If websites stop loading after Cloak Proxy is gone, your desktop’s proxy may still point at it: open Settings › Network › Network Proxy in GNOME (or System Settings › Network › Proxy in KDE) and choose Disabled (No proxy), or run gsettings set org.gnome.system.proxy mode none.
What the beta doesn’t do yet
Section titled “What the beta doesn’t do yet”Since 0.4.1 the Linux beta has the Mac app’s windows: the traffic list and inspector, the debugging tools, Insights and Privacy Map, the Doctor and DNS capture, the testing windows (Authorization Matrix, API Contracts, Release Diff, Make Tests, Compare Environments, Failure Scenarios), Distributed Tracing, Report Bug, the query bar, live sharing, the browser extension, the in-app SDK listener, and the API client with every protocol, the runner, mocks, flows, monitors, specs and Git. What’s still different:
- The web companion isn’t in the Linux app. To show your traffic in someone else’s browser, use Live sharing.
- DNS capture needs the
.debor the RPM, and systemd-resolved; the AppImage and the portable folder can’t capture domains. See On Linux. - Not tried on Linux yet: the browser extension in a real browser, Postgres and MySQL servers in the API client, and MQTT over TLS or WebSocket. They’re the same code as on the Mac; tell us if they don’t work.
- KDE Plasma proxy switching has only been checked against a simulated desktop. If it doesn’t stick on your Plasma version, open an issue.
- Packages:
.deb, RPM Since 0.4.2, AppImage Since 0.4.2 and a portable folder. Flatpak comes later; the RPM has been tried on Fedora 43 and 44 and AlmaLinux 10, the AppImage on Ubuntu 24.04.
Found something broken? Open an issue with your distribution, desktop and the version you installed (dpkg -s cloak-proxy | grep Version, rpm -q cloak-proxy, or the AppImage’s file name).