Skip to main content

ShWiM

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.

Metadata

Release files for shwim 26.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shwim 26.8.0
File Size Uploaded
shwim-26.8.0.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for shwim 26.8.0
File Interpreter ABI Platform
shwim-26.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.1 kB

Release files / shwim-26.8.0.tar.gz

Download URL shwim-26.8.0.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
08fd4f0bbdd705bfd3f57e91aa0d37c209a44f5241d0fe1c5d89a45e46e63fac
BLAKE2b-256 checksum
How to use checksums
e5ab3ceccd0f06aac75635fc6f44b893d1764f2af3b5960e69d02ad9f0238974
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / shwim-26.8.0-py3-none-any.whl

Download URL shwim-26.8.0-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51365f133f33dda2f3c5286a87365275651b5579197ff6a42211ed34e4898e44
BLAKE2b-256 checksum
How to use checksums
bc2d65ee739b53a409527f362cda5258bb23b3ce110e1e9fb0c6fa92bcf0112f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

26.8.0 This release

2 release files

25.9.0

2 release files

25.7.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page