fowl: Forward Over Wormhole, Locally¶
fowl is a tool that utilizes Magic Wormhole and its Dilation feature to forward arbitrary TCP streams over an easy-to-setup yet secure and human-mediated connection.
Peers communicate to each other over an end-to-end encrypted connection, and can use client-type or server-type network services from each side.
Permitted services and ports are based on consent of each peer.
There are no logins, no identities and the server can’t see content because everything is end-to-end (E2E) encrypted between exactly two peers. Additionally, the server is usually not involved in the “bulk transport” of bytes at all as the protocol prefers P2P connections.
Conceptually, this is somewhat similar to ssh -R and ssh -L except without pre-shared or long-term secrets.
Unlike ssh, reconnection is invisible to the forwarded applications.
Sound interesting? Read on!
Documentation: fowl.readthedocs.io
Source code: github.com/meejah/fowl
Releases: pypi.org/project/fowl
- Forward over Wormhole, Locally (fowl)
- API
- Command-Line Usage
fowlUsagefowldUsagefowl --interactiveUsage- The
fowldFrontend Protocol- The
"kind"Key - Input:
kind: allocate-code - Input:
kind: set-code - Input:
kind: local - Input:
kind: remote - Input:
kind: session-close - Output:
kind: listening - Output:
kind: error - Output:
kind: welcome - Output:
kind: code-allocated - Output:
kind: peer-connected - Output:
kind: bytes-in - Output:
kind: bytes-out - Output:
kind: local-connection - Output:
kind: incoming-connection
- The
- Dilation Application Protocol