Skip to content

Commit 99c752e

Browse files
authored
Merge pull request #1068 from projectdiscovery/dev
maintenance
2 parents 5630c1c + 70142fd commit 99c752e

File tree

8 files changed

+67
-46
lines changed

8 files changed

+67
-46
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,16 @@ Interactsh can be used with OWASP ZAP via the [OAST add-on for ZAP](https://www.
305305
![Options > OAST > General](https://github.com/hahwul/interactsh/assets/13212227/005bb527-3f60-4822-8b76-f9a3fd06df83)
306306
*`Options` > `OAST` > `General`*
307307
308+
## Caido Extension
309+
310+
[quickssrf](https://github.com/caido-community/quickssrf) is Caido extension developed and maintained which allows using Interactsh from within Caido Proxy.
311+
312+
- Download latest zip file from [releases](https://github.com/caido-community/quickssrf/releases/) page.
313+
- Open Caido → Plugins → Install Package → Select zip file → Next
314+
- New sidebar named **QuickSSRF** will appear upon successful installation.
315+
- See the [quickssrf](https://github.com/caido-community/quickssrf) project for more info.
316+
317+
![caido-image](https://github.com/user-attachments/assets/aeb91a15-c2cf-4d1f-98dd-cb77c24a5d42)
308318
309319
-------
310320
@@ -347,6 +357,7 @@ INPUT:
347357
-oih, -origin-ip-header string HTTP header containing origin ip (interactsh behind a reverse proxy)
348358
349359
CONFIG:
360+
-r, -resolvers string[] list of resolvers to use (file or comma separated)
350361
-config string flag configuration file (default "$HOME/.config/interactsh-server/config.yaml")
351362
-dr, -dynamic-resp enable setting up arbitrary response data
352363
-cr, -custom-records string custom dns records YAML file for DNS server

cmd/interactsh-client/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func main() {
133133
}
134134
}
135135

136-
if cliOptions.Config != defaultConfigLocation {
136+
if fileutil.FileExists(cliOptions.Config) {
137137
if err := flagSet.MergeConfigFile(cliOptions.Config); err != nil {
138138
gologger.Fatal().Msgf("Could not read config: %s\n", err)
139139
}

cmd/interactsh-server/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ func main() {
6161
)
6262

6363
flagSet.CreateGroup("config", "config",
64+
flagSet.StringSliceVarP(&cliOptions.Resolvers, "resolvers", "r", nil, "list of resolvers to use (file or comma separated)", goflags.FileCommaSeparatedStringSliceOptions),
6465
flagSet.StringVar(&cliOptions.Config, "config", defaultConfigLocation, "flag configuration file"),
6566
flagSet.BoolVarP(&cliOptions.DynamicResp, "dynamic-resp", "dr", false, "enable setting up arbitrary response data"),
6667
flagSet.StringVarP(&cliOptions.CustomRecords, "custom-records", "cr", "", "custom dns records YAML file for DNS server"),
@@ -281,7 +282,7 @@ func main() {
281282
trimmedDomain := strings.TrimSuffix(domain, ".")
282283
hostmaster := serverOptions.Hostmasters[idx]
283284
var acmeErr error
284-
domainCerts, certFiles, acmeErr = acme.HandleWildcardCertificates(fmt.Sprintf("*.%s", trimmedDomain), hostmaster, acmeStore, cliOptions.Debug)
285+
domainCerts, certFiles, acmeErr = acme.HandleWildcardCertificates(fmt.Sprintf("*.%s", trimmedDomain), hostmaster, acmeStore, cliOptions.Debug, cliOptions.Resolvers)
285286
if acmeErr != nil {
286287
gologger.Error().Msgf("An error occurred while applying for a certificate, error: %v", acmeErr)
287288
gologger.Error().Msgf("Could not generate certs for auto TLS, https will be disabled")

go.mod

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ require (
1515
github.com/miekg/dns v1.1.56
1616
github.com/pkg/errors v0.9.1
1717
github.com/projectdiscovery/asnmap v1.1.1
18-
github.com/projectdiscovery/goflags v0.1.64
19-
github.com/projectdiscovery/gologger v1.1.25
18+
github.com/projectdiscovery/goflags v0.1.65
19+
github.com/projectdiscovery/gologger v1.1.39
2020
github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb
21-
github.com/projectdiscovery/retryabledns v1.0.76
22-
github.com/projectdiscovery/retryablehttp-go v1.0.79
23-
github.com/projectdiscovery/utils v0.2.11
21+
github.com/projectdiscovery/retryabledns v1.0.92
22+
github.com/projectdiscovery/retryablehttp-go v1.0.94
23+
github.com/projectdiscovery/utils v0.4.5
2424
github.com/remeh/sizedwaitgroup v1.0.0
2525
github.com/rs/xid v1.5.0
2626
github.com/stretchr/testify v1.9.0
@@ -89,8 +89,8 @@ require (
8989
github.com/pmezard/go-difflib v1.0.0 // indirect
9090
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
9191
github.com/projectdiscovery/blackrock v0.0.1 // indirect
92-
github.com/projectdiscovery/fastdialer v0.2.9 // indirect
93-
github.com/projectdiscovery/hmap v0.0.60 // indirect
92+
github.com/projectdiscovery/fastdialer v0.2.14 // indirect
93+
github.com/projectdiscovery/hmap v0.0.74 // indirect
9494
github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 // indirect
9595
github.com/projectdiscovery/mapcidr v1.1.34 // indirect
9696
github.com/projectdiscovery/networkpolicy v0.0.9 // indirect
@@ -120,15 +120,15 @@ require (
120120
github.com/zmap/rc2 v0.0.0-20190804163417-abaa70531248 // indirect
121121
github.com/zmap/zcrypto v0.0.0-20230422215203-9a665e1e9968 // indirect
122122
go.etcd.io/bbolt v1.3.7 // indirect
123-
golang.org/x/crypto v0.27.0 // indirect
123+
golang.org/x/crypto v0.31.0 // indirect
124124
golang.org/x/exp v0.0.0-20230315142452-642cacee5cc0 // indirect
125125
golang.org/x/mod v0.17.0 // indirect
126126
golang.org/x/net v0.29.0 // indirect
127127
golang.org/x/oauth2 v0.11.0 // indirect
128-
golang.org/x/sync v0.8.0 // indirect
129-
golang.org/x/sys v0.25.0 // indirect
130-
golang.org/x/term v0.24.0 // indirect
131-
golang.org/x/text v0.18.0 // indirect
128+
golang.org/x/sync v0.10.0 // indirect
129+
golang.org/x/sys v0.28.0 // indirect
130+
golang.org/x/term v0.27.0 // indirect
131+
golang.org/x/text v0.21.0 // indirect
132132
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
133133
google.golang.org/appengine v1.6.7 // indirect
134134
google.golang.org/protobuf v1.33.0 // indirect

go.sum

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -208,14 +208,14 @@ github.com/projectdiscovery/asnmap v1.1.1 h1:ImJiKIaACOT7HPx4Pabb5dksolzaFYsD1kI
208208
github.com/projectdiscovery/asnmap v1.1.1/go.mod h1:QT7jt9nQanj+Ucjr9BqGr1Q2veCCKSAVyUzLXfEcQ60=
209209
github.com/projectdiscovery/blackrock v0.0.1 h1:lHQqhaaEFjgf5WkuItbpeCZv2DUIE45k0VbGJyft6LQ=
210210
github.com/projectdiscovery/blackrock v0.0.1/go.mod h1:ANUtjDfaVrqB453bzToU+YB4cUbvBRpLvEwoWIwlTss=
211-
github.com/projectdiscovery/fastdialer v0.2.9 h1:vDCqxVMCyUu3oVEizEK1K8K+CCcLkVDW3X2HfiWaVFA=
212-
github.com/projectdiscovery/fastdialer v0.2.9/go.mod h1:mYv5QaNBDDSHlZO9DI0niRMw+G5hUzwIhs8QixSElUI=
213-
github.com/projectdiscovery/goflags v0.1.64 h1:FDfwdt9N97Hi8OuhbkDlKtVttpc/CRMIWQVa08VsHsI=
214-
github.com/projectdiscovery/goflags v0.1.64/go.mod h1:3FyHIVQtnycNOc1LE3O1jj/XR5XuMdF9QfHd0ujhnX4=
215-
github.com/projectdiscovery/gologger v1.1.25 h1:bHarLQ/sCfBErU6QCarE1fuGpINEkyHu8zhYUWE2oMA=
216-
github.com/projectdiscovery/gologger v1.1.25/go.mod h1:AmWrlwr9Xs/dRALoN3wjuNzdSpvNu0nFDXI/4+mII7Q=
217-
github.com/projectdiscovery/hmap v0.0.60 h1:corqk65wxQroU628TQxWUTeBsIFA05DTJiEZO4gP/rU=
218-
github.com/projectdiscovery/hmap v0.0.60/go.mod h1:elXA/ZbmnP6y2lEv1xRcRSy1hUIUsYzg/RJV3aoGwyI=
211+
github.com/projectdiscovery/fastdialer v0.2.14 h1:/cndy+5celjoYzbk4LksHYOCTpFGIJY8RF/EK31Opjs=
212+
github.com/projectdiscovery/fastdialer v0.2.14/go.mod h1:z5yKQ/YWaVrBMfdL6f5J7VytUx9wxc5vs/Lf51QelCw=
213+
github.com/projectdiscovery/goflags v0.1.65 h1:rjoj+5lP/FDzgeM0WILUTX9AOOnw0J0LXtl8P1SVeGE=
214+
github.com/projectdiscovery/goflags v0.1.65/go.mod h1:cg6+yrLlaekP1hnefBc/UXbH1YGWa0fuzEW9iS1aG4g=
215+
github.com/projectdiscovery/gologger v1.1.39 h1:cbfiGZa3p7A2Y6vFQtghnTWaAcTeGVjT88PFmJNbuJc=
216+
github.com/projectdiscovery/gologger v1.1.39/go.mod h1:2jMe+L21KAtciArmPFqvWsS0dySDUhCSV8KK/D3W+GU=
217+
github.com/projectdiscovery/hmap v0.0.74 h1:j0TpS9fJxisfdGcIRjaZ3qgyjP3pBkRJf12ZWv64rOI=
218+
github.com/projectdiscovery/hmap v0.0.74/go.mod h1:qEPAdq/gWQU/IEI+QMzSyL+HYdqayR64V9vGTI/W38c=
219219
github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8=
220220
github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb/go.mod h1:vmgC0DTFCfoCLp0RAfsfYTZZan0QMVs+cmTbH6blfjk=
221221
github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 h1:ZScLodGSezQVwsQDtBSMFp72WDq0nNN+KE/5DHKY5QE=
@@ -224,12 +224,12 @@ github.com/projectdiscovery/mapcidr v1.1.34 h1:udr83vQ7oz3kEOwlsU6NC6o08leJzSDQt
224224
github.com/projectdiscovery/mapcidr v1.1.34/go.mod h1:1+1R6OkKSAKtWDXE9RvxXtXPoajXTYX0eiEdkqlhQqQ=
225225
github.com/projectdiscovery/networkpolicy v0.0.9 h1:IrlDoYZagNNO8y+7iZeHT8k5izE+nek7TdtvEBwCxqk=
226226
github.com/projectdiscovery/networkpolicy v0.0.9/go.mod h1:XFJ2Lnv8BE/ziQCFjBHMsH1w6VmkPiQtk+NlBpdMU7M=
227-
github.com/projectdiscovery/retryabledns v1.0.76 h1:6PyRCSW5SMUfE7uozZWckWuIDnBgLU/b1ofeWqeKONs=
228-
github.com/projectdiscovery/retryabledns v1.0.76/go.mod h1:vc4L2dng+nPLpQu7s0eqFc0OvyrZibuMNWFMA9bnN3w=
229-
github.com/projectdiscovery/retryablehttp-go v1.0.79 h1:XZBoyx7eMjr7/Iy0qQoYVEil1G5IRsm8KuFed/Ju5fk=
230-
github.com/projectdiscovery/retryablehttp-go v1.0.79/go.mod h1:F9XFivtDToesAZhbPDnnj8CVp/TmOgv9qYDG1QY1qxA=
231-
github.com/projectdiscovery/utils v0.2.11 h1:TO7fBG5QI256sn1YuTD87yn4+4OjGJ2wT1772uEnp4Q=
232-
github.com/projectdiscovery/utils v0.2.11/go.mod h1:W0E74DWkKxlcyKS5XwcAwiob7+smoszPPi1NgX3vZyk=
227+
github.com/projectdiscovery/retryabledns v1.0.92 h1:XH8WdG2FkYogJgsLzROgF2zLEnfL45UJa5sRuUTd5bI=
228+
github.com/projectdiscovery/retryabledns v1.0.92/go.mod h1:+6Ik6CUs5FOz7NgO3asC9XYRVxAXUwhnoG0Iy85eW20=
229+
github.com/projectdiscovery/retryablehttp-go v1.0.94 h1:zg6pid5vTwAG+AoNHgOXgIOz+na0T7VvshwOzdZs4nY=
230+
github.com/projectdiscovery/retryablehttp-go v1.0.94/go.mod h1:sDQK5cNoM2IBJq8YhgAnW/SO0KjM2HpcTP2oqPl+xec=
231+
github.com/projectdiscovery/utils v0.4.5 h1:ZlY4b5b3Jl8F/KFb+S/I9eMoYRFioI+NBzdIP4AK2io=
232+
github.com/projectdiscovery/utils v0.4.5/go.mod h1:IFTIlRwqzZLmCaNYNVo/nNdhsuRfgij4kuZcNbrd7hM=
233233
github.com/refraction-networking/utls v1.6.7 h1:zVJ7sP1dJx/WtVuITug3qYUq034cDq9B2MR1K67ULZM=
234234
github.com/refraction-networking/utls v1.6.7/go.mod h1:BC3O4vQzye5hqpmDTWUqi4P5DDhzJfkV1tdqtawQIH0=
235235
github.com/remeh/sizedwaitgroup v1.0.0 h1:VNGGFwNo/R5+MJBf6yrsr110p0m4/OX4S3DCy7Kyl5E=
@@ -364,8 +364,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
364364
golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
365365
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
366366
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
367-
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
368-
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
367+
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
368+
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
369369
golang.org/x/exp v0.0.0-20230315142452-642cacee5cc0 h1:pVgRXcIictcr+lBQIFeiwuwtDIs4eL21OuM9nyAADmo=
370370
golang.org/x/exp v0.0.0-20230315142452-642cacee5cc0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
371371
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@@ -396,8 +396,8 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ
396396
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
397397
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
398398
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
399-
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
400-
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
399+
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
400+
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
401401
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
402402
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
403403
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -423,15 +423,15 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
423423
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
424424
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
425425
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
426-
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
427-
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
426+
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
427+
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
428428
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
429429
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
430430
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
431431
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
432432
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
433-
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
434-
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
433+
golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
434+
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
435435
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
436436
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
437437
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -440,8 +440,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
440440
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
441441
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
442442
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
443-
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
444-
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
443+
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
444+
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
445445
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
446446
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
447447
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=

pkg/options/server_options.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
)
77

88
type CLIServerOptions struct {
9+
Resolvers goflags.StringSlice
910
Config string
1011
Version bool
1112
Debug bool

pkg/options/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
updateutils "github.com/projectdiscovery/utils/update"
77
)
88

9-
const Version = "1.2.2"
9+
const Version = "1.2.3"
1010

1111
var banner = (`
1212
_ __ __ __

pkg/server/acme/acme_certbot.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ import (
1515
"go.uber.org/zap"
1616
)
1717

18+
// DefaultResolvers trusted
19+
var DefaultResolvers = []string{
20+
"1.1.1.1:53",
21+
"1.0.0.1:53",
22+
"8.8.8.8:53",
23+
"8.8.4.4:53",
24+
}
25+
1826
// CleanupStorage perform cleanup routines tasks
1927
func CleanupStorage() {
2028
cleanupOptions := certmagic.CleanStorageOptions{OCSPStaples: true}
@@ -28,7 +36,7 @@ type CertificateFiles struct {
2836

2937
// HandleWildcardCertificates handles ACME wildcard cert generation with DNS
3038
// challenge using certmagic library from caddyserver.
31-
func HandleWildcardCertificates(domain, email string, store *Provider, debug bool) ([]tls.Certificate, []CertificateFiles, error) {
39+
func HandleWildcardCertificates(domain, email string, store *Provider, debug bool, customResolvers []string) ([]tls.Certificate, []CertificateFiles, error) {
3240
logger, err := zap.NewProduction()
3341
if err != nil {
3442
return nil, nil, err
@@ -37,12 +45,12 @@ func HandleWildcardCertificates(domain, email string, store *Provider, debug boo
3745
certmagic.DefaultACME.Email = email
3846
certmagic.DefaultACME.DNS01Solver = &certmagic.DNS01Solver{
3947
DNSProvider: store,
40-
Resolvers: []string{
41-
"8.8.8.8:53",
42-
"8.8.4.4:53",
43-
"1.1.1.1:53",
44-
"1.0.0.1:53",
45-
},
48+
Resolvers: func() []string {
49+
if len(customResolvers) == 0 {
50+
return DefaultResolvers
51+
}
52+
return customResolvers
53+
}(),
4654
}
4755
originalDomain := strings.TrimPrefix(domain, "*.")
4856

0 commit comments

Comments
 (0)