A project that was aimed at myself where i practiced golang programming. The goal was to add an alternative option to C++ it needed to be simple and easy to use. Any one who wishes to read contribute or review the code and provide suggestion is welcome to do so.
The get everything running smoothy without any hiccups will requires some tools they might come preinstalled with your OS and if not I have listed the tools you will need to run service on your machine.
- golang - golang
And then lastly a text editor of your choosing I recommend VS code but any text editor will do.
- Visual Studio Code - Code Editor
For more information as to how the application works please visit the following links to respective RFC standard with more information.
RFC | Name | url |
---|---|---|
2616 | HTTP 1.1 | RFC 2616 |
2818 | HTTP over TLS | RFC 2818 |
3339 | Timestamps | RFC 3339 |
3986 | URI | RFC 3986 |
4122 | UUID | RFC 4122 |
6455 | Websocket | RFC 6455 |
7159 | JSON | RFC 7159 |
5364 | XML | RFC 5364 |
7523 | SOAP | RFC 7523 |
7616 | Digest Auth | RFC 7616 |
Continuing development on this service will require a couple of settings to be made for it to function properly.
To enable TLS you will need to import a certificate(.crt) file and a private key both file should be added to the root folder. use the command bellow to generate self signed certificates in linux environment.
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out server.crt \
-keyout server.key
Keep in mind that openssl library must be installed in your system.
Make sure that you install Editor Config for your IDE before modifying the project and pushing github. This is to make it easier for all to read and modify your code.
We make use of makefile in this project so deploying the service has been simplified allowing individuals with close to no knowledge the ability to deploy the service.
before you run the service make sure to go to the dockerfile and modify the "ENV" variables to your specification then go to the next step Build and run.
Variables
If you are using an apple device make sure that stealth mode is disabled. If enabled a multicast broadcast will be sent to the network but all incoming response will be blocked.
to deploy the service using docker is easy cake all you need to do is make sure that you have make installed. Once installed simply run "make build_docker" and then "make run_docker" and this will run the image.
The practice golang code was built with the following tools on GNU/Linux with Fedora 32 as distribution.
- Visual Studio Code - Code Editor
- Golang - golang
- GIT - Version Control
- Github - Version Control provider
- Docker - Docker container
- Editor config - Editor Config
- Mac os Ventura - Mac os ventura
- WireShark - WireShark
- Nasar Eddaoui - Initial work - Nasar Eddaoui
See also the list of contributors who participated in this project.
This project is licensed under the GNU GENERAL PUBLIC V3 - see the LICENSE file for details