seemoo-lab/opendrop
Apple AirDropとのリバースエンジニアリングによるプロトコル互換性を利用して、Wi-Fi経由でファイルを送受信するオープンソースのPython製コマンドラインツール。
代替できる製品:AirDrop
- スター
- 9,939
- フォーク
- 319
- 未解決の Issue
- 59
- 最終コミット
- 3 か月前
これは何?
OpenDropは、Wi-Fi経由でデバイス間のファイル共有を行うコマンドラインツールです。Apple AirDropとのプロトコル互換性を備えているため、iOSやmacOSのデバイスとファイルをやり取りできます。
AirDropはApple Wireless Direct Link(AWDL)上で動作するため、OpenDropはmacOS、またはOWLなどのオープンなAWDL実装を使うLinuxで動作します。findコマンドで近くの受信先を検出し、sendでファイルやURLを送信するか、receiveで受信ファイルを受け取ります。「連絡先のみ」に設定されたデバイスとの通信には、別途用意されたキーチェーン抽出ツールでmacOSから抽出したAirDrop認証情報を利用できます。
このプロジェクトは実験的なもので、リバースエンジニアリングの研究から生まれました。AirDropのすべての機能に対応しているわけではなく、複数ファイルの一括送信は未実装です。また、受信側はピア認証なしで受信ファイルを自動的に受け入れます。
主な機能
- 01AirDrop互換のWi-Fi経由で、AppleデバイスにファイルやURLを送信できます。
- 02findコマンドで近くの受信先を検出できます。
- 03受信したファイルをカレントディレクトリに自動保存します。
- 04macOS、およびAWDL実装を備えたLinuxで動作します。
- 05抽出したAirDrop認証情報を使って、「連絡先のみ」に設定されたデバイスに対応します。
ユースケース
- LinuxマシンからiPhoneやMacにファイルを送信する。
- コマンドラインからAirDropのファイル転送をスクリプト化する。
- セキュリティ研究でAirDropプロトコルやAWDLを調査する。
クイックスタート
- 1
pip3 で PyPI からリリースをインストールします
pip3 install opendrop - 2
macOS では Homebrew で新しいバージョンの libarchive をインストールします(Linux では任意)
brew install libarchive - 3
近くの受信先を検出します
opendrop find - 4
インデックスを指定して受信先にファイルを送信します
opendrop send -r 0 -f /path/to/some/file
使う前に知っておきたいこと
- macOS、または OWL などの AWDL 実装を備えた Linux でのみ動作します。
- 実験的なリバースエンジニアリングソフトウェアのため、今後の AirDrop バージョンとの互換性は保証されません。
- 複数ファイルの一括送信には対応していません。
- コピーレフトライセンスである GPL-3.0 の下でライセンスされています。
収録されている特集
トピック
よくある質問
- opendrop とは?
- Apple AirDropとのリバースエンジニアリングによるプロトコル互換性を利用して、Wi-Fi経由でファイルを送受信するオープンソースのPython製コマンドラインツール。 OpenDropは、Wi-Fi経由でデバイス間のファイル共有を行うコマンドラインツールです。Apple AirDropとのプロトコル互換性を備えているため、iOSやmacOSのデバイスとファイルをやり取りできます。
- opendrop は無料で使えますか?ライセンスは?
- opendrop は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- opendrop は今もメンテナンスされていますか?
- 半年以内に更新あり。opendrop の最終コミットは 2026年8月17日 です。
- opendrop は何に使えますか?
- LinuxマシンからiPhoneやMacにファイルを送信する。 コマンドラインからAirDropのファイル転送をスクリプト化する。 セキュリティ研究でAirDropプロトコルやAWDLを調査する。
- opendrop のインストール方法は?
- pip3 で PyPI からリリースをインストールします: pip3 install opendrop macOS では Homebrew で新しいバージョンの libarchive をインストールします(Linux では任意): brew install libarchive 近くの受信先を検出します: opendrop find インデックスを指定して受信先にファイルを送信します: opendrop send -r 0 -f /path/to/some/file
- opendrop はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/seemoo-lab/opendrop
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
IPSW/OTAのダウンロード、Mach-Oやdyldキャッシュの解析、kernelcacheの調査、接続中のiOSデバイス操作に対応した、Appleファームウェア研究用CLIツールキット。
Androidとワイヤレスでファイルを送受信できる、Google Quick Shareプロトコル対応のLinux向けGTKクライアント。
Go製のCLIツール。ターミナルにQRコードを表示し、Wi-Fi経由でパソコンからスマートフォンへファイルを送信できます。
暗号化されたローカル接続を通じて、スマートフォンとコンピューターでクリップボード、通知、ファイル、メディア操作を共有できるLinux向けデスクトップアプリです。