Go to file
2020-04-26 18:32:42 +02:00
.github/workflows Add goreleaser 2020-04-09 00:44:13 +02:00
assets/fakeFiles Initial working version 2020-04-01 04:08:21 +02:00
deploy Prepare systemd deployment 2020-04-12 00:09:30 +02:00
docs Add Makefile and reference to docs 2020-04-07 00:31:47 +02:00
internal Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
pkg Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
plugins Improve TLS connection tracking to avoid memory or connection leaks 2020-04-26 01:18:35 +02:00
.dockerignore Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
.gitattributes Initial working version 2020-04-01 04:08:21 +02:00
.gitignore Update README 2020-04-26 18:30:09 +02:00
.goreleaser.yml Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
config.yaml Complete first naive HTTP proxy implementation 2020-04-12 03:51:41 +02:00
Dockerfile Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
go.mod Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
go.sum Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
LICENSE Create LICENSE 2020-04-11 12:17:15 +02:00
main.go Initial working version 2020-04-01 04:08:21 +02:00
Makefile Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
mock_config.yaml Move TLS/cert handling to main app 2020-04-26 00:32:46 +02:00
proxy_config.yaml Complete first naive HTTP proxy implementation 2020-04-12 03:51:41 +02:00
README.md Add GoReport badge 2020-04-26 18:32:42 +02:00

INetMock

Go Go Report Card Quality Gate Status Lines of Code Maintainability Rating Security Rating Bugs Vulnerabilities

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, based on a plugin system that allows dynamic configuration while 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.