Hello everyone!
There are three Big Unsolved Problems in computing:
- Naming Things
- Printing
- Getting a File From One Computer To The Other.
Of those, the last one is being tackled by a technology called Magic Wormhole.
Wormhole allows secure, encrypted, peer-to-peer, private[1] file transfer from one device to the next. It doesn’t require an account or registering with any kind of service.
You can read about Magic Wormhole here.
I am developing a native client for Sailfish OS:
Mælstrøm
a Magic Wormhole client for Sailfish OS
Based on QML and the upstream Python library, you can now leverage the power of the Wormhole on your Sailfish OS phone.
Supported Features: (at the time of this post)
- Sending Text messages
- Sending Files
- Receiving Text messages
- Receiving Files
- Sailfish Share integration
- QR Code creation
and scanning
See Releases for change logs and updates.
Planned Features:
- Sailfish OS-only mode: only share files between users of Mælstrøm
- Allow usage of alternative or self-hosted server instances
Watch the Milestones for updates.
Feel free to request more.
Bugs/Issues:
Plenty, probably. Do create some of your own!!
Hacking:
Pull requests of any kind are always welcome.
Especially in the Python space, I am not a Parselmouth and hitting problems all the time with Async IO/Twisted/React, in combination with PyOtherSide.
This results in rather fragile, clueless, clumsy implementation efforts.
Also, if someone has a good way of trimming down the python dependencies while staying harbour-compatible, please come forward!
More information:
- The Magic-Wormhole Ecosystem — Magic-Wormhole 0.22.0+1.gd518442 documentation
- Wormhole | F-Droid - Free and Open Source Android App Repository
- Destiny | F-Droid - Free and Open Source Android App Repository
- Wormhole William - IzzyOnDroid F-Droid Repository
- Packages: will be available in Harbour (Jolla Store) once released.
- Alpha-grade packages for testing on OBS.
- Source Code: at Codeberg. Languages used: very bad QML, very bad Javascript, terrible Python
Please see the upstream docs for details on privacy and which services receive which information ↩︎