Skip to main content

An easy way to share content in a local network.

Project description


Airshare

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.

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

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. For this reason, we included QR Code support, for you to visit the URLs easily.

  • You may have to open up port 80 on your system (in Firewall settings) if not already open - Airshare uses port 80 by default.

  • 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.

  • 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.

Source Distribution

Airshare-0.1.3.tar.gz (38.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Airshare-0.1.3-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

File details

Details for the file Airshare-0.1.3.tar.gz.

File metadata

  • Download URL: Airshare-0.1.3.tar.gz
  • Upload date:
  • Size: 38.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

File hashes

Hashes for Airshare-0.1.3.tar.gz
Algorithm Hash digest
SHA256 eb98accae822548cbd9306a5c9c05feb71b94a18f6202cd69ff30a4a2cdfefbf
MD5 97f04dace12a945f48bed29317fea607
BLAKE2b-256 d5b9a328c364ae322c79303f94dd610eca70822e943072840b6d1ac2f2d8e52d

See more details on using hashes here.

File details

Details for the file Airshare-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: Airshare-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 45.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

File hashes

Hashes for Airshare-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9b78cc6367bc8d6fa651a29ed739baf1e5edb3d719e062dff8c88212eebb703b
MD5 04b7b311dfcd4f5a1daaa1939ab68602
BLAKE2b-256 0225e342a9b9025be251007c4bd32bcdc70e55a870e4ef4e16c05bf8c0e5d731

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page