An easy way to share content in a local network.
Project description
Airshare
An easy way to share content in a local network using Multicast-DNS.
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.
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
Use the package manager pip to install Airshare.
$ pip install Airshare
If you have a non-Apple device, consider installing Avahi (for Linux) or Bonjour (for Windows) if you'd like to use Link-local Name Resolution (for the .local
addresses).
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
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. -
Link-local Name Resolution does not work on Android phones. This is because Android browsers do not have inbuilt Multicast-DNS service discovery.
-
Multiple progress bars for concurrent file uploads using
tqdm
may not work as intended on some terminals, refer to thetqdm
documentation for more details. -
Using
Ctrl
+C
on Windows, with Python < 3.8, does not terminate theasyncio
event loop. UseCtrl
+Break
instead. If you do not have aBreak
orPause
key, some other combinations may work includingCtrl
+Fn
+B
(check the web for solutions).
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.