Spaces:
Paused
Paused
| title: WebSocket代理转换器 | |
| emoji: 🔄 | |
| colorFrom: blue | |
| colorTo: indigo | |
| sdk: docker | |
| sdk_version: "latest" | |
| app_file: app.py | |
| app_port: 7860 | |
| pinned: false | |
| # WebSocket 代理转换器 | |
| 这个项目提供了一个简单的代理中转服务,将 WebSocket 代理转换为标准的 **HTTP 代理**,使其更容易被普通应用程序使用。 | |
| ## 背景 | |
| 许多云平台(如 Hugging Face Spaces)不允许直接暴露代理端口,但允许通过 WebSocket 提供服务。这个项目解决了这个问题: | |
| 1. **第一个 Space**(Clash WebSocket 代理): 通过 WebSocket 隧道(`/wsproxy`)提供代理服务 | |
| 2. **这个 Space**(代理转换器): 将 WebSocket 代理转换为标准 HTTP 代理 | |
| ## 特点 | |
| - 自动将 WebSocket 代理转换为标准 HTTP 代理 | |
| - 支持在 Hugging Face Spaces 等平台上部署 | |
| - 轻量级、安全和高性能 | |
| - 基于 [gost](https://github.com/ginuerzh/gost) 实现,成熟稳定 | |
| ## 部署指南 | |
| ### 在 Hugging Face Space 上部署 | |
| 1. 创建一个新的 Space(选择 Docker 运行时) | |
| 2. 上传这个目录中的所有文件 | |
| 3. 在 Space 的设置中添加一个密钥(Secret): | |
| - 名称: `URL` | |
| - 值: 第一个 Space 的 URL,例如 `https://your-first-space.hf.space`(脚本会自动处理路径和协议转换) | |
| 4. 部署并等待构建完成 | |
| ### 本地部署(测试用途) | |
| ```bash | |
| # 设置目标 WebSocket 代理 URL | |
| export URL="https://your-first-space.hf.space" | |
| # 运行 Docker 容器 | |
| docker build -t proxy-converter . | |
| docker run -p 8080:7860 -e URL=$URL proxy-converter | |
| # 然后配置 HTTP 代理为 http://localhost:8080 | |
| ``` | |
| ## 使用方法 | |
| 部署完成后,你可以使用以下 **HTTP 代理** 设置: | |
| - **推荐 (HTTPS)**: | |
| - 主机/服务器: `your-converter-space.hf.space` | |
| - 端口: `443` | |
| - URL (如果需要): `https://your-converter-space.hf.space` | |
| - 类型: HTTP / HTTPS (客户端到代理服务器的连接是加密的) | |
| - **备选 (HTTP)**: | |
| - 主机/服务器: `your-converter-space.hf.space` | |
| - 端口: `80` | |
| - URL (如果需要): `http://your-converter-space.hf.space` | |
| - 类型: HTTP (客户端到代理服务器的连接是未加密的) | |
| - **SOCKS5 代理**(如果修改了 `start.sh` 配置): | |
| - 需要客户端支持通过 HTTP CONNECT 或其他隧道方式连接 SOCKS5。不推荐在 Hugging Face 上直接使用。 | |
| ## 故障排除 | |
| - **无法连接**:确保 `URL` 密钥指向正确的第一个 Space 的地址,并且两个 Space 都在运行。 | |
| - **连接失败**:检查第一个 Space 的日志,确认 `/wsproxy` 是否正常工作。 | |
| - **性能问题**:Hugging Face 对免费 Spaces 有带宽和计算限制,请考虑升级或使用其他平台。 | |
| ## 自定义 | |
| 修改 `start.sh` 中的配置可以自定义代理类型(改回 SOCKS5)、添加认证等。详细请参考 [gost 文档](https://github.com/ginuerzh/gost/blob/master/README_en.md)。 | |
| ## 安全注意事项 | |
| 这种代理转换不提供端到端的加密(仅在客户端到转换器 Space 和转换器 Space 到原始 Space 的 WebSocket 连接上可能有 TLS 加密)。请勿通过此代理传输高度敏感数据,除非你信任相关网络环境。 |