Sign inSign up

xiongli870110/proxyapi

By xiongli870110

•Updated 3 months ago

Image
0

399

xiongli870110/proxyapi repository overview

⁠Proxy API Docker

一个基于 Deno 的轻量级 API 代理服务,以 Docker 容器方式运行。开箱即用的高性能代理解决方案。

⁠🌟 主要特性

  • 🚀 高性能代理 — 基于 Deno 运行时,快速的请求转发
  • 🔄 灵活的重定向处理 — 不自动跟随重定向,原样返回上游 3xx 状态码给客户端
  • 🐳 完全容器化 — 基于轻量级 Alpine 镜像,体积小运行快
  • 🔐 HTTPS 支持 — 完整支持 HTTPS 请求转发和校验
  • ⚙️ 环境变量配置 — 灵活配置目标主机和协议
  • 🛡️ 安全校验 — SHA256 校验机制确保下载文件完整性
  • 📝 动态代码加载 — 从远程 URL 动态下载更新,无需重新构建镜像

⁠🚀 快速开始

⁠基础使用(默认代理到 api.groq.com)
docker run -p 8000:8000 xiongli870110/proxyapi:1.0.0
⁠代理到自定义主机
docker run -p 8000:8000 \
  -e DENO_TARGET_HOST=api.example.com \
  -e DENO_TARGET_PROTOCOL=https \
  xiongli870110/proxyapi:1.0.0
⁠使用动态代码加载和 SHA256 校验
docker run -p 8000:8000 \
  -e DENOTS_RAW_URL=https://raw.githubusercontent.com/your-org/repo/main/deno.ts \
  -e DENOTS_SHA256=abc123def456... \
  -e DENO_TARGET_HOST=api.example.com \
  xiongli870110/proxyapi:1.0.0

⁠📋 环境变量

变量默认值说明
DENO_TARGET_HOSTapi.groq.com上游 API 主机名
DENO_TARGET_PROTOCOLhttps协议(http 或 https)
DENOTS_RAW_URLGitHub 官方地址动态加载 deno.ts 的远程 URL
DENOTS_SHA256空(可选)SHA256 校验值

⁠📖 工作流程

  1. 启动容器 → 执行启动脚本
  2. 下载代码 → 从 DENOTS_RAW_URL 获取最新 deno.ts
  3. 校验完整性 → 如设置 SHA256,验证文件哈希
  4. 启动服务 → 在 0.0.0.0:8000 监听请求
  5. 代理转发 → 将请求转发到上游服务,原样返回响应

⁠🔧 测试代理

curl -i http://localhost:8000/openapi/deployments

⁠💡 使用场景

  • API 聚合网关 — 统一多个上游 API 的入口
  • 灰度发布 — 更新代理逻辑无需重启容器
  • 请求日志分析 — 在 deno.ts 中添加自定义日志
  • 请求修改转换 — 对请求头、请求体进行自定义处理

⁠🏗️ 技术栈

  • 运行时 — Deno
  • 容器 — Docker + Alpine Linux
  • 网络 — HTTP/HTTPS 支持
  • 校验 — SHA256 安全验证

⁠📚 项目结构

proxy_api_docker/
├── Dockerfile              # Docker 镜像构建配置
├── deno.ts                 # 代理应用主代码
├── entrypoint.sh           # 容器启动脚本
└── README.md               # 完整文档

⁠🔗 相关链接

⁠📝 许可证

MIT License

Tag summary

Content type

Image

Digest

sha256:01e7eebb9…

Size

52.1 MB

Last updated

3 months ago

docker pull xiongli870110/proxyapi:web