Desktop app

One address for your scrapers. ProxyDesk juggles the list.

ProxyDesk runs on your machine and opens one SOCKS5 and one HTTP address. Point curl, Scrapy, Playwright or your bot at it once. Rotation, dead proxies and retests happen behind it, and if every proxy is down your requests fail instead of quietly going out on your own IP.
ProxyDesk overview: running with 13 of 14 proxies usable, the local SOCKS5 and HTTP addresses with copy buttons, a curl snippet, and the pool with each proxy’s health and latency
Sample data shown
What it does

Less proxy plumbing in every script you write

  • One address, any tool

    SOCKS5 on 127.0.0.1:11080 and HTTP on 127.0.0.1:18080 out of the box. Anything with a proxy setting can use it, from a one-line curl to the bot you keep meaning to tidy up.

  • Rotation you did not have to write

    A new proxy for each connection, or stay on one until it fails for targets that care about sessions. Rotate now when you want a fresh one.

  • Dead proxies get benched

    A proxy that fails is pulled out of rotation and retested on its own, waiting longer each time it keeps failing. Once it passes, it is back in. No restart.

  • Fails closed

    If no proxy can take a connection, ProxyDesk refuses it. Nothing is ever sent direct, so a dead pool never hands your real IP to the site you were scraping.

  • Checked before it is added

    Paste a pile of proxies and see how each line was read: ready, duplicate or needs a fix. The good ones get batch-tested as they go in, with a report you can copy.

  • A log that leaves with you

    Recent connections, each with where it went, which proxy carried it, whether it worked and the bytes it moved. Export the lot as CSV.

How it works

Four steps, and the last one is a paste

  1. Download it from your dashboard

    The Windows, Linux and macOS builds are in your dashboard.

  2. Sign in, or paste your own

    Sign in with your ProxyMonkey account to load your proxies. Got some from elsewhere? Paste them in as well.

  3. Press Start

    ProxyDesk opens its two local addresses. Nothing else on your machine changes.

  4. Point your tools at it

    Paste the snippet into your script, or the address into your app’s proxy setting. Everything you point at it shares the same pool.

proxydesk · default ports
Choose a language
curl -x socks5h://127.0.0.1:11080 https://example.com

# or for every tool started from this shell
export ALL_PROXY=socks5h://127.0.0.1:11080
export HTTP_PROXY=http://127.0.0.1:18080
export HTTPS_PROXY=http://127.0.0.1:18080
import requests  # pip install requests[socks]
proxies = {
    "http": "socks5h://127.0.0.1:11080",
    "https": "socks5h://127.0.0.1:11080",
}
print(requests.get("https://example.com", proxies=proxies).status_code)
const browser = await chromium.launch({
  proxy: { server: "http://127.0.0.1:18080" },
});

These use the default ports. ProxyDesk shows the same snippets with your own ports and local login filled in. socks5h resolves DNS through the proxy; plain socks5 does not.

Browsers can use the address too. For per-site rules inside one browser, the browser extension is the better fit.

The whole setup, with what happens when a proxy dies, is in the ProxyDesk quick start.

The meter you can check

Hold our meter up against your own count.

The Activity page counts what went through ProxyDesk on your machine: connections, bytes up and down, failures, with health checks in a separate pile.

It is not the bill. It is a second opinion you did not have to build, and it exports as CSV. Reading the export and lining it up with our usage log is in count your own requests; our side of the story is on how the meter works.

ProxyDesk activity page: connection and byte totals for the session, health-check traffic counted separately, recent connections with destination, proxy, result and bytes, and an Export CSV button
Sample data shown
Screenshots

Sample data shown

Overview: addresses, snippets, pool

ProxyDesk overview: running with 13 of 14 proxies usable, the local SOCKS5 and HTTP addresses with copy buttons, a curl snippet, and the pool with each proxy’s health and latency, light theme
Light
ProxyDesk overview: running with 13 of 14 proxies usable, the local SOCKS5 and HTTP addresses with copy buttons, a curl snippet, and the pool with each proxy’s health and latency, dark theme
Dark

Proxies: who is healthy, who is benched

ProxyDesk proxies page: healthy proxies with type, country and latency, and one proxy whose login was refused, set aside and retrying in 4 minutes while traffic uses the others, light theme
Light
ProxyDesk proxies page: healthy proxies with type, country and latency, and one proxy whose login was refused, set aside and retrying in 4 minutes while traffic uses the others, dark theme
Dark

Import: checked line by line

ProxyDesk import dialog: four pasted lines read as two ready, one duplicate skipped and one that needs a fix, with an Add 2 and test button, light theme
Light
ProxyDesk import dialog: four pasted lines read as two ready, one duplicate skipped and one that needs a fix, with an Add 2 and test button, dark theme
Dark

Activity: your own byte count

ProxyDesk activity page: connection and byte totals for the session, health-check traffic counted separately, recent connections with destination, proxy, result and bytes, and an Export CSV button, light theme
Light
ProxyDesk activity page: connection and byte totals for the session, health-check traffic counted separately, recent connections with destination, proxy, result and bytes, and an Export CSV button, dark theme
Dark

First run: three steps

ProxyDesk first-run checklist: signed in with 14 proxies added, a Start button for the local addresses, and a verify step marked as not built yet, light theme
Light
ProxyDesk first-run checklist: signed in with 14 proxies added, a Start button for the local addresses, and a verify step marked as not built yet, dark theme
Dark
The fine print, up front

Windows, Linux and macOS

  • Windows

    The build is unsigned, so Windows warns you on first run.

  • Linux

    A Linux build is in your dashboard.

  • macOS

    Not notarized yet, so you approve it once: System Settings > Privacy & Security > Open Anyway.

Straight answers

Asked before anyone installs it

Will it put my whole machine behind a proxy?

No. Only the apps you point at its address use it. Everything else on your machine connects the way it always did.

What happens when every proxy is down?

Your requests fail. ProxyDesk never falls back to your own connection, so a bad night for your pool does not quietly put your real IP in someone’s logs.

Can my scraper keep one IP for a login session?

Yes. Set rotation to Stay on one proxy until it fails. The default is a new proxy for each connection.

Is the activity log my bill?

No. It is ProxyDesk’s own count of what went through it, made on your machine, with health checks counted separately. That makes it a handy second opinion next to the usage log in your dashboard. If the two disagree by more than protocol overhead, tell us in Discord.

Does it support UDP?

No. TCP only, over SOCKS5 and HTTP.

Why does my computer warn me about it?

The Windows build is unsigned, so Windows may warn you on first run.

The macOS build is not notarized yet, so macOS will not open it until you approve it, and only the first time. Open ProxyDesk once; macOS says it cannot verify the app and does not open it, so close that dialog. Then open System Settings > Privacy & Security, scroll to the Security section, find the message about ProxyDesk being blocked and click Open Anyway. Confirm with your password or Touch ID, open ProxyDesk again and choose Open.

We would rather tell you here than have you find out from a scary dialog.

Do I need a ProxyMonkey account?

To download it, yes: the builds are in your dashboard. After that you can sign in to load your proxies, or paste in ones you already have.

Grab it from your dashboard

Downloads live in your dashboard, so you always get the current build for your system. No account yet? Make one first.

Join the Discord4,200+ monkeys, free to lurk