Fake router to simulate an internet connection within an isolated environment e.g. to inspect malicious software
Find a file
2021-08-11 15:19:28 +02:00
.github/workflows Add advanced matching options to HTTP handler 2020-12-26 13:11:49 +00:00
.gitlab Resolve "generate-ca command has wrong validity" 2021-01-04 16:21:03 +00:00
.run Complete HTTP endpoint health checks 2021-05-05 20:33:27 +02:00
api Include PPROF handler to improve observability 2021-08-11 07:33:32 +00:00
assets Cleanup 2021-05-06 12:31:55 +02:00
build/docker Fix data directory permissions and add missing capability to binary 2021-04-22 22:24:46 +02:00
cmd Include PPROF handler to improve observability 2021-08-11 07:33:32 +00:00
deploy Add health API and basic CLI support 2020-06-15 12:32:18 +02:00
docs Add advanced matching options to HTTP handler 2020-12-26 13:11:49 +00:00
internal Implement DNS initiators 2021-08-11 15:19:28 +02:00
pkg Implement DNS initiators 2021-08-11 15:19:28 +02:00
testdata Complete CLI integration 2021-02-17 15:39:06 +01:00
.dockerignore Add health API and basic CLI support 2020-06-15 12:32:18 +02:00
.editorconfig Extend editorconfig to enforce import style 2021-05-03 13:00:55 +02:00
.gitattributes Initial working version 2020-04-01 04:08:21 +02:00
.gitignore Small cleanups and improvements 2021-08-09 11:27:59 +02:00
.gitlab-ci.yml Add test for RemoveSink 2021-07-25 18:14:58 +02:00
.golangci.yml Fix linter issues 2021-06-21 19:54:14 +02:00
.goreleaser.yml Fix linter issues 2021-06-21 19:54:14 +02:00
.pre-commit-config.yaml Implement new rules format for DNS mock 2021-07-24 12:59:35 +02:00
config-container.yaml Implement new rules format for DNS mock 2021-07-24 12:59:35 +02:00
config.yaml Include PPROF handler to improve observability 2021-08-11 07:33:32 +00:00
go.mod Include PPROF handler to improve observability 2021-08-11 07:33:32 +00:00
go.sum Include PPROF handler to improve observability 2021-08-11 07:33:32 +00:00
LICENSE Create LICENSE 2020-04-11 12:17:15 +02:00
README.md Format imports 2021-02-18 17:06:51 +01:00
Taskfile.yml Include PPROF handler to improve observability 2021-08-11 07:33:32 +00:00

INetMock

pipeline status coverage report Go Report Card

INetMock is kind of a fork of INetSim. "Kind of" in terms that both applications overlap in their functionality to serve as "fake internet" routers.

INetMock right now does not implement so many protocols like INetSim. In fact it is only able to respond to HTTP, HTTPS, DNS, DNS-over-TLS (DoT) requests and to act as an HTTP proxy. The most notable advantage of INetMOck over INetSim is that it issues proper TLS certificates on the fly signed by a CA certificate that can be deployed to client systems to achieve "proper" TLS encryption - as long as the client does not use certificate pinning or something similar.

A second advantage is that INetMock is a complete rewrite in Go. It has a way smaller memory footprint and far better startup and shutdown times. It also does not enforce root privileges as it is also possible to run the application with the required capabilities to open ports e.g. with SystemD (a sample unit file can be found in the deploy/ directory).

This project is still heavy work-in-progress. There may be breaking changes at any time. There's no guarantee for anything except no kittens will be harmed!

Docs

Docs are available either in the docs/ directory or as rendered markdown book at the GitHub pages.

Contribution/feature requests

Please create an issue for any proposal, feature requests, found bug,... I'm glad for every kind of feedback!

Right now I've no special workflow for pull requests but I will look into every proposed change.