Modify Rust program using WebRTC

Job ID: 39404409

Budget: $30 – $250 USD

A Rust program uses WebRTC to make a connection. Need to make a change to add support for an additional feature to the Rust program.

https://gitlab.com/hoptodesk/hoptodesk

since the app uses webrtc already and uses TURN as the default relay, the existing webrtc lib should support STUN already, so it should be not too difficult of a change to add support for it into the app

currently the app gets its network settings from the API which outputs something like this:

"turnservers" : [
{
"protocol": "turn",
"host": "123.123.12.3123",
"port": "443",
"username": "user",
"password": "pass"
}
],

so need to add support for:
"protocol": "stun",

and if it found that, then the app will try to use stun to create the connection

and I think most changes needed in the turn_client.rs file, there is already a section like this

} else if server["protocol"].as_str()? == "stun" {

need to fully support stun, so that the app will try stun first (if the API had STUN servers in the API output), and if it failed, then try any TURN servers from the API response.

A Rust program HopToDesk uses WebRTC to make a connection. As discussed. Need to add STUN support to the app, so that the app will try STUN first (if the API had STUN servers in the API output). If connecting over STUN failed, then continue to try any TURN servers from the API response. Must not cause any new issues/bugs. If no STUN servers were in the API, the connection logic will remain the same as currently.

This is very urgent task so this should be finished within 2 hours.
This will be good chance for our long-term relationship.
Related categories: Rust Smart Contracts WebRTC