{"id":15297384,"url":"https://github.com/kurolabs/airshare","last_synced_at":"2025-05-16T04:01:17.290Z","repository":{"id":50351722,"uuid":"257731329","full_name":"KuroLabs/Airshare","owner":"KuroLabs","description":"Cross-platform content sharing in a local network","archived":false,"fork":false,"pushed_at":"2023-10-15T05:20:31.000Z","size":10411,"stargazers_count":650,"open_issues_count":10,"forks_count":42,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-08T14:08:43.856Z","etag":null,"topics":["cli","cross-platform","data-sharing","data-transfer","file-sharing","file-transfer","module","multicast-dns","networking","python","python3","utilities","web-interface","zeroconf"],"latest_commit_sha":null,"homepage":"https://airshare.rtfd.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KuroLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-04-21T22:33:50.000Z","updated_at":"2025-04-08T13:16:52.000Z","dependencies_parsed_at":"2024-01-16T18:23:35.826Z","dependency_job_id":null,"html_url":"https://github.com/KuroLabs/Airshare","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KuroLabs%2FAirshare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KuroLabs%2FAirshare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KuroLabs%2FAirshare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KuroLabs%2FAirshare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KuroLabs","download_url":"https://codeload.github.com/KuroLabs/Airshare/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464891,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cross-platform","data-sharing","data-transfer","file-sharing","file-transfer","module","multicast-dns","networking","python","python3","utilities","web-interface","zeroconf"],"created_at":"2024-09-30T19:17:01.188Z","updated_at":"2025-05-16T04:01:12.240Z","avatar_url":"https://github.com/KuroLabs.png","language":"HTML","readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/KuroLabs/Airshare/master/assets/Airshare.svg\" alt=\"Airshare\" width=\"100\"\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  \u003cspan\u003eAirshare\u003c/span\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://pypi.org/project/Airshare\"\u003e\n    \u003cimg alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/Airshare\" /\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://pypi.org/project/Airshare\"\u003e\n    \u003cimg alt=\"PyPI\" src=\"https://static.pepy.tech/badge/airshare\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/Airshare\"\u003e\n    \u003cimg alt=\"PyPI - Python Version\" src=\"https://img.shields.io/pypi/pyversions/Airshare\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/KuroLabs/Airshare/blob/master/LICENSE.md\"\u003e\n    \u003cimg alt=\"PyPI - License\" src=\"https://img.shields.io/pypi/l/Airshare\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://airshare.readthedocs.io/en/latest/?badge=latest\"\u003e\n    \u003cimg src=\"https://readthedocs.org/projects/airshare/badge/?version=latest\" alt=\"Documentation Status\" /\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eCross-platform content sharing in a local network.\u003c/h4\u003e\n\n\u003cp align=\"justify\"\u003e\u003cb\u003eAirshare\u003c/b\u003e 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 \u003ca href=\"https://www.youtube.com/watch?v=iJH6bkLRdSw\"\u003edemo\u003c/a\u003e.\u003c/p\u003e\n\n## Features\n\n* Blazing fast content transfer within a local network.\n\n* Lets you transfer plain text, send from or receive into your clipboard.\n\n* Supports transfer of multiple files, directories and large files - content is sent chunk by chunk and never read into memory entirely.\n\n* Lets you send files whose paths have been copied into the clipboard (more details in the docs).\n\n* Cross-platform, works on Linux, Windows and Mac (CLI and Web Interface), and also supports mobile (Web Interface).\n\n* Uses Multicast-DNS service registration and discovery - so you can access content with human-readable code words.\n\n* Can be used as a module in other Python programs.\n\n![Airshare Demo](assets/Airshare.gif)\n\n## Important Links\n\nSource Code: https://github.com/KuroLabs/Airshare \u003cbr\u003e\nBug Reports: https://github.com/KuroLabs/Airshare/issues \u003cbr\u003e\nDocumentation: https://airshare.rtfd.io \u003cbr\u003e\nPyPI: https://pypi.org/project/Airshare \u003cbr\u003e\n\n## Installation\n\n### [pip](https://pip.pypa.io/en/stable/)\n\n```bash\n$ pip install Airshare\n```\n\n### [pipx](https://pipxproject.github.io/pipx/)\n\n```bash\n$ pipx install Airshare\n```\n\n### [Homebrew](https://brew.sh)\n\n```bash\n$ brew install airshare\n```\n\n## Example\n\nSend and receive files and directories.\n\nTo send using the CLI,\n\n```bash\n$ airshare noobmaster requirements.txt\n```\nTo receive using the CLI,\n\n```bash\n$ airshare noobmaster\n```\n\nor visit `http://noobmaster.local:8000` in the browser to download.\n\nYou can also `import airshare` in any Python program. Visit the documentation for detailed usage instructions.\n\n## Known Issues\n\n* 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.\n\n* 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.\n\n* Windows users with Python \u003c 3.8, use \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eBreak\u003c/kbd\u003e to quit, as \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e will not work. This is a known issue with `asyncio`, which has been fixed in Python 3.8. If you do not have a \u003ckbd\u003eBreak\u003c/kbd\u003e key, try using \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eFn\u003c/kbd\u003e + \u003ckbd\u003eB\u003c/kbd\u003e, or check the web for other alternatives (depending on your PC).\n\n## Contributing\n\nContributions are welcome! Read our [Contribution Guide](https://github.com/KuroLabs/Airshare/blob/master/CONTRIBUTING.md) for more details.\n\n## License\n\n[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)\n\n## Acknowledgements\n\nThe Airshare logo was designed by [Siddique](https://dribbble.com/thesideeq).\n\nThe Airshare GIF was created by [Anam Saatvik](https://github.com/kalki7).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurolabs%2Fairshare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkurolabs%2Fairshare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurolabs%2Fairshare/lists"}