コマンドラインでファイルを受信する
最終更新: 2026-07-09
送信は話の半分にすぎません——いずれあなたが受け取る側になります。同僚がインターネット越しにファイルを渡したいとき、自分のマシン同士で受け渡ししたいとき、あるいは自分が管理するサーバーから何かを取りに行きたいとき。Relayium CLI はそれぞれに異なるコマンドで、この3つすべてに対応しています。どれもアカウントは不要です。
相手がペアリングコードであなたへプッシュしてくるなら receive、信頼できるマシンがいつでもプッシュできる常設の受信箱が欲しいなら serve、そしてあなた自身がすでに SSH でログインできるサーバーへ出向くなら pull を選びます。
受信の3つの方法と、それぞれが当てはまる場面
どのコマンドを使うかは、誰が転送を始めるのか、そして2台のマシンがどう互いを知っているかによって決まります:
- relayium receive <code> [destdir] ——相手が、あなたたちが帯域外で決めたペアリングコードを使ってネットワークを越えて送ってきます。直接ピアツーピアで、SAS コードで検証します。
- relayium serve [--dir D] [--port N] [--once] [--allow-delete] ——このマシンがデーモン直結の relayium:// プッシュを待ち受けます。デフォルトのポートは 9031 です。
- relayium pull [user@]host:src <dest> ——あなた自身がすでにログインできるサーバーへ SSH で出向き、ファイルを取り込みます。
receive: 相手がネットワークを越えてファイルを送ってくる
これは relayium send の受信側です。相手は短いコードを選び、通話やチャットなど二人が信頼できる手段でそれを伝え、自分の側で relayium send <path> <code> を実行します。あなたは同じコードで receive を実行します:
relayium receive 428571
# or into a specific directory
relayium receive 428571 ./downloads
- 接続は直接のピアツーピアでエンドツーエンドに暗号化されています。接続後、両方のターミナルに同じ SAS(short authentication string)が表示されます——送信側と見比べて、中間に誰もいないことを確認してください。
- 宛先を指定しない場合、ファイルはカレントディレクトリに置かれます。
- send と同じく直接接続のみのルールです。2つのネットワークの間に直接の経路が見つからなければ、リレー経由で送るのではなく転送が失敗します。
- これは CLI 独自のペアリングコード・プロトコルです——現時点では relayium.com のブラウザ側のペアリングコードや QR フローとは相互運用しません。将来追加される可能性はありますが、今はまだ頼れるものではありません。
- 受信側はどのネットワークにいても、アカウントは一切不要です。
serve: このマシンを待ち受け型の受信箱にする
serve は逆方向に動作します。あなたが出向くのではなく、他のマシンが relayium:// 経由で直接あなたへプッシュしてきます——自分のノート PC が NAS へプッシュする、ビルドサーバーが成果物を自分のマシンへ落とすなど、すでに信頼しているマシン向けです。固定された TLS 1.3 接続で、SSH も集合場所も不要です。
relayium serve
# a specific directory, port, and allowing delete requests
relayium serve --dir ~/incoming --port 9031 --allow-delete
- 新しいマシンが初めてあなたへプッシュすると、serve は(ターミナルで実行している場合)その住所とフィンガープリントを表示し、一度だけ承認するよう求めます。以降、同じフィンガープリントからのプッシュは黙って通過します。
- ターミナルがない場合——systemd サービスや TTY のないスクリプト——確認する相手がいないため、未知のプッシュ側はそのまま拒否されます。代わりに、プッシュ側が relayium id で表示するフィンガープリントを使って事前に承認してください:
無人稼働の serve のために事前承認する
無人で動作する serve(systemd、バックグラウンドスクリプト)では、プッシュ側に relayium id を実行させてフィンガープリントを表示させ、受信側であらかじめそれを承認しておきます:
relayium authorize <fingerprint>
- --dir はファイルの置き場所を設定します(デフォルトはカレントディレクトリ)。--once は1回の転送だけ受け入れて終了します。--allow-delete は受信した --delete(ミラー)要求によって実際にここでファイルを削除できるようにするもので、デフォルトでは無効です。
- --config-dir(デフォルト ~/.config/relayium)は、このホストのアイデンティティと承認済みフィンガープリントのリストが置かれる場所です——serve を専用サービスとして動かす場合は上書きしてください。
pull: すでに SSH でログインできるサーバーから取り込む
pull は push の鏡像です。誰かが何かを送ってくるのを待つのではなく、すでに持っている SSH アクセスを使って自分から出向き、ファイルを取り込みます。
relayium pull user@host:/path/to/files ./local-dest
- push と異なり、pull は常にリモート側にすでに relayium がインストールされている必要があります——素のサーバーから pull するための tar フォールバックはありません。リモートにまだ入っていない場合は、先に curl -fsSL https://relayium.com/install.sh | sh でインストールしてください。
- ファイルはファイルごとの SHA-256 チェックで検証され、中断しても自動的に再開します(--no-resume で無効化できます)。
- -i と -p は ssh 自体の -i/-p と同様に、特定のアイデンティティファイルやポートを指定するために使えます。
よくある質問
ファイルを受信するのにアカウントは必要ですか?
いいえ。receive、serve、pull の3つすべてが完全に無料で、どちら側にも Relayium アカウントは不要です。
relayium receive はブラウザのペアリングコードと相互運用しますか?
しません。CLI のペアリングコード・プロトコルは、relayium.com のブラウザ側の参加リンクや QR フローとは別物です——ハンドシェイクの方式が異なり、現時点では互いに通信しません。それはロードマップ上の話であり、今はまだ頼れるものではありません。
未知のマシンが自分の serve リスナーへプッシュしてきたらどうなりますか?
ターミナルでは、初回のプッシュ時に住所とフィンガープリントを見せて承認するかどうか尋ねられ、その承認は記憶されます。ターミナルがない場合——systemd サービスや cron ジョブ——確認する相手がいないため、未知のプッシュ側は拒否されます。先に relayium authorize <fingerprint> で事前承認してください。
relayium がインストールされていないサーバーから pull できますか?
できません。pull は常にリモート側に relayium が必要です——push にあるような tar フォールバックはありません。先にリモートへ relayium をインストールしてください。
relayium は自分のアイデンティティと信頼済みの相手をどこに保存しますか?
デフォルトでは ~/.config/relayium にあります——アイデンティティや信頼に関わるどのコマンドでも --config-dir でこの場所を上書きできます。
最初の受信をしてみましょう。CLI をインストールして、receive、serve、pull のいずれかを選んでください。
CLI を入手する
続けて読む