Files
zulip/starlight_help/src/content/docs/connect-through-a-proxy.mdx
Anders Kaseorg 3d510601e5 help: Normalize and sort MDX import statements.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-03 22:36:42 -07:00

87 lines
2.8 KiB
Plaintext

---
title: Connect through a proxy
---
import {TabItem, Tabs} from "@astrojs/starlight/components";
import FlattenedSteps from "../../components/FlattenedSteps.astro";
import DesktopSidebarSettingsMenu from "./include/_DesktopSidebarSettingsMenu.mdx";
Some corporate and university networks may require you to connect to Zulip
via a proxy.
## Web
Zulip uses your browser's default proxy settings. To set a custom proxy just
for Zulip, check your browser's instructions for setting a custom proxy for
a single website.
## Desktop
<Tabs>
<TabItem label="System proxy settings">
<FlattenedSteps>
<DesktopSidebarSettingsMenu />
1. Select the **Network** tab.
1. Click **Use system proxy settings**.
1. Restart the Zulip desktop app.
</FlattenedSteps>
</TabItem>
<TabItem label="Custom proxy settings">
<FlattenedSteps>
<DesktopSidebarSettingsMenu />
1. Select the **Network** tab.
1. Click **Manual proxy configuration**.
1. Either enter a URL for **PAC script**, or fill out **Proxy rules** and
**Proxy bypass rules**.
1. Click **Save changes**.
</FlattenedSteps>
</TabItem>
</Tabs>
## Additional tips for custom proxy settings
In most corporate environments, your network administrator will provide a
URL for the **PAC script**.
The second most common configuration is that your network administrator has
set up a proxy server for accessing the public internet, but URLs on the
local network must be accessed directly. In that case set **Proxy rules** to
the URL of the proxy server (it may look something like
`http://proxy.example.edu:port`), and **Proxy bypass rules** to cover local URLs
(it may look something like `*.example.edu,10.0.0.0/8`).
If either of those apply, you can skip the rest of this guide. If not, we
document the syntax for **Proxy rules** and **Proxy bypass rules** below.
### Proxy rules
A semicolon-separated list of `protocolRule`s.
```
protocolRule -> [<protocol>"="]<URLList>
protocol -> "http" | "https" | "ftp" | "socks"
URLList -> comma-separated list of URLs, ["direct://"]
```
Some examples:
* `http=http://foo:80;ftp=http://bar:1080` - Use proxy `http://foo:80`
for `http://` URLs, and proxy `http://bar:1080` for `ftp://` URLs.
* `http://foo:80` - Use proxy `http://foo:80` for all URLs.
* `http://foo:80,socks5://bar,direct://` - Use proxy `http://foo:80` for
all URLs, failing over to `socks5://bar` if `http://foo:80` is
unavailable, and after that using no proxy.
* `http=http://foo;socks5://bar` - Use proxy `http://foo` for `http://` URLs,
and use `socks5://bar` for all other URLs.
### Proxy bypass rules
A comma-separated list of URIs. The URIs can be hostnames, IP address
literals, or IP ranges in CIDR notation. Hostnames can use the `*`
wildcard. Use `<local>` to match any of `127.0.0.1`, `::1`, or `localhost`.