1.5 KiB
1.5 KiB
gitea-pages
新一代 Gitea Pages,替换之前的
caddy-gitea-proxy
此项目是 Dragon's Zone HomeLab 的一部分
本项目致力于提供高性能、安全且可扩展的 Gitea Pages 服务。
注意:此项目已经被完全重构,不兼容 0.0.1 版本升级
特性
- 高性能: 采用 JS 预编译缓存和高效的异步 Promise 处理机制。
- 安全: 内置模板和文件访问的路径穿越保护。
- 内容缓存: 多级元数据和二进制内容缓存。
- CNAME: 支持自定义域名。
- 模板引擎: 安全的模板渲染,支持
load动态加载。 - 可编程: 使用 JavaScript (Goja) 编写自定义路由逻辑。
- 反向代理: 支持将请求代理到后端服务。
Get Started
安装 go1.25 或更高版本,同时安装 Make 工具 ,然后执行如下命令:
make gitea-pages
之后可使用如下命令启动
./gitea-pages -conf config.yaml
具体配置可查看 config.yaml。
Page Config
在项目的 gh-pages 分支创建 .pages.yaml,填入如下内容
alias: # CNAME
- "example.com"
- "example2.com"
routes:
- path: "**"
js:
exec: index.js
TODO
- 支持跨域
- 支持自定义缓存策略 (http cache-control)
- OAuth2 授权访问私有页面
http01 自动签发证书: 交由 Caddy 完成Web 钩子触发更新: 对实时性需求不大
LICENSE
此项目使用 Apache-2.0