Skip to content

Latest commit

 

History

History
80 lines (57 loc) · 3.41 KB

README.md

File metadata and controls

80 lines (57 loc) · 3.41 KB


Airshare

Airshare

PyPI PyPI - Python Version PyPI - License Documentation Status

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 the tqdm documentation for more details.

  • Using Ctrl + C on Windows, with Python < 3.8, does not terminate the asyncio event loop. Use Ctrl + Break instead. If you do not have a Break or Pause key, some other combinations may work including Ctrl + 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.