An open API service indexing awesome lists of open source software.

https://github.com/albertogeniola/container-nettool

Containerized Web utility useful to run basic network checks
https://github.com/albertogeniola/container-nettool

Last synced: 8 months ago
JSON representation

Containerized Web utility useful to run basic network checks

Awesome Lists containing this project

README

          


[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]





Logo

Container Net-Tool


·
Report Bug
·
Request Feature


## About The Project

This is no more than a containerized web-server (using Python Flask) that runs a bouch of simple tools to
debug things, especially when dealing with containerized environments.

You might be thinking: yeah, we don't need that, as we can easily attach to a running container, spawn a
shell and do our stuff from there. That is indeed correct, __but__ that gets harder when dealing with
serverless technologies as Google's CloudRun or AppEngine flexible.


Careful! This tool is not intended for production use.
This is a debugging container which HAS TO BE PROTECTED by some security layer (e.g. Google's IAP)
so that only allowed users can access it. Failure to do so would potentially leave a "backdoor" opened
for any system this container could reach, configuring it as a perfect vector to attack other workloads.

(back to top)

### Built With

* [Angular 11 + Typescript](https://nextjs.org/)
* [Flask + Python 3.10](https://reactjs.org/)
* [Docker](https://angular.io/)

(back to top)

## Getting Started
This repo contains all you need to build your version of the Container Net-Tool.
You just need to clone the repo, build the image and deploy it wherever needed.

To test it locally, here's what you need to do:

```sh
git clone https://github.com/albertogeniola/container-nettool.git
cd container-nettool
docker build -t net-tool:$(cat VERSION) .
CONTAINER_PORT=8080
docker run net-tool:$(cat VERSION) -p 0.0.0.0:5000:$CONTAINER_PORT/tcp -e PORT=$CONTAINER_PORT
```

Note: you must both expose the container port and tell the container which port it has to bind via the
PORT env var. This ensures best compatibility with Google CloudRun as it assumes the container port
can be changed at any time.

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

(back to top)

## Contact

Project Link: [https://github.com/albertogeniola/container-nettool](https://github.com/albertogeniola/container-nettool)

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/albertogeniola/container-nettool.svg?style=for-the-badge
[contributors-url]: https://github.com/albertogeniola/container-nettool/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/albertogeniola/container-nettool.svg?style=for-the-badge
[forks-url]: https://github.com/albertogeniola/container-nettool/network/members
[stars-shield]: https://img.shields.io/github/stars/albertogeniola/container-nettool.svg?style=for-the-badge
[stars-url]: https://github.com/albertogeniola/container-nettool/stargazers
[issues-shield]: https://img.shields.io/github/issues/albertogeniola/container-nettool.svg?style=for-the-badge
[issues-url]: https://github.com/albertogeniola/container-nettool/issues
[license-shield]: https://img.shields.io/github/license/albertogeniola/container-nettool.svg?style=for-the-badge
[license-url]: https://github.com/albertogeniola/container-nettool/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/albertogeniola