Localsend: AirDropのオープンソースクロスプラットフォーム代替品
3時間前原文(github.com)
概要
LocalSendは、インターネット接続不要でローカルネットワーク上のデバイス間で安全にファイルやメッセージを共有できるオープンソースアプリケーション。
REST APIとHTTPS暗号化を活用し、外部サーバーを介さず通信を実現。
クロスプラットフォーム対応で、Windows、macOS、Linux、Android、iOSなど多様な環境で利用可能。
ファイアウォール設定やAPアイソレーションなど、導入時の注意点も明確に解説。
貢献・翻訳・バグ報告など、コミュニティ参加方法も充実。
LocalSendとは
- LocalSendは、ローカルネットワーク内でデバイス間の安全なファイル・メッセージ転送を実現する無料・オープンソースアプリ
- REST APIとHTTPS(TLS/SSL)暗号化を用いた通信プロトコル採用
- 外部サーバーやインターネット接続不要、高速かつ信頼性の高いローカル通信を実現
- クロスプラットフォーム対応(Windows、macOS、Linux、Android、iOS、Fire OSなど)
- サードパーティサーバー不要によるプライバシー保護
ダウンロードと対応プラットフォーム
- 各種ストアまたはパッケージマネージャー経由でのダウンロード推奨(自動アップデート非対応のため)
- Windows(App Store, Winget, Scoop, Chocolatey, EXE Installer, ZIPなど)
- macOS(App Store, Homebrew, DMG Installerなど)
- Linux(Flathub, Snap, APK, DEB, TAR, AppImage, AURなど)
- Android(Play Store, F-Droid, APKなど)
- iOS(App Store)
- Fire OS(Amazon)
- 非公式MSIXプレビューも提供(安定性保証なし、カスタム変更点は公式サイト参照)
- 対応OSバージョン
- Android: 5.0以降
- iOS: 12.0以降
- macOS: 11 Big Sur以降(OpenCore Legacy Patcher推奨、詳細は#1005参照)
- Windows: 10以降(Windows 7はv1.15.4までサポート、今後バックポートの可能性あり)
- Linux: GNOME/KDEはxdg-desktop-portal関連パッケージ必須
セットアップと設定
- 基本的にインストール後すぐに利用可能
- ファイル送受信で問題が発生する場合、ファイアウォール設定で以下ポートの許可が必要
- 受信: TCP, UDP 53317番ポート許可
- 送信: TCP, UDP 全ポート許可
- ルーターのAPアイソレーション無効化推奨(特にゲストネットワーク利用時)
- ポータブルモード(v1.13.0以降対応)
- 実行ファイルと同じディレクトリに空のsettings.jsonを作成
- 設定情報がデフォルト位置ではなくこのファイルに保存される
- トレイに隠して起動(v1.15.0以降)
- --hiddenフラグを付けて起動(例: localsend_app.exe --hidden)
仕組み
- 各デバイスでオンザフライでTLS/SSL証明書を生成
- REST APIを通じてHTTPS通信を行い、データを安全にやり取り
- 詳細はLocalSend Protocolドキュメント参照
開発・ビルド方法
- Flutter(指定バージョン、.fvmrc参照)とRustのインストール
- LocalSendリポジトリのクローン
- cd appでアプリディレクトリへ移動
- flutter pub getで依存関係取得
- flutter runでアプリ起動
- fvmによるFlutterバージョン管理推奨(fvm flutterコマンド使用)
貢献方法
- 翻訳:Weblateプラットフォーム利用、もしくはリポジトリのapp/assets/i18nディレクトリで手動編集
- missing_translations<locale>.jsonまたはstrings_<locale>.i18n.jsonを編集
- @付きフィールドは翻訳不要(説明用)
- バグ報告:プルリクエストで詳細な説明と修正方法を記載
- 改善提案:Issue作成で必要性をディスカッション
- 詳細はcontributing guide参照
トラブルシューティング
- デバイスが見えない
- ルーターのAP-Isolation無効化
- Windowsの場合、ネットワークを「プライベート」に設定
- macOS/iOSでは「ローカルネットワーク」権限を有効化
- 転送速度が遅い
- 5GHz帯のWi-Fi利用推奨
- 両デバイスで暗号化を無効化
- Androidは既知の問題あり(flutter-cavalry/saf_stream#4参照)
ビルドコマンド(メンテナ向け)
- Android: flutter build apk / flutter build appbundle
- iOS: flutter build ipa
- macOS: flutter build macos
- Windows: flutter build windows / flutter pub run msix:create
- Linux: flutter build linux / appimage-builder --recipe AppImageBuilder.yml
- Snap: localsend/snap/README.md参照
コミュニティとサポート
- DiscordやGitHubで情報共有・開発参加
- ScreenshotsやSponsorsページで最新情報や支援者紹介
- トラブル時は公式ドキュメントやIssue参照