V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
coderpwh
V2EX  ›  分享创造

cf 中转麻烦?我用 deno 写了个万能中转代理,一键部署,无需域名

  •  
  •   coderpwh ·
    pwh-pwh · 6 天前 · 2337 次点击

    前几天接触了 deno,发现挺不错的,刚好有几个 api 需要代理中转就写了这个小工具

    用途:用于国内访问慢或者无法访问的服务的中转,如 opengpt,gemini,一些虚拟币 api 接口等等

    优点:可以动态设置需要代理网站的地址,使用简单,无门槛

    项目地址: https://github.com/pwh-pwh/DenoProxy

    具体说明如下:

    🌐 Deno Proxy

    欢迎使用 Deno Proxy!🚀
    这是一个轻量级的代理服务应用,使用 Deno 构建,旨在将请求转发到指定的目标 URL 。无论您需要通过代理访问网站,还是转发 API 请求,Deno Proxy 都能满足您的需求!

    📦 特性

    • 代理请求: 将以 /proxy 开头的请求转发到指定的目标 URL 。
    • 设置代理 URL: 使用简单的 ?setUrl=TARGET_URL 查询参数轻松设置或更改代理目标 URL 。
    • 动态代理目标: 使用 /proxy 端点设置活动的代理目标。

    🚀 快速开始

    1. 克隆项目

    通过以下命令克隆仓库并进入项目目录:

    git clone https://github.com/pwh-pwh/DenoProxy.git
    cd deno-proxy
    

    2. 运行代理服务器

    确保已安装 Deno。如果没有安装,可以从 deno.land 获取并安装。
    然后,使用以下命令运行代理服务器:

    deno run --allow-net --unstable proxy.ts
    

    此命令会启动代理服务器并监听 8000 端口。

    3. 部署应用

    有两种方式实现部署

    1. 安装 deno 部署工具 deployctl deno install -A jsr:@deno/deployctl --global 项目目录执行 deployctl deploy
    2. fork 本项目,进入 deno 控制台 https://dash.deno.com/ 进行部署操作

    4. 使用代理服务器

    🌍 设置代理 URL

    要设置代理目标,您需要将有效的 URL 传递给 setUrl 参数:

    http://localhost:8000/?setUrl=https://example.com
    

    🔄 使用代理

    设置代理后,只需访问任何以 /proxy 开头的路径,请求将会转发到指定的目标 URL 。

    例如:

    http://localhost:8000/proxy/some/path
    

    此请求将会被转发到 https://example.com/some/path,并返回目标网站的响应!

    📚 API 参考

    1. ?setUrl=TARGET_URL

    使用此端点来设置或更改代理目标 URL 。所有访问 /proxy 的请求都会转发到此 URL 。

    示例

    http://localhost:8000/?setUrl=https://example.com
    

    2. /proxy 路径

    访问以 /proxy 开头的路径的请求将会转发到设置的目标 URL 。

    示例

    http://localhost:8000/proxy/some/path
    

    这将会把请求转发到目标 URL ,并返回响应。

    📁 项目结构

    deno-proxy/
    ├── main.ts          # 代理服务器代码
    ├── README.md         # 这份超棒的文档!
    └── ...
    

    🛠️ 使用的技术

    • Deno: 一个用于 JavaScript 和 TypeScript 的安全运行时。
    • HTTP 服务器: Deno 的原生 HTTP 服务器处理请求。

    🔑 权限

    服务器需要以下权限:

    • --allow-net: 允许网络访问(用于转发请求)。
    • --unstable: 启用不稳定的 Deno API (用于使用 Deno.openKv())。

    🤝 贡献

    欢迎随时 fork 本仓库、提交问题或 Pull Request 。您的贡献是我们不断改进的动力!

    📜 许可证

    本项目使用 MIT 许可证 进行授权。


    🖼️ 预览

    一旦您运行了服务器,下面是如何操作的预览:

    1. 设置代理 URL

      在浏览器中输入以下 URL 来设置目标 URL:

      Set Proxy URL

    2. 使用代理

      然后,简单地调用 /proxy 端点:

      Proxy Request

    12 条回复    2025-02-14 14:38:06 +08:00
    ob
        1
    ob  
       6 天前 via Android
    代理用的是哪个节点?好像没看到配置?
    yangg
        2
    yangg  
       6 天前
    deno.dev 终于要被搞死了
    coderpwh
        3
    coderpwh  
    OP
       6 天前
    @ob deno 提供的服务,具体没查
    euronx
        4
    euronx  
       6 天前
    vercel deno-deploy 应该都是禁止反代的
    Puteulanus
        5
    Puteulanus  
       6 天前
    deno 好像很早以前就发过公告禁止这类的
    Chism
        6
    Chism  
       6 天前 via iPhone
    我还以为可以 v2less
    docx
        7
    docx  
       6 天前 via iPhone
    谨慎部署,会封号的
    UnluckyNinja
        8
    UnluckyNinja  
       6 天前
    搜了下,确实不让
    https://docs.deno.com/deploy/manual/acceptable-use-policy/
    Not Acceptable Use

    ❌ Crypto mining
    ❌ Highly CPU-intensive load (e.g. machine learning)
    ❌ Media hosting for external sites
    ❌ Scrapers
    ❌ Forward proxy
    ❌ VPN
    macro233
        9
    macro233  
       6 天前
    我已经被封了。。。
    GeekGao
        10
    GeekGao  
       6 天前
    deno
    GeekGao
        11
    GeekGao  
       6 天前
    要被墙了
    TanKuku
        12
    TanKuku  
       6 天前
    哪有什么破坏大环境的人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3341 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 11:36 · PVG 19:36 · LAX 03:36 · JFK 06:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.