Gitea配置全局代理用于镜像github源
目录
警告
本文最后更新于 2024-09-25,文中内容可能已过时。
因为国内访问速度不佳,打算在gitea设置代理方便mirror一些仓库 但是全网的配置都一样并且我测试下来都没法正常使用, 没办法只好自己看了一下源码, 修改后能正常使用
添加下述配置到config/app.ini
......
[proxy] # Section 看了一下gitea代码得加上,gitea的具体配置读取代码我贴在下面了
PROXY_ENABLED = true
PROXY_URL = socks://127.0.0.1:1080
PROXY_HOSTS = ** # 用(*.github.com)的方式域名通配符会匹配不到, 原因未知,我懒得看代码逻辑了
......
gitea的proxy配置读取代码
// gitea的proxy配置读取代码
func loadProxyFrom(rootCfg ConfigProvider) {
// gitea先读取Section,再在下面读取配置, 所以应该需要加 [proxy], 目前全网包括官网都不加,我按他们配置的没法用proxy
sec := rootCfg.Section("proxy")
Proxy.Enabled = sec.Key("PROXY_ENABLED").MustBool(false)
Proxy.ProxyURL = sec.Key("PROXY_URL").MustString("")
if Proxy.ProxyURL != "" {
var err error
Proxy.ProxyURLFixed, err = url.Parse(Proxy.ProxyURL)
if err != nil {
log.Error("Global PROXY_URL is not valid")
Proxy.ProxyURL = ""
}
}
Proxy.ProxyHosts = sec.Key("PROXY_HOSTS").Strings(",")
}