mobile-shell / mobile-shell/mosh

zmodem file transfer doesn't work over mosh

Open
#1,184 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
C++
Stars
14.5k
Forks
865
PR merge metrics
No merged PRs in 30d

Description

sz/rz commands don't work through mosh and it would be nice if they could.

consider the following use-case:

$ screen      # on local laptop,

press ^a then enter :zmodem catch to enable zmodem receive on the laptop.

(screen)$ mosh host1

host1$ ssh host2

host2$ sz file.c

i think support could be easier than other byte-oriented protocols, because:

  1. zmodem frames are very easy to recognise (in the terminal parser and keyboard input)
  2. zmodem frames are small (1k in traditional; 8k in lszrz a popular zmodem implementation), so they fit inside (fragmented) a udp packet and if packets are lost, zmodem can shrink the window
  3. zmodem retries automatically, so packet delivery isn't required

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the terminal parser and keyboard-input paths mentioned in the issue, along with how mosh handles the nested ssh host2 session. Use the screen/mosh/ssh/sz file.c example as the acceptance case; done means zmodem transfer works through mosh, including fragmented or lost packets.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.