搜尋套件、儲存庫與 APP 分類

GitHub 儲存庫simonbengtsson/airdash

AirDash

檔案分享Flutter WebRTC應用,可隨時隨地將檔案傳送至任何裝置

AirDash 專案封面
星標
670
分支
126
最近推送(UTC)
2026年8月27日
專案狀態
未封存

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

AirDash File Sharing

Transfer photos and files to any device.

Get the app
Analytics
Key features
  • Support for all major platforms and app stores (iOS, macOS, Windows, Linux and Android)
  • Free forever to send any number of files of any size
  • Maximum privacy and security by fully encrypting files and transferring them directly between devices
  • Quickly start transfers using native mobile share sheet and drag and drop on desktop
  • Send files anywhere (no need to be on the same network or nearby)
  • Automatically uses the best and fastest connection available (wifi, mobile internet, ethernet etc)
Key technologies
  • Flutter 3 (iOS, macOS, Android, Linux and Windows apps)
  • WebRTC (file and data transfers)
  • Firebase Firestore (WebRTC signaling and config storage)
  • Firebase Functions (device pairing and config automation)
  • Firebase Hosting (website and static files hosting)
  • App Store Connect API and Microsoft Store submission API (release automation)
  • Mixpanel (web and app analytics)
  • Sentry (app monitoring and error tracking)
Run project
  • Create a firebase project (https://console.firebase.google.com) and enable firestore and anonymous authentication
  • Create a .env file by duplicating the .env.sample file
  • Replace the firebase project id and web API key in the .env file with the ones for your project (firebase console -> project settings)
  • Run dart tools/scripts.dart app_env to get a env.dart file
  • Deploy pairing backend function by cd functions && npm i && npx firebase deploy --only pairing
  • Run app using editor or flutter run

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

Contribute

Contributions are very much welcome on everything from bug reports to feature development. If you want to change something major write an issue about it first to ensure it will be considered for merge.

Publish guide (for contributors)

Prepare

  • Update libraries
  • flutter pub get
  • cd ios && pod update
  • cd macos && pod update
  • Update changelog.md and version in pubspec.yaml and snapcraft.yaml
  • git commit -am vX.X.X
  • git tag "vX.X.X"
  • git push && git push -f --tags

macOS

  • flutter build macos
  • Archive -> Distribute -> Direct Distribution
  • npx appdmg appdmg.json ./build/airdash.dmg
  • Distribute with transporter

iOS

  • flutter build ipa
  • Distribute with Transporter

Android

  • flutter build appbundle
  • cp build/app/outputs/bundle/release/app-release.aab build/airdash.aab
  • open https://play.google.com/console/u/0/developers/6822011924129869646/app/4975414306006741094/tracks/production
  • App Bundle Explorer -> Download signed apk -> build/airdash.apk

Windows

  • Open Windows in VMWare
  • Open ~\Documents\airdash in vs code
  • git pull -r && flutter pub get
  • dart run msix:create
  • Copy msix file to build/airdash.msix
  • Create new update -> open https://partner.microsoft.com/en-us/dashboard/products/9NL9K7CSG30T

Linux

  • Open Ubuntu in VMWare
  • Open ~\Documents\airdash in vs code
  • git pull -r && flutter pub get
  • snapcraft clean --use-lxd # required
  • snapcraft --output build/airdash.snap --use-lxd
  • snapcraft upload --release=stable build/airdash.snap
  • Copy to mac ./build/airdash.snap (send.vis.ee for example)

Create Github release

  • open https://github.com/simonbengtsson/airdash/releases/new
  • Attach
    • build/airdash.apk
    • build/airdash.dmg
    • build/airdash.msix
    • build/airdash.snap
Simon Bengtsson GitHub avatar
GitHub 作者

Simon Bengtsson ↗

Enthusiastic mobile and web developer with a background in software engineering and interaction design.

PeachGothenburg, Sweden官方網站 ↗
語言DartHTMLSwiftC++CMakeJavaScriptRubyKotlinCObjective-C

分類

依賴 Flutter 元件

使用的依賴

依賴清單 34 項

App 分類

所在榜單

如何選擇適合專案的儲存庫?

先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。

  1. 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
  2. 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
  3. 使用前在 GitHub 確認 README、授權條款與 Issues。

來源與維護

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗