Skip to content

Commit 646414e

Browse files
committed
Validate proxy URL before setting
1 parent 82d5384 commit 646414e

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

main.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"embed"
66
"log/slog"
7+
"net/url"
78
"os"
89
"path/filepath"
910
"runtime"
@@ -61,13 +62,22 @@ func main() {
6162
}
6263
}
6364

64-
err = os.Setenv("HTTP_PROXY", settings.Settings.Proxy)
65-
if err != nil {
66-
slog.Error("failed to set HTTP_PROXY", slog.Any("error", err))
67-
}
68-
err = os.Setenv("HTTPS_PROXY", settings.Settings.Proxy)
69-
if err != nil {
70-
slog.Error("failed to set HTTPS_PROXY", slog.Any("error", err))
65+
if settings.Settings.Proxy != "" {
66+
// webkit honors these env vars, even if they are an empty string,
67+
// so we must ensure they are valid
68+
_, err := url.Parse(settings.Settings.Proxy)
69+
if err != nil {
70+
slog.Error("skipping setting proxy, invalid URL", slog.Any("error", err))
71+
} else {
72+
err = os.Setenv("HTTP_PROXY", settings.Settings.Proxy)
73+
if err != nil {
74+
slog.Error("failed to set HTTP_PROXY", slog.Any("error", err))
75+
}
76+
err = os.Setenv("HTTPS_PROXY", settings.Settings.Proxy)
77+
if err != nil {
78+
slog.Error("failed to set HTTPS_PROXY", slog.Any("error", err))
79+
}
80+
}
7181
}
7282

7383
err = ficsitcli.Init()

0 commit comments

Comments
 (0)