MCPcopy
hub / github.com/bettercap/bettercap / Configure

Method Configure

modules/https_proxy/https_proxy.go:101–172  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

99}
100
101func (mod *HttpsProxy) Configure() error {
102 var err error
103 var address string
104 var proxyPort int
105 var httpPort int
106 var doRedirect bool
107 var scriptPath string
108 var certFile string
109 var keyFile string
110 var stripSSL bool
111 var jsToInject string
112 var whitelist string
113 var blacklist string
114
115 if mod.Running() {
116 return session.ErrAlreadyStarted(mod.Name())
117 } else if err, address = mod.StringParam("https.proxy.address"); err != nil {
118 return err
119 } else if err, proxyPort = mod.IntParam("https.proxy.port"); err != nil {
120 return err
121 } else if err, httpPort = mod.IntParam("https.port"); err != nil {
122 return err
123 } else if err, doRedirect = mod.BoolParam("https.proxy.redirect"); err != nil {
124 return err
125 } else if err, stripSSL = mod.BoolParam("https.proxy.sslstrip"); err != nil {
126 return err
127 } else if err, certFile = mod.StringParam("https.proxy.certificate"); err != nil {
128 return err
129 } else if certFile, err = fs.Expand(certFile); err != nil {
130 return err
131 } else if err, keyFile = mod.StringParam("https.proxy.key"); err != nil {
132 return err
133 } else if keyFile, err = fs.Expand(keyFile); err != nil {
134 return err
135 } else if err, scriptPath = mod.StringParam("https.proxy.script"); err != nil {
136 return err
137 } else if err, jsToInject = mod.StringParam("https.proxy.injectjs"); err != nil {
138 return err
139 } else if err, blacklist = mod.StringParam("https.proxy.blacklist"); err != nil {
140 return err
141 } else if err, whitelist = mod.StringParam("https.proxy.whitelist"); err != nil {
142 return err
143 }
144
145 mod.proxy.Blacklist = str.Comma(blacklist)
146 mod.proxy.Whitelist = str.Comma(whitelist)
147
148 if !fs.Exists(certFile) || !fs.Exists(keyFile) {
149 cfg, err := tls.CertConfigFromModule("https.proxy", mod.SessionModule)
150 if err != nil {
151 return err
152 }
153
154 mod.Debug("%+v", cfg)
155 mod.Info("generating proxy certification authority TLS key to %s", keyFile)
156 mod.Info("generating proxy certification authority TLS certificate to %s", certFile)
157 if err := tls.Generate(cfg, certFile, keyFile, true); err != nil {
158 return err

Callers 1

StartMethod · 0.95

Calls 11

NameMethod · 0.95
ErrAlreadyStartedFunction · 0.92
CertConfigFromModuleFunction · 0.92
GenerateFunction · 0.92
StringParamMethod · 0.80
IntParamMethod · 0.80
BoolParamMethod · 0.80
ConfigureTLSMethod · 0.80
RunningMethod · 0.65
DebugMethod · 0.45
InfoMethod · 0.45

Tested by

no test coverage detected