Commit graph

24 commits

Author SHA1 Message Date
0a457e03f6
Add DHCP protocol support
- introduce badger based state store
- introduce unmanaged endpoints
- refactor internals regarding IPs (netuils)
- extend rules grammar to allow multi-handler chains
- introduce inMem packet conn for testing
- multiple minor refactorings
2022-01-12 16:07:32 +01:00
896b7ded65 Introduce DNS-over-HTTPS and HTTP2 support
- add more advanced multiplexing to match on HTTP request properties
- introduce custom DNS client to cover traditional UDP/TCP and HTTPS transport with the same client
- add HTTP2 check module and server functionality where applicable
2021-10-22 06:58:22 +00:00
f50622de3d
Move to distroless base image 2021-08-31 12:36:39 +02:00
144f624a1e
Added CIDR filter 2021-08-13 14:52:16 +02:00
ca47bc8249
Complete DNS health checks 2021-08-13 13:52:01 +02:00
7867325603 Include PPROF handler to improve observability
Closes #33
2021-08-11 07:33:32 +00:00
b7b01645db
Implement new rules format for DNS mock 2021-07-24 12:59:35 +02:00
23d0dfc39d
Complete HTTP endpoint health checks
- allow basic validation rules and basic HTTP methods
- add some basic checks to config
2021-05-05 20:33:27 +02:00
9d4bd8d873
Refactored http_mock to use new routing rule grammar
- removed old regex router
- refactored tests to use new simplified routing rules
- updated configs
- make router behavior and filters way easier to test
2021-04-28 17:03:04 +02:00
9f53b01e49
Restructure config and setup of handlers
- move initialization and dependency resolving to registration of protocol handlers
- replace file opening in HTTP mock with fs.FS - depends on having a FS that returns an io.ReadSeeker - could be worked around in the future
- update config for new routing rules to see how they look like in production
- extend grammar tests
2021-04-28 17:03:04 +02:00
6442f9f915 Cleanup 2021-04-22 20:19:07 +00:00
864de9f20b
Initial draft of PCAP capturing 2021-02-16 16:50:23 +01:00
d70ba748f5 Introduce Lifecycle for every endpoint and manage listeners in the renamed Orchestrator
- merge packages to get a more concise layout because plugins are no more and therefore there's not a lot to be exported
- fix test logger
- rework config parsing to be easier and more transparent
- remove unnecessary APIs because dynamic endpoint handling is rather a won't implement
2021-02-10 20:26:45 +00:00
6d2737b501
Move HTTPS handling to http_mock handler 2021-01-26 18:42:07 +01:00
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
57a7e10e74
Add Prometheus metrics (#10)
* Add Prometheus metrics

- cleanup
- update dependencies
- improve parsing of options where possible
- Update Go to latest version
2020-10-02 11:56:48 +02:00
460940e4d8
Fixed TLS issue with mismatching certificates
- fixed fallback to P256 curve
- added option to configure minimal TLS version
- added option to include insecure cipher suites
2020-06-24 12:25:34 +02:00
108444e094 Add health API and basic CLI support
- remove plugin API due to incompatibility issues
- add Docker build to GitHub Actions
- add custom container friendly config file
2020-06-15 12:32:18 +02:00
1ef1f59402 Add gRPC API implementation
- add config struct for API
- add UUID to endpoint to be able to address them uniquely
- add manager to handle all gRPC services
2020-06-15 12:32:18 +02:00
671958e123
Complete first naive HTTP proxy implementation
- HTTPS configuration is till missing
- fix a few minor things in other plugins
- cleanup of config to reduce repeating of the same values multiple times
2020-04-12 03:51:41 +02:00
63a446d7e5
Prepare systemd deployment
- add systemd service
- add default file
- improve logging to see what kind of errors might occur
- ship multiple prepared config files and replace original one with a symlink
- fix current working directory getter
2020-04-12 00:09:30 +02:00
c3e362c8e5
Add some basic docs
- unify http_mock and dns_mock in config styles
- panic if pattern is not a valid regexp in http_mock
- add basic doc structure
2020-04-07 00:17:07 +02:00
63ba6da810
Add basic DNS and DNS-over-TLS implementation
- add random and incremental DNS fallback strategy
- add option to handle DNS requests based on regex patterns
- made Makefiles plugin independent
- extended config
- set default plugins directory in Dockerfile
2020-04-02 00:58:44 +02:00
a720b0ee41
Initial working version
* supports HTTP
* support TLS interception e.g. for HTTPS
* support CA generation via cli
* first draft of plugin API
* support commands from plugins
* includes Dockerfile
* includes basic configuration
2020-04-01 04:08:21 +02:00