feat: support proxy from system env

This commit is contained in:
liwei committed 2024-05-01 18:35:32 +08:00
1 parent f8ea009fe9
commit 82b6ebd6f1
17 files changed
+175 -97

No files matched your search

+1 -2
View File
@@ -9,7 +9,6 @@ import (
"github.com/GopeedLab/gopeed/internal/fetcher"
"github.com/GopeedLab/gopeed/pkg/base"
fhttp "github.com/GopeedLab/gopeed/pkg/protocol/http"
"github.com/GopeedLab/gopeed/pkg/util"
"github.com/xiaoqidun/setft"
"golang.org/x/sync/errgroup"
"io"
@@ -455,7 +454,7 @@ func (f *Fetcher) buildClient() *http.Client {
transport := &http.Transport{}
// Cookie handle
jar, _ := cookiejar.New(nil)
transport.Proxy = util.ProxyUrlToHandler(f.ctl.ProxyUrl)
transport.Proxy = f.ctl.ProxyConfig.ToHandler()
return &http.Client{
Transport: transport,
Jar: jar,
+5 -2
View File
@@ -8,7 +8,6 @@ import (
"github.com/GopeedLab/gopeed/internal/test"
"github.com/GopeedLab/gopeed/pkg/base"
"github.com/GopeedLab/gopeed/pkg/protocol/http"
"github.com/GopeedLab/gopeed/pkg/util"
"net"
"testing"
"time"
@@ -338,7 +337,11 @@ func downloadResume(listener net.Listener, connections int, t *testing.T) {
func downloadWithProxy(httpListener net.Listener, proxyListener net.Listener, t *testing.T) {
fetcher := downloadReady(httpListener, 4, t)
ctl := controller.NewController()
ctl.ProxyUrl = util.BuildProxyUrl("socks5", proxyListener.Addr().String(), "", "")
ctl.ProxyConfig = &base.DownloaderProxyConfig{
Enable: true,
Scheme: "socks5",
Host: proxyListener.Addr().String(),
}
fetcher.Setup(ctl)
err := fetcher.Start()
if err != nil {