Giter VIP home page Giter VIP logo

Comments (6)

derekbekoe avatar derekbekoe commented on July 28, 2024

@JavanZhu The devtunnel CLI is not currently open-source and we don't have plans to open source it at this time.
Is there a specific platform/OS you're looking to create a binary for?

from dev-tunnels.

JavanZhu avatar JavanZhu commented on July 28, 2024

@JavanZhu The devtunnel CLI is not currently open-source and we don't have plans to open source it at this time.
Is there a specific platform/OS you're looking to create a binary for?

Hi, @derekbekoe , I would like to run the Rust API library implementation in the repository, but I couldn't find any examples in the repository. From the documentation, I see that there are examples demonstrating the usage of the CLI program. Is there any documentation or examples available that explain how to use the Rust API library implementation? Thank you very much.

from dev-tunnels.

derekbekoe avatar derekbekoe commented on July 28, 2024

Thanks, I've updated the title to reflect this.
SDK documentation is an area we are planning to improve in the future.
In the meantime, we're keen to learn more about your use-case for the dev tunnels Rust SDK! Feel free to reach out to us at tunnelsfeedback[@]microsoft.com.

from dev-tunnels.

JavanZhu avatar JavanZhu commented on July 28, 2024

Thanks, I've updated the title to reflect this. SDK documentation is an area we are planning to improve in the future. In the meantime, we're keen to learn more about your use-case for the dev tunnels Rust SDK! Feel free to reach out to us at tunnelsfeedback[@]microsoft.com.

use-case:
We have deployed an SFTP service on a Linux server using openssh-portable to provide file sharing services to customers. However, due to certain limitations, we cannot use TCP/IP and can only share files through file sharing protocols based on HTTP/HTTPS, such as WebDAV. WebDAV requires a complete replacement of the existing program, but our goal is to keep the existing program as unchanged as possible to achieve this goal. We found that dev-tunnel provides SSH through WebSocket, which is in line with our requirements as WebSocket protocol is implemented on top of HTTP protocol. Therefore, we want to use the devtunnel Rust API to provide an SSH tunnel for the existing openssh-portable program.

So, we want to run the Rust API SDK demo to evaluate whether this is feasible. If there are any unclear or questionable points in my description, please feel free to ask me. Thank you.

from dev-tunnels.

jasongin avatar jasongin commented on July 28, 2024

My understanding is you want to use a dev tunnel to forward a TCP port from the host (where the SFTP service is running) to a client system, and then presumably there is some client software that can connect to that forwarded port on its localhost using the SFTP protocol.

At this time, that's not possible to do using the dev tunnels Rust API, because it lacks the client-side port forwarding capability. So far only host-side port forwarding is implemented (because it was developed primarily for VS Code Server). We may add client-side forwarding to the Rust SDK later but there is no timeline for that now.

The C# and TypeScript APIs do have both host- and client-side port forwarding capability. So you could use either of those. Or the devtunnel command-line tool would be easier.

I should point out also that the scenario you describe, exposing an SFTP server to customers, is not really what the dev tunnels service is meant for, so you won't find much support or documentation for that. Dev tunnels are designed for and optimized for developer scenarios such as developing web hooks and connecting to remote development resources, and the SDK code in this repo is designed to support integration with developer applications such as IDEs and command-line developer tools.

from dev-tunnels.

JavanZhu avatar JavanZhu commented on July 28, 2024

My understanding is you want to use a dev tunnel to forward a TCP port from the host (where the SFTP service is running) to a client system, and then presumably there is some client software that can connect to that forwarded port on its localhost using the SFTP protocol.

At this time, that's not possible to do using the dev tunnels Rust API, because it lacks the client-side port forwarding capability. So far only host-side port forwarding is implemented (because it was developed primarily for VS Code Server). We may add client-side forwarding to the Rust SDK later but there is no timeline for that now.

The C# and TypeScript APIs do have both host- and client-side port forwarding capability. So you could use either of those. Or the devtunnel command-line tool would be easier.

I should point out also that the scenario you describe, exposing an SFTP server to customers, is not really what the dev tunnels service is meant for, so you won't find much support or documentation for that. Dev tunnels are designed for and optimized for developer scenarios such as developing web hooks and connecting to remote development resources, and the SDK code in this repo is designed to support integration with developer applications such as IDEs and command-line developer tools.

Hi @jasongin Thank you very much for your detailed explanation and response. By the way, it would be very helpful to have a demo showing how to use these RUST APIs. I am looking forward to seeing this part being improved in the future. Thank you.

from dev-tunnels.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.