Commit Graph

58 Commits

Author SHA1 Message Date
Erik Brakkee
9b8023496c Some cleanup in the agent code.
Now supporting authorized SSH keys in the
.authorized_keys file.
2024-09-08 11:16:48 +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
c976ee881a documentation updates. 2024-09-08 11:16:48 +02:00
40e8d56429 removed read and write dead lines. Appears to be still working. 2024-09-08 11:16:48 +02:00
6f4929301d status update now reported to the server. More robustness needed. 2024-09-08 11:16:48 +02:00
ffeca2a533 First version with basic communication from agent to server working. 2024-09-08 11:16:48 +02:00
f5fb7c5ed2 direct communication channel now setup between agent and converge server 2024-09-08 11:16:48 +02:00
ff9adfeb24 Extraction of communication setup in separate entity with client and related server code close together to make the setup easier to understand. 2024-09-08 11:16:48 +02:00
f862f31832 every user login resets agent expiry now. 2024-09-08 11:16:48 +02:00
ddc3b24ebf clean solution for concurrence in session.go by serializing all external calls (apart from initialization) through a channel. 2024-09-08 11:16:48 +02:00
Erik Brakkee
7351fdaf9c welcome message for users now specific for windows and linux
monitoring of hold file changes and messaging to users to provide more
  interactivity
2024-09-08 11:16:48 +02:00
9b2e8709fb added fsnotify example, to check bahavior on windows. 2024-09-08 11:16:48 +02:00
861fa85843 minor update to docs. 2024-09-08 11:16:48 +02:00
2dae10d093 added insecure flag to allow invalid certificates. 2024-09-08 11:16:48 +02:00
5c0e3401f4 command-line argument parsing with error handling for all commands that are referred to on the docs page. 2024-09-08 11:16:48 +02:00
815f1fa927 converge now uses flags for the command-line parsing. 2024-09-08 11:16:48 +02:00
6e2ed858e4 fileserver now uses go template language.
updated docs for windows.
2024-09-08 11:16:48 +02:00
38869b5faa moved fileserver to separate file. 2024-09-08 11:16:48 +02:00
2f9cead5c3 eliminated unused setWindowSize files. 2024-09-08 11:16:48 +02:00
Erik Brakkee
8c44943a48 * fixes for windows
* detect kill ssh session
* include sftp session in the count of ssh sessions
* log session type in the agent
2024-09-08 11:16:48 +02:00
5c36843166 list of shells to try in windows. 2024-09-08 11:16:48 +02:00
55c93ad4e2 Windows terminal support using the termtest library.
Should even support resizing. Fully untested.
2024-09-08 11:16:48 +02:00
d2801d0019 windows build now also working but without pty support. 2024-09-08 11:16:48 +02:00
1e422dd698 refactoring to support both windows and linux with totally different Pty code. 2024-09-08 11:16:48 +02:00
Erik Brakkee
2f40f86294 cross compilation on windows working.
pty.Start() is not supported on windows
2024-09-08 11:16:48 +02:00
cb00c5e4eb renamed cidebug module to converge 2024-09-08 11:16:48 +02:00
f459d12bea agent now giving the exact commands to run to use it from the client
side.
2024-09-08 11:16:48 +02:00
9fc0241d08 lots of work to make it actually work.
Icluding the server keep alive interval.
Fix where expiry duration was added twice.
2024-09-08 11:16:48 +02:00
aa46ed7b5c Lots of work on docuemtation. The docs page now shows the correct
installation dependent URLs. For now using ServerALiveInterval
to avoid disconnects.
2024-09-08 11:16:48 +02:00
19c728938a updated docs for new proxycommand. 2024-09-08 11:16:48 +02:00
7ee5658cbc added proxycomamnd to be used directly by ssh 2024-09-08 11:16:48 +02:00
f5bc8d7b74 redirect all non-matched urls to the docs. 2024-09-08 11:16:48 +02:00
91cc99fdfe now with online downloads and docs. 2024-09-08 11:16:48 +02:00
dedbc39144 now serving files from a downloads directory so that the executables
can be downloaded from a ci job
2024-09-08 11:16:48 +02:00
85caa6cb5a simple session management solution with a .hold file and messages to the
user with better formatting.
2024-09-08 11:16:48 +02:00
e945e7453b basic session management is now implemented. 2024-09-08 11:16:48 +02:00
ed922a235f agent now uses a fixed host key using the go embed package.
Printing welcome message when user logs in.
2024-09-08 11:16:48 +02:00
1d2a047dfc lots of restructuring.
Experimensts with websockets over yamux failed. Now going to use a
second connection to the server from the agent.
2024-09-08 11:16:48 +02:00
3e6ec05877 moved websocket utils to separate package to allow use by the agent. 2024-09-08 11:16:48 +02:00
6857eb6ff9 generating key automatically on the agent side. Should be done later at the rendez-vous server since there will be many agents running on different servers 2024-09-08 11:16:48 +02:00
571ca2ca9e easy switching between different service types.
Working now with ssh as well.
2024-09-08 11:16:48 +02:00
783a8db7a6 structuring into packages 2024-09-08 11:16:48 +02:00
41403476c6 working server
* administration appears coorect
* multiple clients for one agent
* logging of active connections
* simple echo server on the agent.
2024-09-08 11:16:48 +02:00
ff71dbac52 agent is now setting up ws connection to server.
Next: adding multiplexing and listening on a socket.
2024-09-08 11:16:48 +02:00
72d128998b First agent version, passing in external listener fo ssh so it can be used later with yamux as well. 2024-09-08 11:16:48 +02:00
ad7314ca5a cleanup now works. Clients and agents can connect and disconnect at will. 2024-09-08 11:16:48 +02:00
feb4639c7d dynamic publicId now working with single connection to agent. Cleanup is not working yet. 2024-09-08 11:16:48 +02:00
e48f405fcc rendezvous mechanism with fixed id is now working. 2024-09-08 11:16:48 +02:00
0fe6824522 first rendez vous:
1. two websocket clients connecting: one as agent and one as client
2. bidirectional communication between the two
2024-09-08 11:16:48 +02:00
58ee5d7e85 further generalizatio of synchronizing two streams of data. 2024-09-08 11:16:48 +02:00