从这里开始 · 身份验证
有两种方式证明你的身份:使用密码,或验证发起连接的地址。
两种方式都适用于所有网络和两种协议。可以按服务器选择,也可以自由混用。
选择验证方式#
| 用户名和密码 | IP 白名单 | |
|---|---|---|
| 适用来源 | 任意 IP,包括动态 IP 和云端 IP | 你已登记的公共 IPv4 地址 |
| 定向参数 | 附加到用户名中 | 发送任意用户名以传递参数;密码会被忽略 |
| 传输中的凭据 | Proxy-Authorization 标头中的 Base64 数据 | 无 |
| 最适合 | 笔记本电脑、容器、无服务器平台、浏览器 | 固定服务器、无法保存密码的反检测浏览器、Chrome 启动参数 |
| 轮换 | 随时重新生成密码 | 随时添加或移除地址 |
用户名和密码#
你的账户拥有一组用于共享网关的凭据。它显示在控制面板的 凭据 下,也会由 GET /v1/credentials 返回。用户名携带定向参数;密码不会随这些参数变化。
# 通过住宅网关访问 HTTP(S) 目标
curl -x http://USER-cc-us:[email protected]:9000 https://api.ipify.org
# 通过 SOCKS5 完成相同操作(socks5h = 在出口处解析主机名)
curl --proxy socks5h://USER-cc-us:[email protected]:9001 https://api.ipify.org在底层,HTTP 客户端会在请求或 CONNECT 上发送 Proxy-Authorization: Basic base64(username:password);SOCKS5 客户端则使用用户名/密码子协商(RFC 1929)。只要代理 URL 中包含凭据,所有主流客户端都会自动完成这些操作。
IP 白名单#
登记将要发起连接的机器的公共 IPv4 地址,这些机器无需凭据即可使用所有端点。每个账户最多可登记 50 个地址;更改会在一分钟内生效。
- 查找目标网站会看到的服务器地址:在不使用代理的情况下运行
curl https://api.ipify.org。 - 在 设置 → 白名单 中添加该地址,或调用
POST /v1/whitelist。 - 连接时不提供用户名和密码。如果没有用户名,出口将在全球范围内选择,并在每次连接时轮换。
- 如需定向,请继续发送包含所需参数的用户名以及任意密码:白名单中的地址无论密码为何都会受到信任。
# 从白名单服务器连接:完全无需凭据
curl -x http://res.proxshift.com:9000 https://api.ipify.org
# 仍通过白名单验证,但指定定向参数:任意密码均可
curl -x http://USER-cc-fr-city-paris:[email protected]:9000 https://api.ipify.org专属 ISP、数据中心和移动设备#
每个专属地址都有自己的用户名和密码,在列表中显示为 ip:port:user:pass。白名单也适用于这些地址:从已登记的服务器连接到 ip:8000 时完全无需凭据。由于专属地址的位置固定,因此不需要使用参数。
203.0.113.42:8000:u7f3a9c:kq2Lm8Pz1r # HTTP(S)
203.0.113.42:8001:u7f3a9c:kq2Lm8Pz1r # SOCKS5,凭据相同子用户#
子用户是共享网关上的一组额外凭据,拥有独立的流量限额和用量记录。可以为每个客户、项目或团队成员分别创建子用户,这样即使密码泄露,暴露的也只是有限预算,同时还可以按业务线查看用量。子用户可在控制面板中管理,也可通过 POST /v1/subusers 管理。
轮换密码#
可在控制面板中重新生成密码,也可调用 POST /v1/credentials/rotate。旧凭据仍会继续有效十分钟,以便正在运行的任务无故障地改用新凭据。
避免凭据出现在不该出现的地方#
- 从环境变量或密钥存储中读取凭据,切勿将其放入源代码管理系统。
- 在共享网络或不受信任的网络上优先使用白名单:从你到网关的这一段使用纯 HTTP,因此 Basic 标头可能在传输路径上被读取。
- 为每个工具分配一个子用户;停用工具时撤销该子用户,而不是撤销账户密码。
- 从日志中移除代理 URL。发生错误时,大多数客户端会打印包含凭据的完整 URL。