本接口用于为一台或多台云手机实例批量设置代理服务。
您可以开启代理并配置详细的代理协议及规则,也可以使用本接口关闭已有的代理设置。
SetProxy 的“任务执行回调”和“子任务执行回调”,具体操作请参考云手机回调服务接入指南;本接口的单用户 QPS 限制为 50 次/秒、单实例 QPS 限制为 10 次/秒。超过限制,API 调用会被限流。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | SetProxy | 接口名称。当前 API 的名称为 SetProxy。 |
| Version | String | 是 | 2023-10-30 | 接口版本。当前 API 的版本为 2023-10-30。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| ProductId | String | 是 | 1749281594201****** | 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取 |
| PodIdList | Array of String | 是 | ["7337159054625******","7337159054626******"] | 需要设置代理的实例 ID 列表,可通过调用 ListPod 接口获取。列表长度上限为 100。 |
ProxyStatus | Integer | 是 |
| 是否开启代理:
|
| ProxyConfig | JSON Map | 否 | {"key":"value"} | 代理配置键值对,ProxyStatus 为 1 时必填。具体参看 ProxyConfig 字段说明。 |
下表仅列出本接口特有的返回参数。更多信息请参见返回结构。
| 参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| TaskId | String | 7299395610653****** | 任务 ID。 |
| TaskAction | String | SetProxy | 任务类型。 |
| JobList | Array of SetProxyJob | - | 子任务列表。参看 SetProxyJob数据类型。 |
| 参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| JobId | String | job-7294170061873******-7337159054625****** | 子任务 ID。 |
| PodId | String | 7337159054625****** | 实例 ID。 |
使用方案一时(version=v2),请求示例如下:
POST https://open.volcengineapi.com?Action=SetProxy&Version=2023-10-30 { "ProductId": "1749281594201******", "PodIdList": [ "7337159054625******", "7337159054626******" ], "ProxyStatus": 1, "ProxyConfig": { "version": "v2", "type": "socks5", "ignoreVerify": "1", "address": "203.0.113.52", "port": "12345", "id": "your-proxy-username", "password": "your-secure-password", "oversea": "1", "proxyRules": "proxyPkgBlack", "proxyPkgBlack": "com.example.app1,com.example.app2", "dnsProtocol": "tcp", "udp": "true" } }
使用方案一时(version=v2),返回示例如下:
{ "ResponseMetadata": { "Action": "SetProxy", "Region": "cn-north-1", "Service": "ACEP", "Version": "2023-10-30", "RequestId": "20230604110420****100232280022D31" }, "Result": { "TaskId": "7299395610653******", "TaskAction": "SetProxy", "JobList": [ { "JobId": "job-7294170061873******-7337159054625******", "PodId": "7337159054625******" }, { "JobId": "job-7294170061874******-7337159054626******", "PodId": "7337159054626******" } ] } }
使用方案二时(version=v1),以使用 SOCKS 协议为例,请求示例如下:
POST https://open.volcengineapi.com?Action=SetProxy&Version=2023-10-30 { "ProductId": "1749281594201******", "PodIdList": [ "7337159054625******", "7337159054626******" ], "ProxyStatus": 1, "ProxyConfig": { "version": "v1", "type": "5", "remark": "my-proxy", "oversea": "1", "address": "203.0.113.12", "port": "12345", "id": "123e4567-e89b-12d3-a456-426614174000", "password": "your-secure-password", "proxyVisible": "false", "proxyRules": "proxyPkgBlack", "proxyPkgBlack": "com.example.app1,com.example.app2" } }
使用方案二时(version=v1),返回示例如下:
{ "ResponseMetadata": { "Action": "SetProxy", "Region": "cn-north-1", "Service": "ACEP", "Version": "2023-10-30", "RequestId": "20230604110420****100232280022D31" }, "Result": { "TaskId": "7299395610653******", "TaskAction": "SetProxy", "JobList": [ { "JobId": "job-7294170061873******-7337159054625******", "PodId": "7337159054625******" }, { "JobId": "job-7294170061874******-7337159054626******", "PodId": "7337159054626******" } ] } }
您可访问公共错误码,获取更多错误码信息。
ProxyConfig 字段用于配置代理协议及代理规则。该字段为 JSON Map 类型,当 ProxyStatus 为 1 (开启代理) 时必填。
配置分为 v2 和 v1 两种代理方案,使用 version 字段控制(需配合 2025/4/21 及之后日期发布的镜像使用)。我们强烈推荐您使用 v2 方案,该方案提供了更优的代理能力和规则支持。
当使用 v2 方案时,ProxyConfig 内所有可用参数及说明如下表所示。
key | key 含义 | 是否必填 | value | value 说明 |
|---|---|---|---|---|
version | 代理方案版本。 | 是 |
| String 类型。必须设置为 |
type | 代理协议类型。 | 是 |
| String 类型。当前仅支持 SOCKS 协议,请传入 |
ignoreVerify | 代理配置的校验模式。该参数需配合 2025/6/12 及之后日期发布的镜像使用。 | 否 |
| String 类型。定义系统如何处理您提供的代理配置。 |
address | 代理服务器地址。 | 是 | 例如: | String 类型。 |
port | 代理服务器端口号。 | 是 | 例如: | String 类型。 |
id | 用户 ID。 | 否 | 例如: | String 类型。支持的特殊符号: |
password | 密码。 | 否 | 例如: | String 类型。支持的特殊符号: |
oversea | 是否是海外代理。 | 否 |
| String 类型。 |
proxyRules | 代理规则配置。 | 否 |
| String 类型。若不设置则默认所有流量都走代理。 |
proxyPkgBlack | 黑名单应用包名。 | 当 | 例如: | String 类型。多个包名以英文逗号“,”分隔。 |
proxyPkgWhite | 白名单应用包名。 | 当 | 例如: | String 类型。多个包名以英文逗号“,”分隔。 |
proxyIPDomainBlack | 黑名单 IP/域名。 | 当 | 例如: | String 类型。多个 IP/域名以英文逗号“,”分隔。 |
proxyIPDomainWhite | 白名单 IP/域名。 | 当 | 例如: | String 类型。多个 IP/域名以英文逗号“,”分隔。 |
dnsProtocol | DNS 转发协议。 | 否 | 例如:tcp | String 类型。取值:
|
udp | 是否转发 UDP 协议。 | 否 | 例如:true | String 类型。取值:
|
注意
AOSP 13 版本镜像的实例不支持使用当前方案。
key | key 含义 | 是否必填 | value | value 说明 |
|---|---|---|---|---|
version | 代理方案版本。 | 条件必填 |
| String 类型。 |
type | 代理协议类型。 | 是 |
| String 类型。详见下方协议特定参数说明。 |
remark | 别名或备注信息。 | 是 | 例如: | String 类型。 |
oversea | 是否是海外代理。 | 否 |
| String 类型。 |
proxyVisible | 代理结果是否在云手机页面上显示。 | 否 |
| String 类型。 |
proxyRules | 代理规则配置。 | 否 |
| String 类型。若不设置则默认所有流量都走代理。 |
proxyPkgBlack | 黑名单应用包名。 | 当 | 例如: | String 类型。多个包名以英文逗号“,”分隔。 |
proxyPkgWhite | 白名单应用包名。 | 当 | 例如: | String 类型。多个包名以英文逗号“,”分隔。 |
proxyIPDomainBlack | 黑名单 IP/域名。 | 当 | 例如: | String 类型。多个 IP/域名以英文逗号“,”分隔。 |
根据您在 v1 方案 type 字段中选择的协议类型,您还需要提供以下对应的参数。
type 值 | 协议 | 所需额外参数 | 参数释义及示例 |
|---|---|---|---|
1 | VMESS | address,port,id |
|
3 | VLESS | address,port,id,sni | |
4 | SHADOWSOCKS | address,port,password,encryption | |
5 | SOCKS | address,port,id,password | |
6 | TROJAN | address,port,password,sni |