Modification of open source revers proxy on the golang

Job ID: 34250854

Budget: $250 – $750 USD

Hello folks!
Im team-lead of small CTF team. We need to get some modification of open-src tool:

Fast reverse proxy--- > https://github.com/fatedier/frp

Thats a revers-proxy written on golang.

We need to add 2 points:

-First - it must have dynamic port forwarding and revers-proxy functionality. It must works like: ssh -D [LOCAL_IP:]LOCAL_PORT SERVER ( it must work without auth and with auth ). Dynamic port forwarding must working under the NAT.

-Second - it must be compiled for windows and windows server platforms and working there without errors.

-Third - it must create a service then it run.
Add the ability to store a data of cofiguration file in memory and in some temp folder for implementing service-creation-functionality

Example : frpc.exe --type tcp --remote-ip 200.1.1.1 --remote_port 6000 --dir c:\windows\temp
That example must generate config in c:\windows\temp and connect to the server with given ip:port
Service functionality - frpc.exe (client) must connect to statically hard-coded server ip:port

The minimum requirements for a service on windows are the following (without them impossible create service with sc cmd):

A Main Entry point (like any application)
A Service Entry point
A Service Control Handler

The Service Main Entry Point performs the following tasks:

Initialize any required things that we postponed from the Main Entry Point.
Register the service control handler (ControlHandler) that will process Service Stop, Pause, Continue, etc. control commands.
These are registered as a bit mask via the dwControlsAccepted field of the SERVICE STATUS structure.
Set Service Status to SERVICE RUNNING.
Perform initialization procedures. Such as creating threads/events/mutex/IPCs, etc.

The Service Control Handler was registered in your Service Main Entry point.
Each service must have a handler to handle control requests from the SCM.
Related categories: Golang Windows API