Plugin: add support for [XYZ]MODEM file transfers #2806

Open
opened 2026-01-30 23:05:36 +00:00 by claunia · 56 comments
Owner

Originally created by @hijkzzz on GitHub (Jul 17, 2019).

refer to the title

Originally created by @hijkzzz on GitHub (Jul 17, 2019). refer to the title
claunia added the Issue-FeatureHelp WantedProduct-TerminalArea-Extensibility labels 2026-01-30 23:05:36 +00:00
Author
Owner

@zadjii-msft commented on GitHub (Jul 17, 2019):

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 commented on GitHub (Jul 17, 2019): 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`](https://ohse.de/uwe/software/lrzsz.html) to Windows, though this issue tracker is not the place for that feature.
Author
Owner

@hijkzzz commented on GitHub (Jul 17, 2019):

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

@hijkzzz commented on GitHub (Jul 17, 2019): @zadjii-msft I mean it needs to support `sz rz` like xshell.
Author
Owner

@hijkzzz commented on GitHub (Jul 17, 2019):

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

@hijkzzz commented on GitHub (Jul 17, 2019): @zadjii-msft I mean it needs to support `sz rz` like xshell.
Author
Owner

@xmm1989218 commented on GitHub (Aug 6, 2019):

@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 commented on GitHub (Aug 6, 2019): @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](https://user-images.githubusercontent.com/983106/62545314-10eaba80-b894-11e9-8876-7dae22b8f4a0.png)
Author
Owner

@qin-nz commented on GitHub (Aug 29, 2019):

@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 commented on GitHub (Aug 29, 2019): @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.
Author
Owner

@zadjii-msft commented on GitHub (Aug 29, 2019):

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 commented on GitHub (Aug 29, 2019): 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.
Author
Owner

@qin-nz commented on GitHub (Sep 4, 2019):

@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 commented on GitHub (Sep 4, 2019): @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
Author
Owner

@qin-nz commented on GitHub (Sep 10, 2019):

@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 commented on GitHub (Sep 10, 2019): @zadjii-msft `lszrz` don't display the file picker on window. Instead, people are required to run `sz/rz` on both sides. [This post](https://superuser.com/questions/604055/using-rz-and-sz-under-linux-shell) 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`.
Author
Owner

@qin-nz commented on GitHub (Sep 19, 2019):

@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 commented on GitHub (Sep 19, 2019): @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.)
Author
Owner

@DHowett-MSFT commented on GitHub (Sep 19, 2019):

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 commented on GitHub (Sep 19, 2019): 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.
Author
Owner

@zadjii-msft commented on GitHub (Sep 19, 2019):

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 commented on GitHub (Sep 19, 2019): 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.
Author
Owner

@YangZG86 commented on GitHub (Sep 27, 2019):

I need it

@YangZG86 commented on GitHub (Sep 27, 2019): I need it
Author
Owner

@wangvito commented on GitHub (Jan 21, 2020):

i need it

@wangvito commented on GitHub (Jan 21, 2020): i need it
Author
Owner

@robberphex commented on GitHub (Feb 1, 2020):

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

@robberphex commented on GitHub (Feb 1, 2020): As https://github.com/microsoft/terminal/issues/1602 referred, Zmodem needs a plugin mechanism to implement.
Author
Owner

@jackmin commented on GitHub (Mar 16, 2020):

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

@jackmin commented on GitHub (Mar 16, 2020): Hey, Do we have a plan to have this feature?
Author
Owner

@DHowett-MSFT commented on GitHub (Mar 16, 2020):

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 commented on GitHub (Mar 16, 2020): 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 :)
Author
Owner

@rtransformation commented on GitHub (Apr 22, 2020):

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 commented on GitHub (Apr 22, 2020): > 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.
Author
Owner

@xmm1989218 commented on GitHub (May 20, 2020):

any update?

@xmm1989218 commented on GitHub (May 20, 2020): any update?
Author
Owner

@DHowett commented on GitHub (May 20, 2020):

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

@DHowett commented on GitHub (May 20, 2020): If there had been an update, you would have received an e-mail.
Author
Owner

@hackerphysics commented on GitHub (May 25, 2020):

I need it!

@hackerphysics commented on GitHub (May 25, 2020): I need it!
Author
Owner

@amosnothing commented on GitHub (May 27, 2020):

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

@amosnothing commented on GitHub (May 27, 2020): I need it! If you approve it , please give me a **thumb**.
Author
Owner

@zadjii-msft commented on GitHub (May 27, 2020):

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 commented on GitHub (May 27, 2020): 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](https://user-images.githubusercontent.com/18356694/83011733-fe3aa100-9fdf-11ea-9da8-2b523ad7f05a.png)
Author
Owner

@yurenchen000 commented on GitHub (Aug 23, 2020):

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 commented on GitHub (Aug 23, 2020): > 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: ```sh $ 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.
Author
Owner

@nu007a commented on GitHub (Nov 17, 2020):

i need this

@nu007a commented on GitHub (Nov 17, 2020): i need this
Author
Owner

@gucoi commented on GitHub (Nov 26, 2020):

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

@gucoi commented on GitHub (Nov 26, 2020): when i ssh a linux terminal , the sz / rz will failed. already fix it ??
Author
Owner

@dolorain commented on GitHub (Nov 26, 2020):

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 commented on GitHub (Nov 26, 2020): > 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.
Author
Owner

@zenzenless commented on GitHub (Nov 27, 2020):

i need it

@zenzenless commented on GitHub (Nov 27, 2020): i need it
Author
Owner

@Evilrabbit520 commented on GitHub (Nov 27, 2020):

我需要它

I also hope to have this feature.

@Evilrabbit520 commented on GitHub (Nov 27, 2020): > 我需要它 I also hope to have this feature.
Author
Owner

@permissionx commented on GitHub (Nov 30, 2020):

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

@permissionx commented on GitHub (Nov 30, 2020): I'm not sure whether the rs&zs function should belong to the terminal or the ssh client program in your computer?
Author
Owner

@gucoi commented on GitHub (Nov 30, 2020):

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。

@gucoi commented on GitHub (Nov 30, 2020): > 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。
Author
Owner

@permissionx commented on GitHub (Nov 30, 2020):

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。

I know what it is, but should it be a function of the terminal, rather than that of the ssh program?

@permissionx commented on GitHub (Nov 30, 2020): > > 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。 I know what it is, but should it be a function of the terminal, rather than that of the ssh program?
Author
Owner

@zadjii-msft commented on GitHub (Nov 30, 2020):

@permissionx Yea, I was confused about this too originally. From earlier in the thread:

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.

@ everyone else: Please stop bumping the thread with "I need this". 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 commented on GitHub (Nov 30, 2020): @permissionx Yea, I was confused about this too originally. From earlier in the thread: > 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. @ everyone else: Please stop bumping the thread with "I need this". 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](https://user-images.githubusercontent.com/18356694/83011733-fe3aa100-9fdf-11ea-9da8-2b523ad7f05a.png)
Author
Owner

@therevoman commented on GitHub (Dec 7, 2020):

lrszs is basically ZModem in a terminal. Here's the use case.

SCP is great. but rz and sz can be used when inside a nested ssh session.

In secure environments its often the case that one needs to ssh into a bastion/jumphost. from there, ssh into the next layer and finally to the box you need to work on. rz and sz can be initiated straight to/from that 3rd layer terminal direct from the users terminal, avoiding the need to scp/ssh/scp/ssh/scp....

aka: no direct access from box A to box D, just a chain of connections from one box to another.
A -> B -> C -> D

This plugin will need to listen to the terminal at respond to the well-known set of data transmitted to indicate a ZModem transfer is about to start. This would open a dial box and prompt where to save it and the filename. Then the bytes would be streamed using the ZModem protocol.

@therevoman commented on GitHub (Dec 7, 2020): lrszs is basically ZModem in a terminal. Here's the use case. SCP is great. but rz and sz can be used when inside a nested ssh session. In secure environments its often the case that one needs to ssh into a bastion/jumphost. from there, ssh into the next layer and finally to the box you need to work on. rz and sz can be initiated straight to/from that 3rd layer terminal direct from the users terminal, avoiding the need to scp/ssh/scp/ssh/scp.... aka: no direct access from box A to box D, just a chain of connections from one box to another. A -> B -> C -> D This plugin will need to listen to the terminal at respond to the well-known set of data transmitted to indicate a ZModem transfer is about to start. This would open a dial box and prompt where to save it and the filename. Then the bytes would be streamed using the ZModem protocol.
Author
Owner

@AlbertGithubHome commented on GitHub (Jan 5, 2021):

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.

really?Why can't I use it on terminus?

@AlbertGithubHome commented on GitHub (Jan 5, 2021): > > 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. really?Why can't I use it on terminus?
Author
Owner

@permissionx commented on GitHub (Feb 25, 2021):

Any update? This feature will indeed accelerate human civilization development. No joking.

@permissionx commented on GitHub (Feb 25, 2021): Any update? This feature will indeed accelerate human civilization development. No joking.
Author
Owner

@zadjii-msft commented on GitHub (Feb 25, 2021):

Nope. We'll make sure to update this thread when there is. In the meantime, might I recommend the Subscribe button?
image
That way you'll be notified of any updates to this thread, without needlessly pinging everyone on this thread ☺️

@zadjii-msft commented on GitHub (Feb 25, 2021): Nope. We'll make sure to update this thread when there is. In the meantime, might I recommend the Subscribe button? ![image](https://user-images.githubusercontent.com/18356694/91237459-5cbb0c80-e700-11ea-9347-b9b1ec2813b1.png) That way you'll be notified of any updates to this thread, without needlessly pinging everyone on this thread ☺️
Author
Owner

@vaynewang commented on GitHub (Mar 24, 2021):

I wanna this feature , It is useful for me.

@vaynewang commented on GitHub (Mar 24, 2021): I wanna this feature , It is useful for me.
Author
Owner

@FANGOD commented on GitHub (Apr 12, 2021):

I need it !!! I need it !!! I need it !!!

@FANGOD commented on GitHub (Apr 12, 2021): I need it !!! I need it !!! I need it !!!
Author
Owner

@Centerful commented on GitHub (Apr 17, 2021):

I need it, plz

@Centerful commented on GitHub (Apr 17, 2021): I need it, plz
Author
Owner

@sober-wang commented on GitHub (Aug 17, 2021):

I need it

@sober-wang commented on GitHub (Aug 17, 2021): I need it
Author
Owner

@esonic commented on GitHub (Dec 22, 2021):

I developed a ssh command line tool to support sz/rz for Windows Terminal in WSL.

When rz/sz command is found, it will call OpenFileDialog/FolderBrowserDialog through a powershell script, and then pass the file path to rz/sz to finish upload or download.

I hope it helps somehow.

https://github.com/esonic/sshz

@esonic commented on GitHub (Dec 22, 2021): I developed a ssh command line tool to support sz/rz for Windows Terminal in WSL. When rz/sz command is found, it will call OpenFileDialog/FolderBrowserDialog through a powershell script, and then pass the file path to rz/sz to finish upload or download. I hope it helps somehow. [https://github.com/esonic/sshz](https://github.com/esonic/sshz)
Author
Owner

@likebeta commented on GitHub (Dec 22, 2021):

I developed a ssh command line tool to support sz/rz for Windows Terminal in WSL.

When rz/sz command is found, it will call OpenFileDialog/FolderBrowserDialog through a powershell script, and then pass the file path to rz/sz to finish upload or download.

I hope it helps somehow.

https://github.com/esonic/sshz

not work in wsl2 with Ubuntu-20.04, I create a issue https://github.com/esonic/sshz/issues/1

@likebeta commented on GitHub (Dec 22, 2021): > I developed a ssh command line tool to support sz/rz for Windows Terminal in WSL. > > When rz/sz command is found, it will call OpenFileDialog/FolderBrowserDialog through a powershell script, and then pass the file path to rz/sz to finish upload or download. > > I hope it helps somehow. > > https://github.com/esonic/sshz not work in wsl2 with Ubuntu-20.04, I create a issue https://github.com/esonic/sshz/issues/1
Author
Owner

@qingyunha commented on GitHub (Mar 15, 2022):

Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful.

https://github.com/qingyunha/zssh

@qingyunha commented on GitHub (Mar 15, 2022): Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful. https://github.com/qingyunha/zssh
Author
Owner

@shuohao commented on GitHub (Apr 13, 2022):

Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful.

https://github.com/qingyunha/zssh

hi, How to use?

@shuohao commented on GitHub (Apr 13, 2022): > Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful. > > https://github.com/qingyunha/zssh hi, How to use?
Author
Owner

@qingyunha commented on GitHub (Apr 13, 2022):

Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful.
https://github.com/qingyunha/zssh

hi, How to use?

I upload a asciinema to show its usage in the readme.

@qingyunha commented on GitHub (Apr 13, 2022): > > Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful. > > https://github.com/qingyunha/zssh > > hi, How to use? I upload a [asciinema](https://asciinema.org/a/5UhcXp6JCvFpGxiHME2edHr45) to show its usage in the readme.
Author
Owner

@hereTac commented on GitHub (Apr 18, 2022):

If u need.
Using rz/sz to transfer files

@hereTac commented on GitHub (Apr 18, 2022): If u need. [Using rz/sz to transfer files](https://gangmax.me/blog/2016/12/08/using-rz-slash-sz-to-transfer-files/)
Author
Owner

@Monzale commented on GitHub (May 7, 2022):

三年之后又三年,你知道这三年我怎么过的吗。

@Monzale commented on GitHub (May 7, 2022): 三年之后又三年,你知道这三年我怎么过的吗。
Author
Owner

@stratosblue commented on GitHub (May 7, 2022):

@Monzale
two years later:
"五年!五年!!你知道这五年我怎么过的吗?"

@stratosblue commented on GitHub (May 7, 2022): @Monzale two years later: "五年!五年!!你知道这五年我怎么过的吗?"
Author
Owner

@idk500 commented on GitHub (May 11, 2022):

Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful.
https://github.com/qingyunha/zssh

hi, How to use?

I upload a asciinema to show its usage in the readme.

hi, how to install it?

@idk500 commented on GitHub (May 11, 2022): > > > Hello, I made a ssh wrapper to support rz and sz. I hope you find it useful. > > > https://github.com/qingyunha/zssh > > > > > > hi, How to use? > > I upload a [asciinema](https://asciinema.org/a/5UhcXp6JCvFpGxiHME2edHr45) to show its usage in the readme. hi, how to install it?
Author
Owner

@Spinestars commented on GitHub (Jul 15, 2022):

If u need. Using rz/sz to transfer files

Security Fortress servers don't seem to work very well when they exist

@Spinestars commented on GitHub (Jul 15, 2022): > If u need. [Using rz/sz to transfer files](https://gangmax.me/blog/2016/12/08/using-rz-slash-sz-to-transfer-files/) Security Fortress servers don't seem to work very well when they exist
Author
Owner

@Zxis233 commented on GitHub (Sep 18, 2022):

Yeah, the feature is too useful to transfer my file! Hope to see it soon in WT!

@Zxis233 commented on GitHub (Sep 18, 2022): Yeah, the feature is too useful to transfer my file! Hope to see it soon in WT!
Author
Owner

@Asa-Dong commented on GitHub (Oct 3, 2022):

+1

@Asa-Dong commented on GitHub (Oct 3, 2022): +1
Author
Owner

@ravn commented on GitHub (Nov 27, 2022):

The reason that the request for zmodem support comes for the Terminal application, is because the Zmodem protocol is designed to use a very characteristic character sequence for handshaking between the two ends, which is designed to be easy to recognize for the terminal emulator and start the zmodem client locally on the character stream handled by the terminal app.

It is very useful for situations where you cannot create a direct TCP/IP connection from/to a given network host but you have a serial/telnet connection to the host.

@ravn commented on GitHub (Nov 27, 2022): The reason that the request for zmodem support comes for the Terminal application, is because the Zmodem protocol is designed to use a very characteristic character sequence for handshaking between the two ends, which is designed to be easy to recognize for the terminal emulator and start the zmodem client locally on the character stream handled by the terminal app. It is very useful for situations where you cannot create a direct TCP/IP connection from/to a given network host but you have a serial/telnet connection to the host.
Author
Owner

@Ethan-devops commented on GitHub (Nov 29, 2022):

This problem has not been resolved for so long, I think it is not a technical problem, but a management problem, who can come forward to coordinate and resolve this matter?

@Ethan-devops commented on GitHub (Nov 29, 2022): This problem has not been resolved for so long, I think it is not a technical problem, but a management problem, who can come forward to coordinate and resolve this matter?
Author
Owner

@DHowett commented on GitHub (Nov 29, 2022):

Whether it's "management" or "technical" isn't really up for debate. This feature request is the perfect combination of (1) not important enough to prioritize ahead of other work and (2) already handled better by other software. WT isn't yet intended to be the best--say--serial terminal. It works for that, sure, but it's missing some important things that would make it the best... such as x/y/zmodem support. But it's also missing more basic things like actually opening a serial port as an endpoint.

This is a popular community request, but it is by no means the most popular one. Once we're through with the more important foundational ones, we'll be better equipped to tackle this one.

For now, I'm going to lock the thread. It's been open for a while and the new replies haven't really cleared up the specific requirements for data exchange protocols here, so it'll serve the community better as an upvote aggregator rather than an open-ended discussion about how we just don't have it yet. 😄

(Edited after the fact to add!)
This is one place where we would really benefit from community contribution! Terminal could be the best serial terminal on Windows, but we're too far off the mark there. I would love to understand the use cases and the needs over in the Discussions section 😄 it's just not appropriate to have this discussion on a thread with 39+ participants and an untold number of subscribers.

@DHowett commented on GitHub (Nov 29, 2022): Whether it's "management" or "technical" isn't really up for debate. This feature request is the perfect combination of (1) not important enough to prioritize ahead of other work and (2) _already handled better by other software._ WT isn't yet intended to be the best--say--serial terminal. It works for that, sure, but it's missing some important things that would make it the best... such as x/y/zmodem support. But it's also missing more basic things like actually opening a serial port as an endpoint. This is a popular community request, but it is by no means the most popular one. Once we're through with the more important foundational ones, we'll be better equipped to tackle this one. For now, I'm going to lock the thread. It's been open for a while and the new replies haven't really cleared up the specific requirements for data exchange protocols here, so it'll serve the community better as an upvote aggregator rather than an open-ended discussion about how we just don't have it yet. 😄 (Edited after the fact to add!) This is one place where we would really benefit from community contribution! Terminal _could_ be the best serial terminal on Windows, but we're too far off the mark there. I would love to understand the use cases and the needs over in the Discussions section :smile: it's just not appropriate to have this discussion on a thread with 39+ participants and an untold number of subscribers.
Author
Owner

@lonnywong commented on GitHub (Nov 28, 2023):

For anyone stuck on using lrzsz ( rz / sz ) in Windows Terminal #1999. You can try trzsz ( trz / tsz ).

It is recommended to use trzsz-ssh ( tssh ):

# Install trzsz-ssh ( tssh ) in Windows Terminal
scoop install tssh / winget install tssh / choco install tssh

# Log in to the remote server using tssh. It works similar to ssh.
tssh remote_server

# Install trzsz-go on the remote server. Please check https://trzsz.github.io/go
yay -S trzsz / sudo apt install trzsz / sudo yum install trzsz / etc...

# Upload files like rz
trz

# Upload directories
trz -r

# Download files like sz
tsz file
tsz /path/to/file

# Download directories
tsz -r dir
tsz -r /path/to/dir

trzsz-ssh ( tssh ) v0.1.15 supports zmodem lrzsz ( rz / sz ):

# Install trzsz-ssh ( tssh ) in Windows Terminal
scoop install tssh / winget install tssh / choco install tssh

# Install lrzsz ( rz / sz ) on local Windows, or download from https://github.com/trzsz/lrzsz-win32/releases and add it to PATH
scoop install lrzsz / choco install lrzsz

# `tssh -V` should show "trzsz ssh 0.1.15"
tssh -V

# Add the following configuration to C:\Users\xxx\.ssh\config
Host *
    #!! EnableZmodem Yes

# Log in to the remote server using tssh. It works similar to ssh.
tssh remote_server

# Now you can use rz / sz
rz
sz xxx
@lonnywong commented on GitHub (Nov 28, 2023): For anyone stuck on using `lrzsz ( rz / sz )` in Windows Terminal #1999. You can try [`trzsz ( trz / tsz )`](https://trzsz.github.io/go). It is recommended to use [`trzsz-ssh ( tssh )`](https://trzsz.github.io/ssh): ```sh # Install trzsz-ssh ( tssh ) in Windows Terminal scoop install tssh / winget install tssh / choco install tssh # Log in to the remote server using tssh. It works similar to ssh. tssh remote_server # Install trzsz-go on the remote server. Please check https://trzsz.github.io/go yay -S trzsz / sudo apt install trzsz / sudo yum install trzsz / etc... # Upload files like rz trz # Upload directories trz -r # Download files like sz tsz file tsz /path/to/file # Download directories tsz -r dir tsz -r /path/to/dir ``` [`trzsz-ssh ( tssh )`](https://trzsz.github.io/ssh) `v0.1.15` supports zmodem `lrzsz ( rz / sz )`: ```sh # Install trzsz-ssh ( tssh ) in Windows Terminal scoop install tssh / winget install tssh / choco install tssh # Install lrzsz ( rz / sz ) on local Windows, or download from https://github.com/trzsz/lrzsz-win32/releases and add it to PATH scoop install lrzsz / choco install lrzsz # `tssh -V` should show "trzsz ssh 0.1.15" tssh -V # Add the following configuration to C:\Users\xxx\.ssh\config Host * #!! EnableZmodem Yes # Log in to the remote server using tssh. It works similar to ssh. tssh remote_server # Now you can use rz / sz rz sz xxx ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#2806