Fake router to simulate an internet connection within an isolated environment e.g. to inspect malicious software
Find a file
2021-06-21 19:36:17 +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 Remove unnecessary proto import 2021-05-03 08:16:22 +02: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 Add HTTP health handler 2021-05-11 20:28:13 +02: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 Add new go:build tags 2021-06-21 19:30:33 +02:00
pkg Add HTTP health handler 2021-05-11 20:28:13 +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 Get rid of reflect.DeepEqual 2021-04-24 14:52:34 +00:00
.gitlab-ci.yml Declare build dependencies 2021-04-28 17:03:04 +02:00
.golangci.yml Ignore generated files in linter 2021-05-05 15:33:15 +02:00
.goreleaser.yml Fixed dependency chain to get x-platform support 2021-02-17 17:42:27 +01:00
config-container.yaml Complete HTTP endpoint health checks 2021-05-05 20:33:27 +02:00
config.yaml Complete HTTP endpoint health checks 2021-05-05 20:33:27 +02:00
go.mod Update dependencies 2021-06-21 19:36:17 +02:00
go.sum Update dependencies 2021-06-21 19:36:17 +02: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 Change deps to mod download instead of mod tidy 2021-05-24 16:04:18 +02: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.