mobile-shell / mobile-shell/mosh
Streamline server install from client connection
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 14.5k
- Forks
- 865
- PR merge metrics
- No merged PRs in 30d
Description
Scenario:
User has the mosh client installed and wants to connect with it to a server that doesn't have mosh-server installed. Furthermore, user doesn't have admin privileges on server.
Desired:
running 'mosh server-location" looks for the mosh-server binary. If none found, it prompts the user to install mosh on the server locally. Then the mosh-server binary for the current architecture is downloaded and stored locally (say "/.mosh/mosh-server" or "/.local/share/mosh/mosh-server") and mosh-server is started.
Current:
To install a workaround is needed which is a huge pain.
Workaround (all plaforms):
Connect through ssh.
Install mosh locally on the server:
Get all dependencies (ain't happening.. not without admin):
Protocol Buffers protobuf-compiler, libprotobuf-dev
Boost libboost-dev
utempter libutempter-dev
ncurses libncurses5-dev
zlib zlib1g-dev
IO::Pty Perl module libio-pty-perl
$ wget https://github.com/downloads/keithw/mosh/mosh-1.1.3.tar.gz
$ tar -zxvf mosh-1.1.3.tar.gz
$ cd mosh-1.1.3
$ ./configure
$ make
(mosh-server is in .src/frontend/make-server)
exit
mosh --sever=/path/to/mosh-server server-location
Workaround Ubuntu 11.10 (or for other distributions go to https://launchpad.net/~keithw/+archive/mosh/+packages and wget the correct .deb distribution package):
Connect through ssh.
$ wget https://launchpad.net/~keithw/+archive/mosh/+files/mosh_1.1.3-0~585~oneiric1_amd64.deb
$ ar -vx /mosh_1.1.3-0585oneiric1_amd64.deb
$ tar -zxvf data.tar.gz
$ cp /usr/bin/mosh-server .
$ exit
mosh --sever=/path/to/mosh-server server-location
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named. Start by tracing the client connection path and the existing --server handling for mosh-server, then determine how local installation, architecture selection, downloading, storage, prompting, and startup would fit together. Done means a client can detect a missing server, install it without administrator privileges, and connect using the locally stored binary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100