Commit Graph

8 Commits

Author SHA1 Message Date
adee89cc08 Now by default wsproxy uses a specific protocol to establish connections to the server. It does this by adding the ?wsproxy query parameter.
The server then sends it the protocol version and the client connection info describing whether an agent was found or not. This improves usability for users.

With the --raw option it bypasses this query parameter and wsproxy then works in the old way as a simple stdio-websocket connector. It then still works with converge server but can also be used for simple websocket troubleshooting.
2024-09-08 11:16:49 +02:00
Erik Brakkee
882f97fa17 many small changes
* removed the Async utility
* now using Ping message to webclient for keep alive instaed of actual content
* added remote shell to AgentInfo
* retry of connections to the agent
* better logging for SynchronizeStreams
2024-09-08 11:16:49 +02:00
60d641a1a4 When a duplicate id is requested the server now allocates a new unique id so that the session can be handled anyway. 2024-09-08 11:16:49 +02:00
816e8d8609 refactoring towards being able to send events from Admin to UI (websocket) without exposing connection info but only metadata. 2024-09-08 11:16:49 +02:00
788050df32 Unique ids for clients generated by converge server and made available to the ssh session through a net.Conn extension that passes the ID to the SSH session through the LocalAddr(). 2024-09-08 11:16:49 +02:00
9d0675b2f2 initialization of username, password on client (from server) and initialization of agentinfo on server is now done as soon as the agent registered and not through a side channel.
Making use of some simple utilities for GOB to make it easy to send objects over the line.
2024-09-08 11:16:49 +02:00
ada34495ef GOB channel for easily and asynchronously using GOB on a single network connection, also dealing with timeouts and errors in a good way.
Protocol version is now checked when the agent connects to the converge server.

Next up: sending connection metadata and username password from server to agent and sending environment information back to the server. This means then that the side channel will only be used for expiry time messages and session type with the client id passed in so the converge server can than correlate the results back to the correct channel.
2024-09-08 11:16:49 +02:00
Erik Brakkee
d839583f7b communication between agent and server. Removed the flags libray for command-line parsing.
Heartbeat mechanism from client to server over the custom connection for sending events to guarantee that the connectoin stays up.
2024-09-08 11:16:48 +02:00