This commit is contained in:
2025-03-14 18:50:49 +00:00
commit 1a53a9a8f3
90 changed files with 13116 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
package main
import (
"log"
"net/http"
"github.com/darkit/goproxy"
)
// HTTPToHTTPSDelegate HTTP 到 HTTPS 代理委托
type HTTPToHTTPSDelegate struct {
goproxy.DefaultDelegate
}
// BeforeRequest 请求前事件
func (d *HTTPToHTTPSDelegate) BeforeRequest(ctx *goproxy.Context) {
// 将 HTTP 请求转换为 HTTPS
if ctx.Req.URL.Scheme == "http" {
ctx.Req.URL.Scheme = "https"
}
}
func main() {
// 创建 HTTP 到 HTTPS 代理委托
delegate := &HTTPToHTTPSDelegate{}
// 创建代理实例
proxy := goproxy.NewProxy(
goproxy.WithDelegate(delegate),
goproxy.WithDecryptHTTPS(&goproxy.MemCertCache{}),
)
// 启动代理服务器
log.Println("HTTP 到 HTTPS 代理服务器启动在 :8080")
log.Println("配置说明:")
log.Printf("- 自动将 HTTP 请求转换为 HTTPS\n")
log.Printf("- 支持 HTTPS 解密\n")
if err := http.ListenAndServe(":8080", proxy); err != nil {
log.Fatalf("代理服务器启动失败: %v", err)
}
}