Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/KuroLabs/Airshare
Cross-platform content sharing in a local network
https://github.com/KuroLabs/Airshare
cli cross-platform data-sharing data-transfer file-sharing file-transfer module multicast-dns networking python python3 utilities web-interface zeroconf
Last synced: 10 days ago
JSON representation
Cross-platform content sharing in a local network
- Host: GitHub
- URL: https://github.com/KuroLabs/Airshare
- Owner: KuroLabs
- License: other
- Created: 2020-04-21T22:33:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-15T05:20:31.000Z (about 1 year ago)
- Last Synced: 2024-10-15T03:21:48.566Z (29 days ago)
- Topics: cli, cross-platform, data-sharing, data-transfer, file-sharing, file-transfer, module, multicast-dns, networking, python, python3, utilities, web-interface, zeroconf
- Language: HTML
- Homepage: https://airshare.rtfd.io
- Size: 9.93 MB
- Stars: 645
- Watchers: 19
- Forks: 42
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
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. 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.
![Airshare Demo](assets/Airshare.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
### [pip](https://pip.pypa.io/en/stable/)
```bash
$ pip install Airshare
```### [pipx](https://pipxproject.github.io/pipx/)
```bash
$ pipx install Airshare
```### [Homebrew](https://brew.sh)
```bash
$ brew install airshare
```## Example
Send and receive files and directories.
To send using the CLI,
```bash
$ airshare noobmaster requirements.txt
```
To receive using the CLI,```bash
$ 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
Contributions are welcome! Read our [Contribution Guide](https://github.com/KuroLabs/Airshare/blob/master/CONTRIBUTING.md) for more details.
## License
[MIT](https://github.com/KuroLabs/Airshare/blob/master/LICENSE.md) - Copyright (c) 2020 [Kandavel A](http://github.com/AK5123), [Mohanasundar M](https://github.com/mohanpierce99), [Nanda H Krishna](https://github.com/nandahkrishna)
## Acknowledgements
The Airshare logo was designed by [Siddique](https://dribbble.com/thesideeq).
The Airshare GIF was created by [Anam Saatvik](https://github.com/kalki7).