Geekertao-botandGeekertao-bot d18983e23d feat: 支持代理 GitHub 资源 CDN 直链(release-assets / codeload / objects / media) (#1)
* feat: 支持代理 GitHub 资源 CDN 直链(release-assets / codeload / objects / media)

与 CF 版 hubporg/CF-GitHub-Proxy#3 同一套逻辑:GitHub 域名链接仍在服务端内部
跟随跳转并返回文件内容,新增的 CDN 主机直链则直接代理。

改动要点:
1. exps 拆分为 entryExps(入口链接)与 assetExps(资源 CDN),exps 为二者拼接
2. handler 中 exps[1] 改为显式引用 entryExps[1],避免拼接后索引语义漂移
3. proxy 的 Location 分支改用 isEntryURL:只有入口链接才重写为代理地址,
   CDN 跳转在服务端内部跟随,客户端不会看到真实文件地址
4. 新增 isEntryURL

修复前:资源 CDN 直链(release-assets / codeload 等)返回 404。

* test: 补充 CDN 主机匹配与入口判定的单元测试

覆盖两处关键行为:
- checkURL 命中新增的 CDN 主机(release-assets / objects / github-releases /
  codeload / media),并拒绝非 GitHub 域名与形似域名(如 github.com.evil.com)
- isEntryURL 只命中入口链接,CDN 主机一律不命中——这是避免 302 被重写、
  从而把真实文件地址暴露给客户端的关键约束

(可选提交,如不需要可直接丢弃。)

---------

Co-authored-by: Geekertao-bot <254965144+Geekertao-bot@users.noreply.github.com>
2026-09-12 01:41:54 +08:00
2025-02-19 21:09:15 +08:00
2024-07-31 12:08:32 +08:00
2025-02-19 10:40:16 +08:00
2025-04-19 16:30:33 +08:00
2025-02-19 21:09:15 +08:00
2025-03-11 15:37:36 +08:00

ghproxy

这是 CF-Workers-Github-Proxy 的 Go 语言版本。改自gh-proxy

支持内容

• GitHub API (api.github.com)

• Raw 文件 (raw.githubusercontent.com)

• Gist 文件 (gist.githubusercontent.com)

• Releases 文件 (github.com/用户名/仓库名/releases|archive/)

• Git 克隆支持 (git clone)

Docker 部署

  1. 新建配置文件 config.json,内容如下:
{
  "analyticsURL": "https://analytics.geekertao.top",
  "supportImageURL": "https://geekertao.top/static/img/zsm.jpg",
  "whiteList": [
  ],
  "blackList": [
    "example1",
    "example2"
  ]
}

配置文件中的 analyticsURL是顶部导航栏"数据分析"按钮的链接地址,supportImageURL 是404错误页面中支持二维码的图片地址,whiteList 和 blackList 分别是白名单和黑名单,如果设置白名单。则只有白名单中的域名会被代理,黑名单可用于过滤部分不安全仓库。

  1. docker-compose.yml
services:
  ghproxy:
    image: Geekertao/ghproxy:latest # Docker Hub 镜像源
    # image:ghcr.io/Geekertao/ghproxy:latest # GitHub 镜像源
    container_name: ghproxy
    restart: unless-stopped
    volumes:
      - ./config.json:/app/config.json # 配置文件挂载路径,根据实际情况修改
    ports:
      - "45001:45000" # 端口映射,根据实际情况修改
  1. 启动容器
docker-compose up -d

数据分析

本项目的数据分析功能由 cloudflare-monitor 提供,这是一个功能强大的 Cloudflare 流量分析仪表盘。

功能特性

  • 多账户支持:支持多个 Cloudflare 账户的流量监控
  • 多 Zone 监控:同时监控多个 Zone 的流量数据
  • 实时数据展示:实时更新的数据图表
  • 历史数据分析:支持 1 天、3 天、7 天、30 天的历史数据查看
  • 智能数据精度:
    • 1 天和 3 天数据:小时级精度
    • 7 天和 30 天数据:天级精度
  • 地理位置统计:显示前 5 个国家/地区的访问量
  • 缓存分析:详细的请求和带宽缓存统计
  • 响应式设计:完美适配桌面端和移动端

技术栈

  • 前端:React + Recharts
  • 后端:Node.js + Express
  • 部署:Docker + Nginx

在线演示

https://analytics.geekertao.top

自定义配置

如需使用自己的数据分析页面,请在 config.json 中修改 analyticsURL 配置项。

部署说明

详细的部署教程请参考:cloudflare-monitor 仓库 或 博客文章教程(含视频部署教程)。


如有问题或改进建议,欢迎提交 issue 或 PR!

S
Description
本项目是一个基于GoLang的 Github 镜像代理工具。它能够中转 Github 项目请求,解决一些访问限制和加速访问的问题。
https://gh.dpik.top
Readme
139 KiB
0 Stars 1 Watchers 0 Forks
Languages
Go 78.4%
HTML 20.8%
Dockerfile 0.8%