Fake router to simulate an internet connection within an isolated environment e.g. to inspect malicious software
Find a file
2021-08-29 13:17:04 +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 Replace benchmark integration tests 2021-08-26 20:22:57 +02:00
cmd Resolve target IP if not directly an IP address 2021-08-29 13:17:04 +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 Prepare to run a whole check script for integration tests 2021-08-27 16:04:02 +02:00
pkg Prepare tests for CLI commands - move protocols to top level of repo 2021-08-20 16:45:25 +02:00
protocols Replace benchmark integration tests 2021-08-26 20:22:57 +02:00
testdata Prepare to run a whole check script for integration tests 2021-08-27 16:04:02 +02: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 Tag latest image as commit in snapshot release 2021-08-28 19:27:51 +02:00
.golangci.yml Upgrade to Go 1.17 and add some more linters 2021-08-19 20:04:30 +02:00
.goreleaser.yml Re-order CI tasks 2021-08-28 12:05:46 +02:00
.pre-commit-config.yaml Upgrade to Go 1.17 and add some more linters 2021-08-19 20:04:30 +02:00
config-container.yaml Update container config 2021-08-15 12:00:41 +02:00
config.yaml Added CIDR filter 2021-08-13 14:52:16 +02:00
go.mod Prepare to run a whole check script for integration tests 2021-08-27 16:04:02 +02:00
go.sum Prepare to run a whole check script for integration tests 2021-08-27 16:04:02 +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 Resolve target IP if not directly an IP address 2021-08-29 13:17:04 +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.