Relayium CLI でネットワークを越えて誰かにファイルを送る
最終更新: 2026-08-07
相手のマシンが自分のものではなく SSH でログインできないこともあります。別のオフィスの同僚へのファイル、クライアント向けのビルド、遠方の友人へのアーカイブ。relayium send と receive は、送信時に CLI が発行する短いペアリングコードだけを使って、ネットワークを越えてそれを二人の間で直接移動させます。
接続は P2P で、エンドツーエンドに暗号化されています。二つの端を引き合わせるためのごく小さなランデブーハンドシェイクだけが Relayium を経由し、ファイルのバイトは決して経由しません。
始める前に
以下はすべて relayium CLI なので、未インストールならまず入れてください。macOS または Linux では、1つのコマンドでビルド済みバイナリが PATH に入ります:
curl -fsSL https://relayium.com/install.sh | sh
- 自分でファイルを選びたい、または Windows の場合は、リリースページからバイナリを取得してください——relayium.com/cli にすべてのインストール方法があります(Go があれば go build -o relayium ./cmd/relayium も可)。
- relayium --version でインストールを確認できます。これをしないと以下のコマンドは「command not found」と出るだけです。
まず send、そして表示されたコードを相手に伝える
必要なもの
- 両方のマシンに CLI。それぞれの端末で relayium version がバージョン文字列を表示します。シェルが「command not found」と返すなら、そのマシンにはまだ入っていません。
- サインイン済みの送信側。relayium whoami がアカウントのメールアドレスを表示します。ペアリングコードの発行には先に relayium login が要ります。受信側のマシンは最後までサインインしません。
- 二人が同時に端末の前にいること。コードの寿命は5分なので、発行する前にタイミングを合わせてください。
- 6桁の数字を帯域外で伝える手段。通話でも、チャットの窓でも、同じ部屋にいるならそのままでも構いません。
最初に一度だけ relayium login でサインインし、あとは send するだけです。CLI がペアリングコードを発行し、相手が実行するコマンドとあわせて表示して待機します。そのコードを帯域外で伝えてください。通話で伝える、チャットに書く、など:
送信側のマシンで一度だけサインインします。relayium whoami がすでにアカウントのメールアドレスを表示するなら、この手順は飛ばしてください。
relayium loginファイルのあるディレクトリで送信を開始します。CLI がコードを発行し、相手が実行するコマンドを表示して待機します。
relayium send ./release.zip表示された6桁の数字を帯域外で相手に伝えます。発行から5分で使えなくなります。
受信側のマシンで、ファイルを置きたいディレクトリに移動し、送信側に表示されたコマンドを実行します。別の場所に置きたければディレクトリを足します。
relayium receive 483920relayium receive 483920 ./downloads受信側のシェルがプロンプトに戻るまで、両方の端末を開いたままにしてください。これは1つのライブセッションで、どちらかを閉じれば転送は止まります。
成功したときの表示
送信側はまず引き渡しブロックを表示して待機し、続いて検証コードと得られた経路を表示します。両方の端末に同じ検証コードが出て、どちらも終了コード 0 で終わります。
# 送信側
Code: 483920 (valid 5 minutes)
On the other machine: relayium receive 483920
not installed there? curl -fsSL https://relayium.com/install.sh | sh
waiting for the receiver…
verification code (SAS): 271044 — not the pairing code; compare it on both ends to rule out a substituted endpoint
path: direct- コードは 6 桁の十進数字です。0-9 のいずれも現れ、先頭が 0 になることもあります。そして発行から 5 分で失効します。
- コードは合流するための共有シークレットにすぎません。ランデブー先以外の誰にも送られず、二つの端を引き合わせるためだけに使われます。
- 両端とも CLI である必要があります。ブラウザは CLI のペアリングコードに参加できません。相手がブラウザしか持っていない場合は、代わりに relayium up を使ってください。ダウンロードリンクが得られます。
SAS コードで検証する
二つの端が接続すると、両方のターミナルに固定された TLS 証明書フィンガープリントから導かれた同じ6桁の SAS(short authentication string)が表示されます。帯域外で照合し(通話中に読み上げるなど)、フィンガープリントが差し替えられておらず、ランデブーサービスがどちらのエンドポイントにもなりすましていないことを確認してください。SAS はエンドポイントを認証するもので、ネットワーク経路上のすべてのホップを証明するものではありません。
最も強い保護が必要なら --verify を付けます。すると転送は、コードが一致することを確認するまで、1バイトも動かさずに待機します。
relayium send --verify ./release.zip
直接接続のみ:無料、さもなくば失敗
転送は二つの端の間で直接接続の確立を競います。確立できれば(少なくとも一方に到達可能なアドレスがある一般的なケースでは)、ファイルはそのまま暗号化された状態で全速力かつ無料で流れます。
Relayium CLI の send/receive と text は P2P 直接接続専用です。ファイルやメッセージのバイトを TURN やその他の Relayium サーバーで中継することはありません。2 つの端末が直接接続を確立できなければ、リレーへフォールバックせずにセッションは失敗します。
この状況に当たった場合、確実な方法は到達可能な2台のサーバー間でのデーモン直結、SSH 経由の push、または relayium up で作る保存リンクです。
- 直接接続が成功 → 無料、全速力、エンドツーエンドで暗号化。
- 両端は地理的にどこにあっても構いません。送信側は send を実行するだけ、受信側はそれが表示したコードで receive を実行します。
うまくいかないとき
失敗のほとんどは次の4つに収まります。どれにも、それだと決められる表示行か実行できるコマンドがあるので、どちら側の問題かを勘で決める必要はありません。
症状・確認・対処
- 送信側が「minting a pairing code needs an account」と出て始まらない。
relayium whoami # not logged in (run `relayium login`)そのマシンに保存された資格情報がありません。relayium login を実行してブラウザーで承認してください。以後 whoami はアカウントのメールアドレスを表示し、送信も通ります。この時点ではコードは発行されていないので、無駄にしたものはありません。
- 受信側がコードを入力してもランデブーが受け付けない。
# 送信側:引き渡しブロックに正確な寿命が書かれている relayium send ./release.zip Code: 483920 (valid 5 minutes)コードが失効しています。送信側で Ctrl-C を押し、relayium send ./release.zip をもう一度実行して、新しい引き渡しブロックが示す5分のうちに新しい6桁を伝えてください。
- 二つの端末が別々の検証コードを表示する。
relayium send --verify ./release.zip止めて、ファイルは送らないでください。検証コードが食い違うのは、両端がピン留めした証明書フィンガープリントが一致しないということ、つまり相手側は想定したマシンではないということです。--verify を付けて実行し直すと、その照合で転送が止まって確認を待ちます。あわせて相手がどのマシンにいるのかを確かめてください。
- 「no direct connection to the peer (both ends behind strict NAT?)」。
relayium send ./release.zip # no direct connection to the peer (both ends behind strict NAT?): …どちらの端も相手に届かず、CLI にはファイルのバイトを通すリレー経路が設計上ありません。片方を到達可能なアドレスを持つネットワーク(サーバー、あるいはスマートフォンのテザリング)へ移すか、relayium up でアップロードしてダウンロードリンクを渡してください。
よくある質問
ペアリングコードはどこから来るのですか?
Relayium が発行します。relayium login のうえで relayium send ./release.zip を実行すると、CLI が 5 分間有効な 6 桁の数字コードと、相手が実行するコマンドをそのまま表示します。自分で選ぶことはできません。サーバーは自身が発行したコードしか受け付けないからです。
ファイルはどこかにアップロードされますか?
いいえ。ファイルは二人の間で直接ストリーミングされ、エンドツーエンドで暗号化されます。二つの端を引き合わせるためのごく小さなランデブーハンドシェイクだけが Relayium を経由し、ファイルは決して経由しません。
接続できない場合はどうなりますか?
両端が厳格な NAT の内側にあり到達可能なアドレスがない場合、直接接続は確立できず転送は失敗します。CLI は設計上リレーへのフォールバックを持ちません。直接の経路が使えない場合は、到達可能な2台のサーバー間でのデーモン直結、または SSH 経由の push を使ってください。
相手が本当に正しい人物だとどうやって分かりますか?
両方のターミナルが固定された TLS 証明書フィンガープリントから導かれた同一の6桁の SAS コードを表示します。帯域外で照合すると、フィンガープリントが差し替えられておらず、ランデブーサービスがどちらのエンドポイントにもなりすましていないことを確認できます。これはエンドポイントを認証するもので、ネットワーク経路上のすべてのホップを証明するものではありません。バイトが動く前にその確認を必須にするには --verify を追加します。
次のファイルを、別のネットワークにいる相手へ直接送りましょう。エンドツーエンドで暗号化され、しかも無料です。
CLI を入手する