{"id":13549493,"url":"https://github.com/simonbengtsson/airdash","last_synced_at":"2025-10-09T06:10:24.458Z","repository":{"id":49404001,"uuid":"517636103","full_name":"simonbengtsson/airdash","owner":"simonbengtsson","description":"File sharing flutter webrtc app enabling sending files to any device from anywhere","archived":false,"fork":false,"pushed_at":"2025-01-20T23:44:05.000Z","size":5385,"stargazers_count":607,"open_issues_count":17,"forks_count":121,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-05-29T13:25:13.895Z","etag":null,"topics":["app-store-connect","file-sharing","file-transfer","firebase-firestore","firebase-functions","flutter","flutter-app","flutter-apps","flutter-ci","flutter-desktop","peer-to-peer","production-app","webrtc","webrtc-signaling"],"latest_commit_sha":null,"homepage":"https://airdash-project.web.app","language":"Dart","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/simonbengtsson.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2022-07-25T11:24:41.000Z","updated_at":"2025-05-27T15:51:29.000Z","dependencies_parsed_at":"2024-01-13T16:21:03.563Z","dependency_job_id":"a22bf0d0-360c-4194-b77e-445cd11d4930","html_url":"https://github.com/simonbengtsson/airdash","commit_stats":{"total_commits":247,"total_committers":4,"mean_commits":61.75,"dds":"0.20647773279352222","last_synced_commit":"427600d6d2218e2699239e2e2ca9dbb8974c619a"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/simonbengtsson/airdash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonbengtsson%2Fairdash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonbengtsson%2Fairdash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonbengtsson%2Fairdash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonbengtsson%2Fairdash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonbengtsson","download_url":"https://codeload.github.com/simonbengtsson/airdash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonbengtsson%2Fairdash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000853,"owners_count":26082950,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["app-store-connect","file-sharing","file-transfer","firebase-firestore","firebase-functions","flutter","flutter-app","flutter-apps","flutter-ci","flutter-desktop","peer-to-peer","production-app","webrtc","webrtc-signaling"],"created_at":"2024-08-01T12:01:22.374Z","updated_at":"2025-10-09T06:10:24.423Z","avatar_url":"https://github.com/simonbengtsson.png","language":"Dart","funding_links":[],"categories":["Dart","webrtc","Misc","Uncategorized","File"],"sub_categories":["Flutter","Uncategorized","Widget"],"readme":"# AirDash File Sharing\n\nTransfer photos and files to any device.\n\n### Get the app\n\n- [Apple App Store (iOS \u0026 macOS)](https://apps.apple.com/se/app/airdash-file-sharing/id1596599922)\n- [Homebrew (macOS)](https://formulae.brew.sh/cask/airdash)\n- [Google Play (Android)](https://play.google.com/store/apps/details?id=io.flown.airdash)\n- [Microsoft Store (Windows)](https://apps.microsoft.com/store/detail/airdash/9NL9K7CSG30T)\n- [Snap Store (Linux)](https://snapcraft.io/airdash)\n\n### Analytics\n\n- [Analytics Dashboard](https://mixpanel.com/p/XKeBKcwzQ5HjuUxuxHv934)\n\n### Key features\n\n- Support for all major platforms and app stores (iOS, macOS, Windows, Linux and Android)\n- Free forever to send any number of files of any size\n- Maximum privacy and security by fully encrypting files and transferring them directly between devices\n- Quickly start transfers using native mobile share sheet and drag and drop on desktop\n- Send files anywhere (no need to be on the same network or nearby)\n- Automatically uses the best and fastest connection available (wifi, mobile internet, ethernet etc)\n\n### Key technologies\n\n- Flutter 3 (iOS, macOS, Android, Linux and Windows apps)\n- WebRTC (file and data transfers)\n- Firebase Firestore (WebRTC signaling and config storage)\n- Firebase Functions (device pairing and config automation)\n- Firebase Hosting (website and static files hosting)\n- App Store Connect API and Microsoft Store submission API (release automation)\n- Mixpanel (web and app analytics)\n- Sentry (app monitoring and error tracking)\n\n### Run project\n\n- Create a firebase project (https://console.firebase.google.com) and enable firestore and anonymous authentication\n- Create a .env file by duplicating the .env.sample file\n- Replace the firebase project id and web API key in the .env file with the ones for your project (firebase console -\u003e project settings)\n- Run `dart tools/scripts.dart app_env` to get a env.dart file\n- Deploy pairing backend function by `cd functions \u0026\u0026 npm i \u0026\u0026 npx firebase deploy --only pairing`\n- Run app using editor or `flutter run`\n\nBy default a google stun server is used to connect peers. The simplest way to enable turn servers as well is to use https://www.twilio.com/stun-turn. Create functions/.env file similar to the functions/.env-sample file and deploy the updateTwilioToken backend function.\n\n### Contribute\n\nContributions are very much welcome on everything from bug reports to feature development. If you\nwant to change something major write an issue about it first to ensure it will be considered for\nmerge.\n\n### Publish guide (for contributors)\n\nPrepare\n\n- Update libraries\n- flutter pub get\n- cd ios \u0026\u0026 pod update\n- cd macos \u0026\u0026 pod update\n- Update changelog.md and version in pubspec.yaml and snapcraft.yaml\n- git commit -am vX.X.X\n- git tag \"vX.X.X\"\n- git push \u0026\u0026 git push -f --tags\n\nmacOS\n\n- flutter build macos\n- Archive -\u003e Distribute -\u003e Direct Distribution\n- npx appdmg appdmg.json ./build/airdash.dmg\n- Distribute with transporter\n\niOS\n\n- flutter build ipa\n- Distribute with Transporter\n\nAndroid\n\n- flutter build appbundle\n- cp build/app/outputs/bundle/release/app-release.aab build/airdash.aab\n- open https://play.google.com/console/u/0/developers/6822011924129869646/app/4975414306006741094/tracks/production\n- App Bundle Explorer -\u003e Download signed apk -\u003e build/airdash.apk\n\nWindows\n\n- Open Windows in VMWare\n- Open ~\\Documents\\airdash in vs code\n- git pull -r \u0026\u0026 flutter pub get\n- dart run msix:create\n- Copy msix file to build/airdash.msix\n- Create new update -\u003e open https://partner.microsoft.com/en-us/dashboard/products/9NL9K7CSG30T\n\nLinux\n\n- Open Ubuntu in VMWare\n- Open ~\\Documents\\airdash in vs code\n- git pull -r \u0026\u0026 flutter pub get\n- snapcraft clean --use-lxd # required\n- snapcraft --output build/airdash.snap --use-lxd\n- snapcraft upload --release=stable build/airdash.snap\n- Copy to mac ./build/airdash.snap (send.vis.ee for example)\n\nCreate Github release\n\n- open https://github.com/simonbengtsson/airdash/releases/new\n- Attach\n  - build/airdash.apk\n  - build/airdash.dmg\n  - build/airdash.msix\n  - build/airdash.snap\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonbengtsson%2Fairdash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonbengtsson%2Fairdash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonbengtsson%2Fairdash/lists"}