Airshare - Cross-platform Content Sharing In A Local Network
Airshare is a Python-based CLI tool and module that lets you transfer data between two machines in a local network, P2P, using Multicast-DNS. It also opens an HTTP gateway for other non-CLI external interfaces. It works completely offline! Built with aiohttp and zeroconf. Checkout the demo.
Features
- Blazing fast content transfer within a local network.
- Lets you transfer plain text, send from or receive into your clipboard.
- Supports transfer of multiple files, directories and large files - content is sent chunk by chunk and never read into memory entirely.
- Lets you send files whose paths have been copied into the clipboard (more details in the docs).
- Cross-platform, works on Linux, Windows and Mac (CLI and Web Interface), and also supports mobile (Web Interface).
- Uses Multicast-DNS service registration and discovery - so you can access content with human-readable code words.
- Can be used as a module in other Python programs.
Important Links
Source Code: https://github.com/KuroLabs/Airshare
Bug Reports: https://github.com/KuroLabs/Airshare/issues
Documentation: https://airshare.rtfd.io
PyPI: https://pypi.org/project/Airshare
Installation
pip
$ pip install Airshare
pipx
$ pipx install Airshare
Homebrew
$ brew install airshare
Example
Send and receive files and directories.
To send using the CLI,
$ airshare noobmaster requirements.txt
$ airshare noobmaster
http://noobmaster.local:8000
in the browser to download.You can also
import airshare
in any Python program. Visit the documentation for detailed usage instructions.Known Issues
- Link-local Name Resolution (for the
.local
addresses) on non-Apple devices requires Avahi (on Linux) or Bonjour (on Windows). Chances are you already have them, but if you don't, do check the web on how to install them.
- Android browsers do not have inbuilt Multicast-DNS service discovery, and cannot resolve the
.local
addresses. For this reason, we included QR Code support, for you to visit the URLs easily.
- Windows users with Python < 3.8, use Ctrl + Break to quit, as Ctrl + C will not work. This is a known issue with
asyncio
, which has been fixed in Python 3.8. If you do not have a Break key, try using Ctrl + Fn + B, or check the web for other alternatives (depending on your PC).
Airshare - Cross-platform Content Sharing In A Local Network
Reviewed by Zion3R
on
8:30 AM
Rating: