{"id":28591260,"url":"https://github.com/sameerasw/airsyncmac","last_synced_at":"2025-07-10T08:40:02.000Z","repository":{"id":293479826,"uuid":"984116700","full_name":"sameerasw/AirSyncMac","owner":"sameerasw","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-15T14:11:12.000Z","size":537,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T15:29:08.195Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sameerasw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-15T12:25:22.000Z","updated_at":"2025-05-15T14:54:49.000Z","dependencies_parsed_at":"2025-05-15T15:39:43.747Z","dependency_job_id":null,"html_url":"https://github.com/sameerasw/AirSyncMac","commit_stats":null,"previous_names":["sameerasw/airsyncmac"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2FAirSyncMac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2FAirSyncMac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2FAirSyncMac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2FAirSyncMac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sameerasw","download_url":"https://codeload.github.com/sameerasw/AirSyncMac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameerasw%2FAirSyncMac/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259236394,"owners_count":22826309,"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":[],"created_at":"2025-06-11T09:14:14.746Z","updated_at":"2025-06-11T09:14:20.545Z","avatar_url":"https://github.com/sameerasw.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AirSync (macOS Client)  \n\n*Sync Android notifications to your Mac and share your clipboard seamlessly between devices.*\n\n---\n\n## Table of Contents\n\n- [About](#about)\n- [Features](#features)\n- [Architecture Overview](#architecture-overview)\n- [Screenshots](#screenshots)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n  - [Building from Source](#build-from-source)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [Security \u0026 Privacy](#security--privacy)\n- [Troubleshooting \u0026 FAQ](#troubleshooting--faq)\n- [Contributing](#contributing)\n- [Roadmap](#roadmap)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n- [Contact](#contact)\n\n---\n\n## About\n\n**AirSync** for macOS is the companion desktop application to [AirSync for Android](https://github.com/sameerasw/AirSync).  \nIt enables:\n\n- Real-time mirroring of Android notifications to your Mac desktop.\n- Bi-directional clipboard sharing between Android and macOS.\n- A workflow for users who work across Android and Mac devices also mized with scrcpy.\n\nAirSync Mac is designed for functionality, speed, and a native macOS experience and also to learn SwiftUI :3 .\n\n---\n\n## Features\n\n- 🖥️ **Notification Mirroring:** Receive and interact with Android notifications on your Mac.\n- 📋 **Clipboard Sync:** Copy text or images on one device to instantly share with the other.\n- ⚡ **Native Experience:** Built entirely with Swift and SwiftUI for smooth integration.\n- 🛡️ **No Cloud, No 3rd Party:** Direct LAN-only communication, no remote servers bs because I don't knwo how to.\n\n---\n\n## Architecture Overview\n\n- **Language:** Swift (100%)\n- **Platform:** macOS (10.15+ recommended)\n- **Communication:** TCP over LAN\n- **Core Components:**\n  - Background service for notification reception\n  - Notification UI integration (macOS Notification Center)\n- **Companion App:** [AirSync for Android](https://github.com/sameerasw/AirSync)\n\n---\n\n## Screenshots\n\n\u003c!-- Replace with your actual screenshots --\u003e\n\u003cp align=\"center\"\u003e\n\n  ![CleanShot 2025-05-15 at 11  24 37@2x](https://github.com/user-attachments/assets/bf8983fe-42df-4653-823e-c5168b5ad99f)\n  \n\u003c/p\u003e\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- macOS 10.15 (Catalina) or higher, actually I'm not sure\n- [AirSync for Android](https://github.com/sameerasw/AirSync) installed on your Android device\n- Both devices on the same Wi-Fi network\n- scrcpy installed via brew - If you want scrcpy to open the device screen mirroring, this is experimental\n\n### Installation\n\n#### Download\n\nGet [from releases](https://github.com/sameerasw/AirSyncMac/releases/latest).\n\n#### Build from Source\n\n1. **Clone the repository**\n    ```sh\n    git clone https://github.com/sameerasw/AirSyncMac.git\n    cd AirSyncMac\n    ```\n2. **Open in Xcode**\n    - Double-click `AirSyncMac.xcodeproj`\n3. **Build and Run**\n    - Select your target and run the app (⌘R)\n\n##### Permissions Required\n\n- **Local Network Access:** For device discovery and communication.\n- **Notifications:** To display mirrored notifications.\n- **Clipboard Access:** To enable clipboard sync.\n- **Sandboxing is disabled** to call external shell scripts like scrcpy.\n\n---\n\n## Configuration\n\nFirst you need to run the below command to allow the app to be executed because I got no paid Apple developer account so it's not universally signed and sanitized.\n\n```sh\nxattr -d com.apple.quarantine /Applications/AirSyncMac.app\n```\n\n1. **Initial Setup:**  \n   - Launch AirSyncMac.\n   - Allow network and show notification permissions as prompted.\n   - Ensure your Android app is open and both devices are on the same network.\n\n2. **Pairing Devices:**  \n   - Enter the IP and the port displayed on the Android device when the server is running.\n   - Once connected, you will be notified.\n\n3. **Preferences:**  \n   - Not much.\n   - App will stay in the menubar when closed unless you quit.\n\n---\n\n## Usage\n\n- **Notifications:**  \n  - Android notifications will appear in your Mac’s Notification Center.\n  - You can configure their importance and visibility in system settings.\n  - Viewing the notification will launch scrcpy in a virtual screen fo Android with the target app opened.\n\n- **Clipboard:**  \n  - Text sent by the Android client will be copied to the clipboard automatically.\n  - You can easily send what's on the clipboard or a custom text.\n\n---\n\n## Security \u0026 Privacy\n\n- **End-to-End Encryption:** nah, nothing\n- **LAN Only:** Data never leaves your local network.\n- **No Analytics:** No telemetry, analytics, or data collection. I mean why?\n- **Open Source:** Review the code for full transparency.\n\n---\n\n## Troubleshooting \u0026 FAQ\n\n- **Not Connecting?**\n    - Check that both devices are on the same network.\n    - Make sure local network permissions are granted in macOS System Preferences or when popped up.\n    - Make sure the IP and port are correct.\n    - Make sure nto filtered by the firewall.\n    - VPN usage may affect the connection.\n- **Notifications not showing?**\n    - Ensure show notification settings are enabled.\n- **Pairing fails?**\n    - Retry pairing; restart both apps if needed.\n\n\u003e For more help, please open an [issue](https://github.com/sameerasw/AirSyncMac/issues).\n\n---\n\n## Contributing\n\nContributions are welcome!  \nSee [CONTRIBUTING.md](CONTRIBUTING.md) (not an actual thing yet) for guidelines.\n\n- Fork the repo\n- Create a feature branch (`git checkout -b feature/YourFeature`)\n- Commit your changes\n- Open a pull request\n\n---\n\n## Roadmap\n\n- [ ] Actionable notifications (reply, dismiss from Mac)\n- [x] Multi-device support (untested, for multiple mac clients for the same device)\n- [ ] UI improvements\n- [ ] Automatic clipboard\n- [ ] Improved menubar menu\n\n---\n\n## License\n\n[MIT](LICENSE)\n\n---\n\n## Acknowledgements\n\n- Swift, SwiftUI, and Apple developer tools\n- [AirSync for Android](https://github.com/sameerasw/AirSync)\n- Vibe coded the basics, It's my first Swift app so it helped to learn\n\n---\n\n## Contact\n\n- **Author:** [sameerasw.com](https://www.sameerasw.com) putanythinghere@sameerasw.com\n- **Issues \u0026 Feedback:** [GitHub Issues](https://github.com/sameerasw/AirSyncMac/issues)\n- **Android Client:** [AirSync for Android](https://github.com/sameerasw/AirSync)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameerasw%2Fairsyncmac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsameerasw%2Fairsyncmac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameerasw%2Fairsyncmac/lists"}