15

Airshare - Transfer files over WiFi back and forth all devices from your termina...

 4 years ago
source link: https://github.com/kurolabs/airshare
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

AzYFz2r.png!webAirshare

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.

QRFbuuM.gif

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.

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK