Skip to content
This repository was archived by the owner on Oct 1, 2025. It is now read-only.

Conversation

@choksi81
Copy link
Contributor

I have added files related to transparent tcp relay feature. I will briefly explain this feature:

  • The server contacts the relay to open a port on its behalf and listen for client-connection.
  • The relay opens up a random port from the available ports and advertises this port with the key which the server sends to it.
  • The client can now open a connection with the server via the relay using the port which has been opened on the relay.
  • The relay transfers all the messages between client and the server.

It is known as transparent-tcp-relay because the client side doesn't know that it is actually communicating with the relay instead of server.

There is a unit-test also which successfully checks if closing of socket during server setup is handled correctly or not.

There are few other unit-tests which I have created, but are not there in this PR. (You can find them here: https://github.com/choksi81/affix/tree/affix_transparenttcprelay_final/services/transparent_tcp_relay/tests)
They are almost(but not entirely) complete. If someone wants to complete those, they can contact me, I will explain the work I have done till now on them.

@choksi81
Copy link
Contributor Author

Also, once this PR gets merged, the config_build will have to be updated to copy over the transparent-tcp-relay files. While updating, refer this file (https://github.com/choksi81/affix/blob/affix_transparenttcprelay_final/scripts/config_build.txt)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants