Adds an option to disable system-wide proxy

This commit is contained in:
Канюков Никита Александрович 2024-08-05 10:18:12 +03:00
parent e6d34874da
commit a63da9d0fe
2 changed files with 11 additions and 4 deletions

View File

@ -39,8 +39,10 @@ func main() {
util.PrintColoredBanner()
}
if err := util.SetOsProxy(*config.Port); err != nil {
log.Fatal(err)
if *config.SystemProxy {
if err := util.SetOsProxy(*config.Port); err != nil {
log.Fatal(err)
}
}
go pxy.Start()
@ -63,7 +65,10 @@ func main() {
}()
<-done
if err := util.UnsetOsProxy(); err != nil {
log.Fatal(err)
if *config.SystemProxy {
if err := util.UnsetOsProxy(); err != nil {
log.Fatal(err)
}
}
}

View File

@ -19,6 +19,7 @@ type Config struct {
EnableDoh *bool
Debug *bool
NoBanner *bool
SystemProxy *bool
Timeout *int
AllowedPattern *regexp.Regexp
AllowedUrls *regexp.Regexp
@ -54,6 +55,7 @@ func ParseArgs() {
config.EnableDoh = flag.Bool("enable-doh", false, "enable 'dns over https'")
config.Debug = flag.Bool("debug", false, "enable debug output")
config.NoBanner = flag.Bool("no-banner", false, "disable banner")
config.SystemProxy = flag.Bool("system-proxy", false, "enable system-wide proxy")
config.Timeout = flag.Int("timeout", 0, "timeout in milliseconds. no timeout when not given")
config.WindowSize = flag.Int("window-size", 0, `chunk size, in number of bytes, for fragmented client hello,
try lower values if the default value doesn't bypass the DPI;