Fake router to simulate an internet connection within an isolated environment e.g. to inspect malicious software
Find a file
2021-02-22 10:59:40 +01: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
api Update Go package in protobuf files 2021-02-22 10:59:40 +01:00
assets Update builtin CA 2021-01-27 09:28:51 +01:00
build/docker Ship default CA with container build 2021-01-27 11:05:06 +01:00
cmd Extend test suite 2021-02-19 15:46:09 +01: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 Ensure that consumers are removed when their context is canceled 2021-02-19 17:00:57 +01:00
pkg Extend test suite 2021-02-19 15:46:09 +01: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 Squashed 'api/' changes from 08b8eb8..fe0a378 2021-02-22 08:29:16 +01:00
.gitattributes Initial working version 2020-04-01 04:08:21 +02:00
.gitignore Include generated proto files 2021-02-15 17:09:19 +01:00
.gitlab-ci.yml Squashed 'api/' changes from 08b8eb8..fe0a378 2021-02-22 08:29:16 +01:00
.golangci.yml Fix golangci-lint findings 2021-02-18 21:54:22 +01:00
.goreleaser.yml Fixed dependency chain to get x-platform support 2021-02-17 17:42:27 +01:00
config-container.yaml Introduce Lifecycle for every endpoint and manage listeners in the renamed Orchestrator 2021-02-10 20:26:45 +00:00
config.yaml Initial draft of PCAP capturing 2021-02-16 16:50:23 +01:00
go.mod Complete CLI integration 2021-02-17 15:39:06 +01:00
go.sum Fix golangci-lint findings 2021-02-18 21:54:22 +01: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 Fix golangci-lint findings 2021-02-18 21:54:22 +01: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.