Skip to main content

Encrypted, peer-to-peer terminal sharing for two people.

Project description

SHell WIth Me lets a “host” share their terminal with a “guest” peer on another computer.

This combines the cryptography of Magic Wormhole (via Fowl) and the terminal-sharing of tty-share into a secure, end-to-end encrypted, peer-to-peer terminal sharing application.

the ShWiM logo, the chicken head from Fowl's logo peeking out of a conch-looking shell

Getting Started

To install, use pip install shwim (see longer instructions below). This should enable you to run shwim --help.

The Host computer runs shwim by itself, producing a <magic-code>. The Guest computer runs shwim <magic-code>.

You are now sharing a single terminal running on “host”. Beware: the guest can type, run commands, etc. so only do this with humans you would hand your local keyboard over to.

The Host may pass --read-only to ignore input from the Guest.

The ShWiM terminal UI running, showing a connection to the mailbox server, generated code but no peer yet

Slightly Longer Explanation

Once the two things happen (i.e. “shwim” on the host and “shwim ” on the guest), there is a secure tunnel between both computers. The host will decide a random port and run tty-share as a server; the guest will run tty-share as a client.

On both computers, tty-share will be running as a subprocess with correct options to do networking via Magic Wormhole only. All raw-mode terminal I/O is forwarded to this tty-share process so things like curses etc work as expected.

Once either side exits, the networking forwarding is done – there is no long-term credential sharing or any other network set preserved or altered on the “host” nor “guest” computers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shwim-26.2.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shwim-26.2.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file shwim-26.2.0.tar.gz.

File metadata

  • Download URL: shwim-26.2.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for shwim-26.2.0.tar.gz
Algorithm Hash digest
SHA256 17f5c1f97dbf8459a879d7fd55c6812f120ab0aafdb6b4436c67de8cbecb5cbf
MD5 b4145061a47b0cc85f67b8317163c7dc
BLAKE2b-256 35130e3b9ee2dfa5a370b6aef4f84d222c4b1f2566c3f7ac23c5776b47a1fa23

See more details on using hashes here.

File details

Details for the file shwim-26.2.0-py3-none-any.whl.

File metadata

  • Download URL: shwim-26.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for shwim-26.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0792287f4bcacd97a02ff86bcd13a557c5cb50399530f8372a32bd4730fa875
MD5 9f793594ab7d563cc35d6f778501c4b5
BLAKE2b-256 6c221ec4c240da2a5b1b4c3683c968a34e0895a7b6be63ca0fb24e00f0b36704

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page