Commit Graph

  • 2df296d3c3 fixed issue in usage page where local shell was not used at all. Erik Brakkee 2024-08-03 21:18:44 +0200
  • b41317c598 Lots of work on making easier interactive documentation, especially to make working with SSH public keys really easy. Erik Brakkee 2024-08-03 21:03:29 +0200
  • 49db7578a7 large parts of the usage is now dynamic. Still need to generate instructions for authorized keys. A lot of troubleshooting for the form to cookie persistence. Erik Brakkee 2024-08-03 18:29:14 +0200
  • 62b51a6d09 work in progress: * usage page now has more dynamic part where user can enter id and publis ssh keys and the server will generate the appropriate commmands to execute depending on the local and remote shell. Erik Brakkee 2024-08-03 12:54:32 +0200
  • 4f6d9c209d relative link to websocket did not work for some reason, reverted back to /.... link Erik Brakkee 2024-08-03 08:46:16 +0200
  • 830594740b * session will now expire some time after last user activity and updated documentation. * downloads will now download again. Because of hx-boost the downloads where rendered in the browser. Now disabling hx-boost for the downloads section. * relative link for sessions page Erik Brakkee 2024-08-02 20:58:46 +0200
  • c45b6ed090 fixed typo Erik Brakkee 2024-08-01 21:23:41 +0200
  • 46f2d43792 dockerfile now also runs templ Erik Brakkee 2024-08-01 21:21:31 +0200
  • b332c0fe4c remark about tcptows Erik Brakkee 2024-08-01 21:01:27 +0200
  • a9bd539175 Updated documentation: * remote shell usage for linux, cmd, and powershell * help of wsproxy. Erik Brakkee 2024-08-01 20:53:52 +0200
  • adee89cc08 Now by default wsproxy uses a specific protocol to establish connections to the server. It does this by adding the ?wsproxy query parameter. Erik Brakkee 2024-08-01 20:22:41 +0200
  • 52954a4bdb Using # instead of id in the sessions page to avoid confusion with the term id used in the docs. Erik Brakkee 2024-08-01 19:21:39 +0200
  • e141007f0a Now displaying agent number instead of id. Passing timezone to server side for rendering of time stamps Configuration of preferred shells. Erik Brakkee 2024-08-01 19:16:00 +0200
  • d6fc2e4118 Rendering status as HTML tables. Erik Brakkee 2024-07-31 21:12:09 +0200
  • 638dffd143 doing the same thing as before but now rendering the status using a template. Erik Brakkee 2024-07-31 19:52:01 +0200
  • 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 Erik Brakkee 2024-07-31 19:30:38 +0200
  • 0f10e1d8e7 typo in usage.html Erik Brakkee 2024-07-30 23:55:09 +0200
  • 9d460b9cf3 usage fix (agent was renamed by intellij to session) Erik Brakkee 2024-07-30 23:48:52 +0200
  • d6d2d5648c Live updates of the sessions. Erik Brakkee 2024-07-30 21:51:30 +0200
  • 100771a7ba restructuring Erik Brakkee 2024-07-30 19:59:13 +0200
  • 60d641a1a4 When a duplicate id is requested the server now allocates a new unique id so that the session can be handled anyway. Erik Brakkee 2024-07-30 19:45:25 +0200
  • 64f2460bc9 Adding rm/del instruction for agents. Erik Brakkee 2024-07-30 19:04:46 +0200
  • 816e8d8609 refactoring towards being able to send events from Admin to UI (websocket) without exposing connection info but only metadata. Erik Brakkee 2024-07-30 19:03:21 +0200
  • 7783ab51a8 removed hardcoded host used for testing. Erik Brakkee 2024-07-30 00:02:52 +0200
  • a5a923b477 missing files checked in: htmx + websocket extension render.sh script for generating html of the webinterface for quickly seeing results after modifying templates. .gitignore file for ignoring generated stuff. Erik Brakkee 2024-07-29 23:58:48 +0200
  • 0e8ed86be3 basic htmx with server sending content to the client over a websocket is now working. This only worked when text message where being sent so the websocket handling had to be made configurable with a 'text' boolean field. Erik Brakkee 2024-07-29 23:56:44 +0200
  • f6ea7a56a9 tabbed interface. Erik Brakkee 2024-07-29 21:05:14 +0200
  • e0771c095b split up in separate pages. Erik Brakkee 2024-07-29 20:02:08 +0200
  • 80a536c70e docs page now working again. Erik Brakkee 2024-07-29 19:49:47 +0200
  • 48f2d3a9e5 extracted basepage. Erik Brakkee 2024-07-29 19:23:01 +0200
  • 8fd17ed75d Split up the main page into different parts. Erik Brakkee 2024-07-29 19:16:48 +0200
  • fcfe8a6637 Split up the main page into different parts. Erik Brakkee 2024-07-29 19:02:50 +0200
  • 9db9c927e6 Fixed typo: continous continuous. Erik Brakkee 2024-07-29 18:32:11 +0200
  • 580527528d downgrading to alpine 3.19.3 so that we get go 1.21 (same as in dev env). This makes troubleshooting easier. Erik Brakkee 2024-07-29 18:30:58 +0200
  • 4b05d7e8d8 Now rendering the index.html using the Templ library. Erik Brakkee 2024-07-28 21:31:17 +0200
  • e01a2bc729 Added pprof to convergeserver and optionally to the agent if PPROF_PORT is set. Erik Brakkee 2024-07-28 11:48:31 +0200
  • 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(). Erik Brakkee 2024-07-27 22:37:40 +0200
  • 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. Erik Brakkee 2024-07-27 20:46:53 +0200
  • ada34495ef GOB channel for easily and asynchronously using GOB on a single network connection, also dealing with timeouts and errors in a good way. Erik Brakkee 2024-07-27 11:21:35 +0200
  • d3cbf8388f Lots of refactoring. Erik Brakkee 2024-07-26 22:40:56 +0200
  • 4d660a6805 Updated deployment with username and password settings. index.html template now also uses the configured password. Erik Brakkee 2024-07-26 21:11:40 +0200
  • f5ebb6c37b user security best practice of having no default passwords. Erik Brakkee 2024-07-26 20:57:04 +0200
  • 8eba25575e password of converge now configurable through CONVERGE_USERNAME and CONVERGE_PASSWORD environment variables. Erik Brakkee 2024-07-26 20:51:05 +0200
  • eb4195d0e9 good url validation. Erik Brakkee 2024-07-26 20:40:01 +0200
  • 78b55fd063 doc updates. Erik Brakkee 2024-07-25 21:47:51 +0200
  • 1c9dec8690 doc updates. Erik Brakkee 2024-07-25 21:46:52 +0200
  • 9b8023496c Some cleanup in the agent code. Now supporting authorized SSH keys in the .authorized_keys file. Erik Brakkee 2024-07-25 21:40:51 +0200
  • 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. Erik Brakkee 2024-07-25 19:51:11 +0200
  • c976ee881a documentation updates. Erik Brakkee 2024-07-24 22:29:23 +0200
  • 40e8d56429 removed read and write dead lines. Appears to be still working. Erik Brakkee 2024-07-24 22:26:15 +0200
  • 6f4929301d status update now reported to the server. More robustness needed. Erik Brakkee 2024-07-24 22:03:12 +0200
  • ffeca2a533 First version with basic communication from agent to server working. Erik Brakkee 2024-07-24 21:39:14 +0200
  • f5fb7c5ed2 direct communication channel now setup between agent and converge server Erik Brakkee 2024-07-24 20:23:33 +0200
  • ff9adfeb24 Extraction of communication setup in separate entity with client and related server code close together to make the setup easier to understand. Erik Brakkee 2024-07-24 20:04:35 +0200
  • f862f31832 every user login resets agent expiry now. Erik Brakkee 2024-07-24 19:38:22 +0200
  • ddc3b24ebf clean solution for concurrence in session.go by serializing all external calls (apart from initialization) through a channel. Erik Brakkee 2024-07-24 19:23:51 +0200
  • 7351fdaf9c welcome message for users now specific for windows and linux monitoring of hold file changes and messaging to users to provide more interactivity Erik Brakkee 2024-07-24 18:46:25 +0200
  • 9b2e8709fb added fsnotify example, to check bahavior on windows. Erik Brakkee 2024-07-23 22:55:03 +0200
  • 861fa85843 minor update to docs. Erik Brakkee 2024-07-23 22:33:11 +0200
  • 2dae10d093 added insecure flag to allow invalid certificates. Erik Brakkee 2024-07-23 22:27:09 +0200
  • 5c0e3401f4 command-line argument parsing with error handling for all commands that are referred to on the docs page. Erik Brakkee 2024-07-23 21:51:48 +0200
  • 815f1fa927 converge now uses flags for the command-line parsing. Erik Brakkee 2024-07-23 21:07:41 +0200
  • 6e2ed858e4 fileserver now uses go template language. updated docs for windows. Erik Brakkee 2024-07-23 20:47:51 +0200
  • 38869b5faa moved fileserver to separate file. Erik Brakkee 2024-07-23 19:36:35 +0200
  • 2f9cead5c3 eliminated unused setWindowSize files. Erik Brakkee 2024-07-23 19:31:43 +0200
  • 8c44943a48 * fixes for windows * detect kill ssh session * include sftp session in the count of ssh sessions * log session type in the agent Erik Brakkee 2024-07-23 19:26:59 +0200
  • 5c36843166 list of shells to try in windows. Erik Brakkee 2024-07-22 23:57:36 +0200
  • 55c93ad4e2 Windows terminal support using the termtest library. Should even support resizing. Fully untested. Erik Brakkee 2024-07-22 23:55:37 +0200
  • d2801d0019 windows build now also working but without pty support. Erik Brakkee 2024-07-22 23:07:26 +0200
  • 1e422dd698 refactoring to support both windows and linux with totally different Pty code. Erik Brakkee 2024-07-22 23:05:51 +0200
  • 2f40f86294 cross compilation on windows working. pty.Start() is not supported on windows Erik Brakkee 2024-07-22 19:34:26 +0200
  • cb00c5e4eb renamed cidebug module to converge Erik Brakkee 2024-07-21 23:12:04 +0200
  • f459d12bea agent now giving the exact commands to run to use it from the client side. Erik Brakkee 2024-07-21 23:02:54 +0200
  • 9fc0241d08 lots of work to make it actually work. Icluding the server keep alive interval. Fix where expiry duration was added twice. Erik Brakkee 2024-07-21 22:36:17 +0200
  • aa46ed7b5c Lots of work on docuemtation. The docs page now shows the correct installation dependent URLs. For now using ServerALiveInterval to avoid disconnects. Erik Brakkee 2024-07-21 21:41:53 +0200
  • 19c728938a updated docs for new proxycommand. Erik Brakkee 2024-07-21 19:00:01 +0200
  • 7ee5658cbc added proxycomamnd to be used directly by ssh Erik Brakkee 2024-07-21 18:51:30 +0200
  • f5bc8d7b74 redirect all non-matched urls to the docs. Erik Brakkee 2024-07-21 15:43:54 +0200
  • 91cc99fdfe now with online downloads and docs. Erik Brakkee 2024-07-21 15:33:31 +0200
  • dedbc39144 now serving files from a downloads directory so that the executables can be downloaded from a ci job Erik Brakkee 2024-07-21 14:30:01 +0200
  • 85caa6cb5a simple session management solution with a .hold file and messages to the user with better formatting. Erik Brakkee 2024-07-21 14:12:53 +0200
  • e945e7453b basic session management is now implemented. Erik Brakkee 2024-07-21 12:34:34 +0200
  • ed922a235f agent now uses a fixed host key using the go embed package. Printing welcome message when user logs in. Erik Brakkee 2024-07-21 11:22:05 +0200
  • 1d2a047dfc lots of restructuring. Experimensts with websockets over yamux failed. Now going to use a second connection to the server from the agent. Erik Brakkee 2024-07-20 21:55:34 +0200
  • 3e6ec05877 moved websocket utils to separate package to allow use by the agent. Erik Brakkee 2024-07-20 19:37:17 +0200
  • 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 Erik Brakkee 2024-07-20 18:40:22 +0200
  • 571ca2ca9e easy switching between different service types. Working now with ssh as well. Erik Brakkee 2024-07-20 14:29:47 +0200
  • 783a8db7a6 structuring into packages Erik Brakkee 2024-07-20 14:09:04 +0200
  • 41403476c6 working server * administration appears coorect * multiple clients for one agent * logging of active connections * simple echo server on the agent. Erik Brakkee 2024-07-20 13:35:49 +0200
  • ff71dbac52 agent is now setting up ws connection to server. Erik Brakkee 2024-07-20 10:56:14 +0200
  • 72d128998b First agent version, passing in external listener fo ssh so it can be used later with yamux as well. Erik Brakkee 2024-07-20 10:43:38 +0200
  • ad7314ca5a cleanup now works. Clients and agents can connect and disconnect at will. Erik Brakkee 2024-07-19 21:48:54 +0200
  • feb4639c7d dynamic publicId now working with single connection to agent. Cleanup is not working yet. Erik Brakkee 2024-07-19 21:13:57 +0200
  • e48f405fcc rendezvous mechanism with fixed id is now working. Erik Brakkee 2024-07-19 20:29:51 +0200
  • 0fe6824522 first rendez vous: 1. two websocket clients connecting: one as agent and one as client 2. bidirectional communication between the two Erik Brakkee 2024-07-19 19:31:34 +0200
  • 58ee5d7e85 further generalizatio of synchronizing two streams of data. Erik Brakkee 2024-07-18 21:25:00 +0200
  • c5f31f660c now using in wstotcp as well. Erik Brakkee 2024-07-18 21:18:40 +0200
  • 6b9dc2bfbe moved websocket wrapper to iowrappers package. Erik Brakkee 2024-07-18 21:14:23 +0200
  • a6a0f287dc generalizing websocket connection to reader/writer. Erik Brakkee 2024-07-18 20:58:15 +0200
  • 7b2523630a ssh client -> tcptows -> wstotcp -> sshserver works. Erik Brakkee 2024-07-18 19:48:06 +0200