爱意满满的作品展示区。
fuyou97

[开源自荐] 做了个 EgressKit,把 Clash 订阅里的节点变成 HTTP 代理池

  •  
  •   fuyou97 · 1 day ago · 852 views

    写脚本、跑浏览器自动化时,有时需要轮换出口 IP ,有时又希望同一个任务一直用同一个 IP 。

    我做了个 EgressKit 。导入 Clash/Mihomo 订阅后,它会识别其中的 VLESS 节点,检查出口 IP ,对外提供一个统一的 HTTP 代理地址。程序接入后,通过代理用户名选择出口策略。

    项目地址:heyjunpenn/EgressKit

    用 Docker 一条命令启动,把下面的 your-admin-token 换成自己的密码:

    docker run -d \
      --name egresskit \
      --restart unless-stopped \
      -p 127.0.0.1:8787:8787 \
      -v egresskit-state:/var/lib/egresskit \
      -e EGRESSKIT_ADMIN_TOKEN='your-admin-token' \
      heyjunpenn/egresskit:latest
    

    镜像支持 amd64 和 arm64 ,Mihomo 和 Web 控制台都打包在里面。启动后打开 http://127.0.0.1:8787,输入刚才设置的密码,导入自己的订阅,等出口检查完成就能用了。

    比如,用 curl 发起请求。Proxy Token 初始与上面设置的密码相同,也可以在后台单独修改。

    curl --proxy 'http://127.0.0.1:8787' \
      --proxy-user 'rotate:your-admin-token' \
      'https://www.cloudflare.com/cdn-cgi/trace'
    

    下面是实际请求的结果,出口 IP 做了部分遮盖。截图中的 $EGRESSKIT_PROXY_TOKEN 填自己的 Proxy Token 即可。

    curl HTTPS 请求

    rotate 会为新连接选择最长未使用的出口 IP 。连续请求三次,可以看到出口发生了变化:

    curl Rotate 轮换出口

    如果希望同一个任务尽量保持出口不变,把用户名换成 sticky.task-01 就行。下面三次请求用了同一个会话,出口保持一致:

    curl Sticky 固定出口

    也支持严格固定出口和指定出口,具体用法放在了 README 里。

    后台大概长这样,截图里的订阅和节点信息做了遮盖。首页能看到代理入口、可用节点和出口 IP 概况。

    EgressKit 首页

    订阅可以在页面里添加、编辑和删除,也会定时更新。导入后自动开始检查出口 IP 。

    订阅管理

    代理列表能查看出口 IP 、地区和检查时间,支持按 IP 筛选,也可以手动检查单个节点或全量检查。

    代理管理

    代码按 Apache-2.0 开源,更多接入示例放在 README 里。

    有类似需求的 V 友可以试试,觉得有用的话,欢迎给个 Star 🙂

    7 replies    2026-09-11 17:23:36 +08:00
    itechify
        1
    itechify  
       1 day ago
    可以链式吗
    imqiyue
        2
    imqiyue  
       1 day ago via iPhone
    这个有点意思,不错
    fuyou97
        3
    fuyou97  
    OP
       1 day ago
    @itechify 不支持
    fuyou97
        4
    fuyou97  
    OP
       1 day ago
    @imqiyue 感谢
    xialaoban
        5
    xialaoban  
       21h 46m ago   ❤️ 1
    https://github.com/Resinat/Resin 和这个项目有点类似?
    fuyou97
        6
    fuyou97  
    OP
       20h 53m ago
    @xialaoban 还真是,这个还更完善。早知道不写了
    imqiyue
        7
    imqiyue  
       17h 23m ago
    @fuyou97 重复造轮子不是很常见的么,能自己实现一个,并分享出来,会很有成就感的~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3106 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 02:47 · PVG 10:47 · LAX 19:47 · JFK 22:47
    ♥ Do have faith in what you're doing.