api/config.yaml
Peter 49e58ac2e4 Add advanced matching options to HTTP handler
- move to Gitlab
- make code better testable
- create app abstraction for server
- cleanup
2020-12-26 13:11:49 +00:00

121 lines
2.8 KiB
YAML

x-response-rules: &httpResponseRules
rules:
- pattern: ".*\\.(?i)exe"
matcher: Path
- pattern: "^application/octet-stream$"
target: Accept
matcher: Header
response: ./assets/fakeFiles/sample.exe
- pattern: "^image/jpeg$"
target: Accept
matcher: Header
response: ./assets/fakeFiles/default.jpg
- pattern: ".*\\.(?i)(jpg|jpeg)"
matcher: Path
response: ./assets/fakeFiles/default.jpg
- pattern: "^image/png$"
target: Accept
matcher: Header
response: ./assets/fakeFiles/default.png
- pattern: ".*\\.(?i)png"
matcher: Path
response: ./assets/fakeFiles/default.png
- pattern: ".*\\.(?i)gif"
matcher: Path
response: ./assets/fakeFiles/default.gif
- pattern: ".*\\.(?i)ico"
matcher: Path
response: ./assets/fakeFiles/default.ico
- pattern: "^text/plain$"
target: Accept
matcher: Header
response: ./assets/fakeFiles/default.txt
- pattern: ".*\\.(?i)txt"
matcher: Path
response: ./assets/fakeFiles/default.txt
- pattern: "^text/html$"
target: Accept
matcher: Header
response: ./assets/fakeFiles/default.html
- pattern: ".*"
matcher: Path
response: ./assets/fakeFiles/default.html
api:
listen: unix:///var/run/inetmock.sock
tls:
curve: P256
minTLSVersion: SSL3
includeInsecureCipherSuites: false
validity:
ca:
notBeforeRelative: 17520h
notAfterRelative: 17520h
server:
NotBeforeRelative: 168h
NotAfterRelative: 168h
rootCaCert:
publicKeyPath: ./assets/demoCA/ca.pem
privateKeyPath: ./assets/demoCA/ca.key
certCachePath: /tmp/inetmock/
endpoints:
plainHttp:
handler: http_mock
listenAddress: 0.0.0.0
ports:
- 80
- 8080
options:
<<: *httpResponseRules
proxy:
handler: http_proxy
listenAddress: 0.0.0.0
ports:
- 3128
options:
target:
ipAddress: 127.0.0.1
port: 80
httpsDowngrade:
handler: tls_interceptor
listenAddress: 0.0.0.0
ports:
- 443
- 8443
options:
target:
ipAddress: 127.0.0.1
port: 80
plainDns:
handler: dns_mock
listenAddress: 0.0.0.0
ports:
- 53
options:
rules:
- pattern: ".*\\.google\\.com"
response: 1.1.1.1
- pattern: ".*\\.reddit\\.com"
response: 2.2.2.2
fallback:
strategy: incremental
args:
startIP: 10.0.10.0
dnsOverTlsDowngrade:
handler: tls_interceptor
listenAddress: 0.0.0.0
ports:
- 853
options:
target:
ipAddress: 127.0.0.1
port: 53
metrics:
handler: metrics_exporter
listenAddress: 0.0.0.0
ports:
- 9110
options:
route: /metrics