Windows、Linux、macOS で動作するサーバーレス P2P ファイル転送ツールです。
- 🚀 超高速転送: 700Mbps を目指す最適化(1MB バッファ、TCP_NODELAY)
- 🔒 セキュリティ: SHA-256 パスワード認証
- 🖥️ クロスプラットフォーム: Windows、Linux、macOS 対応
- 🎨 2 つのインターフェース: GUI と CUI の両方を利用可能
- 🌐 ローカル・リモート対応: LAN 内 P2P、シグナリングサーバー経由(オプション)
# ビルド
chmod +x build_deb.sh
./build_deb.sh
# インストール
sudo dpkg -i fairuwo_1.0.0_all.debREM ビルド (PyInstaller が必要)
build_exe.bat
REM 出力:dist\fairuwo_GUI.exe, dist\fairuwo_CLI.exe# GUI 版
python fairuwo_GUI.py
# CUI 版
python fairuwo_CUI.py server --name "MyPC"python fairuwo_GUI.py
# または
fairuwo-gui # Linux (deb インストール後)
fairuwo_GUI.exe # Windows機能:
- デバイス名とパスワードを設定
- 「受信サーバー起動」で待機
- ファイルをドラッグ&ドロップまたは選択
- 宛先 IP を入力して「送信」
- 「ピア発見」で LAN 内のデバイスを自動検出
python fairuwo_CUI.py server --name "MyPC" --password "secret123"
# または
fairuwo-cli server --name "MyPC" --password "secret123"
fairuwo_CLI.exe server --name "MyPC" --password "secret123"python fairuwo_CUI.py send file.zip --host 192.168.1.100 --password "secret123"
# または
fairuwo-cli send file.zip --host 192.168.1.100 --password "secret123"
fairuwo_CLI.exe send file.zip --host 192.168.1.100 --password "secret123"python fairuwo_CUI.py discover --name "MyPC"
# または
fairuwo-cli discover --name "MyPC"| オプション | 説明 | デフォルト |
|---|---|---|
--name |
デバイス名 | MyPC |
--password |
パスワード(任意) | なし |
--port |
ポート番号 | 50050 |
| オプション | 説明 | 必須 |
|---|---|---|
file |
送信ファイルパス | ✅ |
--host |
宛先ホスト IP | ✅ |
--password |
パスワード(任意) | ❌ |
--port |
ポート番号 | ❌ (50050) |
| オプション | 説明 | デフォルト |
|---|---|---|
--name |
デバイス名 | MyPC |
--timeout |
探索時間(秒) | 3 |
- バッファサイズ: 1MB(標準の 64KB より大幅に増量)
- TCP_NODELAY: Nagle アルゴリズム無効化
- 非同期 I/O: スレッドによる並行処理
- プログレス表示: リアルタイム進捗表示
- パスワードハッシュ: SHA-256 + ソルト
- ワンタイムソルト: 転送ごとに異なるソルト生成
- 認証失敗時: 即座に接続切断
- 発見プロトコル: UDP ブロードキャスト(ポート 50051)
- 転送プロトコル: TCP 直接接続(ポート 50050)
- NAT 越え: シグナリングサーバー経由(aiohttp 必要)
- ファイアウォール: ポート 50050/50051 の開放が必要
- グローバル IP: リモート接続にはグローバル IP またはシグナリングサーバーが必要
- Tkinter: GUI 版には Python の Tkinter が必要
- ファイアウォール設定を確認
- 同じネットワーク上にいるか確認
- IP アドレスが正しいか確認
- LAN ケーブルが Gigabit 対応か確認
- 他のネットワーク利用を確認
- ウイルス対策ソフトの影響を確認
# Ubuntu/Debian
sudo apt install python3-tk
# CentOS/RHEL
sudo yum install python3-tkinter
# macOS
brew install python-tkProprietary
問題や機能リクエストは GitHub Issues まで。