Thanks for your reply, I’ll dive into the official guacamole client source code for the details.
> On Dec 29, 2022, at 11:50, Nick Couchman <[email protected]> wrote: > > On Wed, Dec 28, 2022 at 8:25 PM 陈鹏鹏 <[email protected]> wrote: >> >> Hello, >> >> I build a web app with guacamole-common and guacamole-common-js, everything >> works fine, but I cannot find any spec or doc to tell how to use sftp in the >> web app, could you please help to figure out the doc or example? Thank you. > > The best example is the guacamole-client web application itself. > However, it's important to note that the web client itself has no real > concept of it being an "SFTP connection" - this is all taken care of > by guacd, and guacd simply presents an abstracted filesystem to the > web client. This allows the same code on the web client to be used for > both SFTP and RDP drive redirection, and any other future file > transfer mechanisms. In the guacamole-common-js code, there is a > callback for handling filesystem registrations: > > https://github.com/apache/guacamole-client/blob/c2f2defcba73ad7ad1e5c6608a3d7b91a11313c9/guacamole-common-js/src/main/webapp/modules/Client.js#L815-L827 > > If you want to make a SFTP filesystem available, you'll need to > implement this callback in your client. Examples of how that is done > can be found in the main web client: > https://github.com/apache/guacamole-client/blob/master/guacamole/src/main/frontend/src/app/client/types/ManagedClient.js > https://github.com/apache/guacamole-client/blob/master/guacamole/src/main/frontend/src/app/client/controllers/clientController.js > > The individual components are implemented in various places in the web client: > > https://github.com/apache/guacamole-client/blob/master/guacamole/src/main/frontend/src/app/client/types/ManagedFilesystem.js > https://github.com/apache/guacamole-client/blob/master/guacamole/src/main/frontend/src/app/client/directives/guacFileBrowser.js > https://github.com/apache/guacamole-client/blob/master/guacamole/src/main/frontend/src/app/client/directives/guacFileTransfer.js > https://github.com/apache/guacamole-client/blob/master/guacamole/src/main/frontend/src/app/client/directives/guacFileTransferManager.js > > Your implementation need not be as complex as the Guacamole Client, > but you'll at least need to implement the callback and then some set > of handlers to deal with file transfer events, object listings, etc. > > -Nick > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
