hwormhole
is a haskell version of Brian Warner's magic-wormhole file
transfer program (also called wormhole
) that uses the SPAKE2 based wormhole
protocol. Magic-wormhole allows the user to securely transfer a file from
one computer to another, anywhere in the world. This program interoperates
with the Python implementation of magic-wormhole program. We support transferring
short text messages, files and directories. If the user has tor
or Tor Browser
installed, then magic-wormhole can be instructed to use the tor connection in order
to protect the IP/Port addresses of the users.
You will need cabal-install
version 2.2 or above that supports the new-*
commands.
git clone https://github.com/LeastAuthority/wormhole-client
and
cd wormhole-client
cabal new-build hwormhole
cabal new-test hwormhole
cabal new-run hwormhole:hwormhole-exe -- send --text foobar
cabal new-run hwormhole:hwormhole-exe -- send /path/to/foobar.txt
cabal new-run hwormhole:hwormhole-exe -- receive
There is a --help
command. It works for subcommands as well.
- Download
libsodium
[pre-built library]. - Install Visual Studio 2015 redistributable to install
vcruntime140.dll
needed bylibsodium.dll
. - On a command line shell (assuming
ghc
andcabal-install
are installed and are already in thePATH
),set LIBRARY_PATH=C:\path\to\dir\containing\libsodium.dll\
- Now, follow the steps above for Unix.
Please check the Changelog.md
file for the latest changes.
We welcome all kinds of contributions (bug fixes, new features, documentation, tests etc). Please send them as github pull requests.
Support "dilated wormholes" when it becomes available in the upstream.
This is my dig at creating a "production" haskell application. I welcome all kinds
of feedback. My email ID can be found in the hwormhole.cabal
file in the maintainer
field or from my github page. I also hang out on the IRC at #magic-wormhole
on freenode with handle rkrishnan
.
We wish to thank NLnet Foundation for a grant that enabled us to work on this project.