> For the complete documentation index, see [llms.txt](https://academy.shade.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.shade.inc/help-center/help-center-zh/security/shade-network-configuration-guide.md).

# 网络配置指南

### 概述

本文档提供了在企业环境中部署 Shade 所需的网络配置要求。为确保正常运行，您的网络管理员需要将以下域名和端口加入允许列表。

### 所需域名允许列表

必须将以下域名加入允许列表，才能确保 Shade 正常运行：

#### Shade 核心服务

* `*.shade.inc` - 所有 Shade 子域名（通配符）\*\*，包括：
  * `app.shade.inc` - 主应用界面
  * `api.shade.inc` - Shade API 端点
  * `api-auth.shade.inc` - 登录和身份验证
  * `fs.shade.inc` - 文件系统服务（HTTPS 和安全 WebSocket）
  * `events.shade.inc` - 实时更新（安全 WebSocket）
  * `s3.shade.inc` - 兼容 S3 的端点（与 S3 访问密钥配合使用）
  * `status.shade.inc` - Shade 状态页面
* `*.wasabisys.com` - Vault 驱动器的存储（通过 Wasabi），例如 `s3.us-east-1.wasabisys.com`。如果无法使用通配符，请允许 `s3.<region>.wasabisys.com` ，适用于 Vault 驱动器使用的每个区域。
* `*.r2.cloudflarestorage.com` - Active 驱动器的存储（通过 Cloudflare R2）

\*\*虽然我们建议添加通配符规则，但这并非绝对必要

#### 审阅与批准

* `app.shade.inc` - 主应用界面
* `api.shade.inc` - Shade API 端点
* `2f0871f542c14e6bb9ff5efbf27effa0.r2.cloudflarestorage.com` - 存储

#### Shade 文件系统

* `*.upload.shadefs.com` - 从网页端和桌面应用上传文件时使用的上传服务器

#### 第三方服务

* `storage.googleapis.com` - Google Cloud Storage API，包括桌面应用下载和更新（`storage.googleapis.com/v2-public.shade.inc`)
* `*.googleapis.com` - Google Cloud 服务（建议启用以确保完全兼容）
* `shade-prod.firebaseapp.com` 以及 `*.firebaseio.com` - Firebase（Google）
* `*.ingest.sentry.io` - 桌面应用的错误报告（Sentry）
* `do.featurebase.app` 以及 `shade.featurebase.app` - 产品更新和更新日志（Featurebase）
* `*.intercom.io` 以及 `*.intercomcdn.com` - 应用内支持聊天（Intercom）

#### 通知服务

* `https://api.knock.app` - 用于 Slack 通知的 Knock 服务

### 所需端口配置

#### HTTPS 和 WebSocket 流量

* **端口 443（TCP）** - 上述域名的所有 HTTPS 和安全 WebSocket（WSS）流量

Shade 的所有云服务均通过端口 443 上的加密连接通信。 `fs.shade.inc` 以及 `events.shade.inc` 使用安全 WebSocket（`wss://`），因此防火墙和代理必须允许这些主机的 WebSocket 升级请求。

#### 共享缓存（仅限本地网络）

如果您在本地网络中使用共享缓存，还需要允许桌面应用与共享缓存服务器之间的以下通信：

* **端口 8003（TCP）** 默认情况下，或共享缓存服务器配置使用的端口；桌面应用会在本地网络中通过明文 HTTP（而非 HTTPS）连接到共享缓存。
* **端口 5353（UDP）** - mDNS/Bonjour，用于在网络中自动发现共享缓存服务器

### 实施检查清单

要为 Shade 配置网络，请完成以下步骤：

1. **防火墙配置**
   * 将所有列出的域名添加到防火墙的允许列表
   * 确保这些域名的出站 TCP 443 端口已开放
   * 如果使用共享缓存，请在本地网络中允许其 TCP 端口和 UDP 5353（mDNS）
2. **代理配置** （如适用）
   * 配置代理服务器以允许访问所列域名的流量
   * 允许 WebSocket 升级请求（所需用于 `fs.shade.inc` 以及 `events.shade.inc`)
   * 确保 SSL/TLS 检查（如果已启用）不会影响连接
3. **DNS 解析**
   * 验证您的 DNS 服务器可以解析所有列出的域名
   * 如有需要，可考虑将这些域名添加到内部 DNS 转发规则中
4. **测试**
   * 配置完成后，请测试与每个域名的连通性
   * 验证用户可以访问 `app.shade.inc` 并执行文件操作

### 安全注意事项

* 与 Shade 云服务的所有通信均使用行业标准 TLS 加密
* 共享缓存流量保留在本地网络中，并使用 HTTP 而非 HTTPS
* 通配符域名 `*.shade.inc` 用于支持新增服务和功能
* 如果您的安全策略不允许通配符域名，请联系 Shade 支持以获取当前子域名的完整列表

### 支持

如果您在配置过程中遇到任何问题，或需要有关特定域名的更多信息，请联系：

**Shade 企业支持**\
电子邮件： <support@shade.inc>\
文档： <https://docs.shade.inc>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://academy.shade.inc/help-center/help-center-zh/security/shade-network-configuration-guide.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
