terminal icon indicating copy to clipboard operation
terminal copied to clipboard

Plugin: add support for [XYZ]MODEM file transfers

Open hijkzzz opened this issue 4 years ago • 51 comments

refer to the title

hijkzzz avatar Jul 17 '19 10:07 hijkzzz

I'm not sure how this is related to the terminal. This sounds like a request for adding a commandline application to Windows, not a feature to the terminal.

You might be able to use WSL for this. If not, then someone would probably need to port lszrz to Windows, though this issue tracker is not the place for that feature.

zadjii-msft avatar Jul 17 '19 11:07 zadjii-msft

@zadjii-msft I mean it needs to support sz rz like xshell.

hijkzzz avatar Jul 17 '19 12:07 hijkzzz

@zadjii-msft I mean it needs to support sz rz like xshell.

hijkzzz avatar Jul 17 '19 12:07 hijkzzz

@zadjii-msft windows terminal should support sz/rz protocol and popout dialog box, I can't reopen this issue, please reopen it, it is very useful feature.

rz

xmm1989218 avatar Aug 06 '19 13:08 xmm1989218

@zadjii-msft I think rz sz is a feature for terminal not shell (e.g. WSL). rz sz is a program running on server, and also require terminal to support it. In macOS, iTerm2 implement it instead of bash or zsh. Please tell us where to request that feature.

qin-nz avatar Aug 29 '19 00:08 qin-nz

So I still don't know why the terminal would need to add support for lszrz directly. Seems to me like the lszrz package should be the one to display the file picker on windows itself, and it's not the responsibility of the terminal to display that picker. I'm not sure why a terminal window needs to get involved in the implementation of a commandline application like this.

Maybe I don't understand how sz rz works? If someone can explain why I'm wrong, I'll be happy to re-open and investigate. But this just sounds like an application that needs to be ported to Windows on it's own, and the terminal doesn't need to ship with itself.

zadjii-msft avatar Aug 29 '19 14:08 zadjii-msft

@zadjii-msft As a user, I don't really know what happens.

If I want to send a file from server to laptop, I just run sz -be filename on linux (via Terminal, via shell, via ssh). This means I need to install lszrz on server. And something should let me select where to put it, then receive and save it on my laptop.

Other Terminal do this, so I think Windows Terminal should do it too. e.g. iTerm2 on macOS, SecureCRT / XShell on Windows

qin-nz avatar Sep 04 '19 05:09 qin-nz

@zadjii-msft lszrz don't display the file picker on window. Instead, people are required to run sz/rz on both sides. This post show what should people do without using a terminal. And this really hard to do for users.

Terminal should support lszrz (and lszrz is required to be installed on PC). Terminal is ONLY a UI of lszrz.

qin-nz avatar Sep 10 '19 08:09 qin-nz

@zadjii-msft

Seems to me like the lszrz package should be the one to display the file picker on windows itself

lszrz is backgroud program, it can't dispaly the file picker. Something(e.g. Terminal) should find a place and run sz/rz command on laptop.

and it's not the responsibility of the terminal to display that picker.

So do you think user should be responsibility to display that picker? ALL OTHER TERMINALS DO! (out of box or need some configure.)

qin-nz avatar Sep 19 '19 02:09 qin-nz

I'm reopening this one and putting it on the infinite backlog.

@qin-nz: We're not going to do this ourselves, but it is a valuable feature and it would be good to think about it when plugin support is written (#555)

@zadjii-msft: This is a weird/interesting thing. lszrz is a package that implements the [XYZ]MODEM set of protocols, and is typically used for transferring files over serial connections to remote machines. The deal, though, is that that data must either be multiplexed-with or totally replace the tty stream. It's the terminal emulator's job to stop sending user input and waiting for connection output and instead send encoded file data packets and wait for ACKs (or the other way around.)

lszrz only includes the client portions that "send a file to the terminal" or "receive a file from the terminal," and the terminal needs to be complicit.

DHowett-MSFT avatar Sep 19 '19 15:09 DHowett-MSFT

Oh my god, that's insane. Well yea of course I didn't understand that, that's a totally different style of application than anything I've ever heard of before. I'd think there would be a better way of doing this, such that the Terminal application didn't have to be directly involved in this process (maybe using a pty or something) but hey if that's how it works, that's how it works.

Sounds like a perfect extension scenario.

zadjii-msft avatar Sep 19 '19 16:09 zadjii-msft

I need it

YangZG86 avatar Sep 27 '19 10:09 YangZG86

i need it

wangvito avatar Jan 21 '20 05:01 wangvito

As https://github.com/microsoft/terminal/issues/1602 referred, Zmodem needs a plugin mechanism to implement.

robberphex avatar Feb 01 '20 03:02 robberphex

Hey, Do we have a plan to have this feature?

jackmin avatar Mar 16 '20 03:03 jackmin

This is on the backlog and we think it would be good to revisit when we support plugins. I can’t commit engineering time to it right now :)

DHowett-MSFT avatar Mar 16 '20 04:03 DHowett-MSFT

This is on the backlog and we think it would be good to revisit when we support plugins. I can’t commit engineering time to it right now :)

terminus has already have these features including plugin-supporting. So for now I will use terminus.

rtransformation avatar Apr 22 '20 08:04 rtransformation

any update?

xmm1989218 avatar May 20 '20 05:05 xmm1989218

If there had been an update, you would have received an e-mail.

DHowett avatar May 20 '20 05:05 DHowett

I need it!

hackerphysics avatar May 25 '20 02:05 hackerphysics

I need it! If you approve it , please give me a thumb.

amosnothing avatar May 27 '20 08:05 amosnothing

Please do not unnecessarily bump this thread. There's a perfectly good button for showing your support for this feature request that doesn't send an email to everyone on the thread: image

zadjii-msft avatar May 27 '20 11:05 zadjii-msft

So I still don't know why the terminal would need to add support for lszrz directly. Seems to me like the lszrz package should be the one to display the file picker on windows itself, and it's not the responsibility of the terminal to display that picker. I'm not sure why a terminal window needs to get involved in the implementation of a commandline application like this.

Maybe I don't understand how sz rz works? If someone can explain why I'm wrong, I'll be happy to re-open and investigate. But this just sounds like an application that needs to be ported to Windows on it's own, and the terminal doesn't need to ship with itself.

Please pay attention to this detaill:

sz/rz use zmodem to trans files between current terminal connecttion, Don't care about the connection method (ssh, or telent, tty, serial Or something can trans terminal sequence) it need to run sz & rz on each side of the connection. not like scp create new connect, librzsz only use current connecttion, and it no ability to run sz/rz on each side,
without terminal help it can't be done, not they don't want to do it. it just show some special char sequence to terminal (or connection layer program), some thing like this:

$ rz | hd
rz waiting to receive.00000000  2a 2a 18 42 30 31 30 30  30 30 30 30 32 33 62 65  |**.B0100000023be|

also there are some cli tool do the sz/rz support:

  • zssh: a ssh client, (so only work with ssh connection), use special shortcut key to switch to peer side of current connection.
  • screen: screen manager with VT100/ANSI terminal emulation

but cli tool user experience is not good.

yurenchen000 avatar Aug 23 '20 18:08 yurenchen000

i need this

nu007a avatar Nov 17 '20 02:11 nu007a

when i ssh a linux terminal , the sz / rz will failed. already fix it ??

PICKQUE avatar Nov 26 '20 08:11 PICKQUE

when i ssh a linux terminal , the sz / rz will failed. already fix it ??

not yet, checked their road map to 2.0. the terminal will not support the sz/rz at least until summer in 2021. in theirs projects the command rz/sz belong to the thrid party tool xyz-modem. and they do not have a timeline for when they will support which one of the third party tools.

dolorain avatar Nov 26 '20 08:11 dolorain

i need it

zenzenless avatar Nov 27 '20 05:11 zenzenless

我需要它

I also hope to have this feature.

Evilrabbit520 avatar Nov 27 '20 15:11 Evilrabbit520

I'm not sure whether the rs&zs function should belong to the terminal or the ssh client program in your computer?

permissionx avatar Nov 30 '20 08:11 permissionx

I'm not sure whether the rs&zs function should belong to the terminal or the ssh client program in your computer? rz & sz , a command, quickly download and upload。

PICKQUE avatar Nov 30 '20 08:11 PICKQUE