Cross-platform content sharing in a local network.
Project description
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.
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 chun$
-
Lets you send files whose paths have been copied into the clipboard (more details in th$
-
Cross-platform, works on Linux, Windows and Mac (CLI and Web Interface), and also suppo$
-
Uses Multicast-DNS service registration and discovery - so you can access content with $
-
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
- Install using
pip
$ pip install Airshare
- Install using
pipx
$ pipx install Airshare
- Install using Homebrew
$ brew install airshare
Example
Send and receive files and directories.
To send using the CLI,
$ airshare noobmaster requirements.txt
To receive using the CLI,
$ airshare noobmaster
or visit 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).
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
MIT - Copyright (c) 2020 Kandavel A, Mohanasundar M, Nanda H Krishna
Acknowledgements
The Airshare logo was designed by Siddique.
The Airshare GIF was created by Anam Saatvik.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.