クラウドにアップロードし、別のコンピュータで取得する
最終更新: 2026-09-01
二台のコンピュータが同時に起きていることは決してない、という場面があります。今夜は仕事用ノートからファイルを置いておき、明日は自宅のデスクトップから取りたい。ライブ接続を待つ人は誰もいません。relayium up と relayium down はまさにそれです。up はローカルで暗号化してアカウントにアップロードし、down は後から任意のマシンで取得・復号します。P2P ハンドシェイクも、双方が ssh できるサーバーも不要です。
これは CLI の中で Relayium アカウントを使う主な部分です。もう一つはペアリングコードの発行にアカウントを必要とする send です。残りのバインドは任意で、push/pull、デーモン直結、sync はログインなしで動き続け、receive も同様です。ダウンロードにはアカウントは一切不要で、リンクさえあれば十分です。
どんなときに使うか
相手側がオンラインかどうか、二台がどう到達し合うかでモードを選びます:
- up / down(このガイド):二台が同時にオンラインになりません。今アップロードし、後で自分(または別のマシン)がダウンロードします。アカウント経由です。
- send / receive:両端が今オンラインで、使い捨てコードで直接 P2P 転送したいときです。
- push / pull:相手のマシンに既に ssh できます。
- relayium login が要るのは up と send の二つ。up はファイルをアカウントに保存するため、send はペアリングコードを発行しなければならないときだけ(コードを渡されていれば不要)。down、receive、push/pull、デーモン直結、sync はアカウント不要です。
始める前に
必要なもの
- まず CLI をインストールして relayium コマンドが存在するようにします。下の一行でビルド済みバイナリが PATH に入ります(macOS と Linux。Windows は releases ページから .zip を取得)。relayium --version でインストールを確認でき、relayium.com/cli にすべてのインストール方法があります。これをしないと relayium login は「command not found」と出るだけです。
- 無料の Relayium アカウントを用意します。ブラウザでの手順は自分のアカウントに対してログインを承認するので、承認する前にアカウントが必要です。まず relayium.com でサインインし、なければそこで作成してください。アカウントが要るのはアップロードだけで、ダウンロードには不要です。
- リンクをもう一台へ移す手段。メモアプリ、チャットの窓、パスワードマネージャーなど何でも構いません。リンクを持つ誰もがダウンロードできるので、パスワードのように扱ってください。
最初の up の前に、一度だけ済ませることが二つあります。CLI のインストールと、アカウントの用意です。両方そろっていれば読み飛ばしてください。
curl -fsSL https://relayium.com/install.sh | sh
このマシンをアカウントにバインドする(一度だけ)
up は誰のアカウントに保存するかを知る必要があるため、マシンごとに一度サインインします。ブラウザで承認するデバイスログインで、ターミナルには確認するコード以外は何も入力しません:
relayium login
- CLI が短いコードと URL(relayium.com/device)を表示します。relayium.com にサインイン済みのブラウザで開き(未サインインならまずそこでサインイン)、コードを入力して承認すると、このマシンがバインドされます。
- ログイン情報は ~/.config/relayium/ に保存されるので、マシンごとに一度で済みます。relayium whoami でバインド先を表示し、relayium logout で解除します。
- 後でマシンを取り消すには、ブラウザのアカウントの「デバイス」ページから該当デバイスを削除します。
一台目のコンピュータからアップロード
up は渡したファイルをたどり、ローカルで暗号化し、暗号文をアップロードして、取得用リンクを表示します:
このマシンがまだアカウントに結び付いているかを確認します。アカウントと結び付き先のサーバーが表示されます。未ログインと出たら、先に上のログイン手順を済ませてください。
relayium whoamiファイルをアップロードします。up はローカルで暗号化し、暗号文だけを送り、取得用リンクを標準出力に表示します。
relayium up ./report.pdf既定の24時間が望みと違うなら、保持のフラグを足します。サーバーが実際にどれだけ保持するかの上限はプランが決めます。
# 保持期間を選ぶ(既定は24時間): relayium up ./report.pdf --burn # 一度ダウンロードすると削除 relayium up ./report.pdf --ttl 7d # 7日間保持(上限はプランによる) relayium up ./report.pdf --max-downloads 5 # 5回まで、その後削除二台目が読める場所へリンクを移します。標準出力に出るのはリンクだけなので、パイプはきれいなままです。
relayium up ./report.pdf | pbcopy
アップロードが成功したときの表示
アップロード中は標準エラー出力に進捗バーが出て、終わると消えます。リンクは標準出力に単独の行として出て、人向けのヒント(および保持期間の注記があればそれ)は標準エラー出力に続きます。
relayium up ./report.pdf
https://relayium.com/d/7fK2p…#k=Xr8s…
opens in a browser, or fetch it with `relayium down 'https://relayium.com/d/7fK2p…#k=Xr8s…'`- 保持:--burn は一度のダウンロードで削除。--ttl <期間> は一定時間保持。--max-downloads <n> は一定回数まで。どれも指定しなければリンクは24時間保持されます。これが --ttl を付けないときの既定です。
- --ttl は単位付きの期間(30m、12h、7d、2w)のほか、単なる秒数も受け取ります。つまり --ttl 3600 と --ttl 1h は同じ指定です。上限はプランで決まります:Free は1日、Plus は3日、Pro は7日、Max は14日。上限より長く要求すると、サーバーは黙って上限までしか保持しません。その場合 up が後から、実際に保持される期間を1行で知らせます。
二台目のコンピュータでダウンロード
別のマシンでは、リンクを down に渡します。ログインも設定も不要。ファイルを復号する鍵はリンクの中にあるので、down はアカウントから何も必要としません:
relayium down '<自分のリンク>' <保存先ディレクトリ>都合のよい方法でリンクを二台目に持っていきます。あちらには CLI 本体のほかに、インストールもログインも要りません。
シングルクォートで囲んだリンクと、ファイルを置きたいディレクトリを down に渡します。
relayium down 'https://relayium.com/d/7fK2p…#k=Xr8s…' ./downloadsディレクトリを省くと現在のディレクトリに置かれます。
relayium down 'https://relayium.com/d/7fK2p…#k=Xr8s…'
ダウンロードが成功したときの表示
書き出したファイルが1行ずつ標準出力に並び、件数と保存先が標準エラー出力で確認されます。
relayium down 'https://relayium.com/d/7fK2p…#k=Xr8s…' ./downloads
downloads/report.pdf
✓ downloaded 1 file(s) to ./downloads- ファイルがバーン設定、ダウンロード上限到達、または期限切れの場合、リンクは使い切られており、down はもう存在しないと報告します。
ウェブサイトとも連携
このリンクはウェブサイトが使うものと同じなので、CLI とブラウザは自由に連携します:
- relayium up のリンクはブラウザで開けます。CLI を持たない人に渡せば、その人はウェブからダウンロードできます。
- relayium.com で作った共有リンクは、別のマシンで relayium down から取得できます。
サーバーに見えるもの・見えないもの
クラウド転送はエンドツーエンドで暗号化されたままです:
- ファイルはアップロード前に自分のマシンで暗号化されます。復号鍵はリンクの #k= 断片にのみ存在し、サーバーには決して送られません。Relayium は読めない暗号文を、ファイル名も含めて保存します。
- つまりリンクだけがファイルへ戻る唯一の手段です。失えばファイルは復旧できません。自分でも当社でも同じです。
リンクが働かないとき
失敗する up と down のほとんどは次の4つで尽きます。どれも当て推量は要りません。判定を決める状態は、コマンドが表示するか、自分が打ったコマンドの中に見えています。
症状・確認・対処
- up が「run relayium login first」と出て断る。
relayium whoami # not logged in (run `relayium login`)アップロードはファイルをアカウントの下に保管するので、このマシンに資格情報が必要です。relayium login を実行し、ブラウザーの relayium.com/device で承認してください。以後 whoami はアカウントと結び付き先のサーバーを表示します。
- down がリンクを解釈できず、鍵が消えたように見える。
echo relayium down https://relayium.com/d/7fK2p#k=Xr8s # relayium down https://relayium.com/d/7fK2p多くのシェルでは引用符のない # がコメントを始めるため、#k= 以降はコマンドに届いていません。echo が、生き残った部分をそのまま見せてくれます。リンク全体をシングルクォートで囲めば、復号鍵であるその断片も無傷で届きます。
- 指定した --ttl より早くリンクが切れる。
relayium up ./report.pdf --ttl 7d # note: your plan caps retention, so this link is kept 1d, not the 7d you asked forプランの上限を超える要求を、サーバーは黙って上限に切り詰めます(Free は1日、Plus は3日、Pro は7日、Max は14日)。そのあと up がこの注記を出して、実際に得られた期間を伝えます。--burn や --max-downloads でもリンクは早く終わります。新しいものが必要ならもう一度アップロードしてください。
- ログイン済みなのに、up が別の場所にログインしていると言う。
relayium whoami # you@example.com (https://relayium.com)トークンを発行していない --server には、資格情報を送らずに拒否します。送れば漏らすことになり、しかもそちらでは認証もできないからです。--server を外して whoami が今表示した結び付き先を使うか、先に相手のホストに対して relayium login を実行してください。
よくある質問
アカウントは必要ですか?
アップロードのときと、コードを発行しなければならない送信のときです。relayium up は常に relayium login が必要で、ファイルを自分のアカウントに保存するためです。relayium send が必要なのは、サーバーが新しいペアリングコードを発行しなければならないときだけです。誰かから渡されたコードで send を実行する場合は何も発行されないため、ログインは要りません。relayium down と relayium receive にアカウントは不要で、push/pull、デーモン直結、sync もアカウントなしで動きます。
ファイルは暗号化されますか?
はい、エンドツーエンドで。アップロード前に自分のマシンで暗号化され、鍵はリンクの #k= 断片にのみ存在し、サーバーには決して送られません。Relayium は読めない暗号文を、ファイル名も含めて保存します。
リンクを失ったら?
リンクは復号鍵の唯一の控えを運びます。失えばファイルは復旧不能です。サーバー側に復元できるものは何もありません。
誰がダウンロードできるか制限できますか?
リンクを持つ誰もがダウンロードできるので、非公開で共有してください。--burn で一度だけ、--max-downloads <n> で回数を制限し、--ttl <期間> で一定時間後に失効させられます。
ウェブサイトと連携しますか?
はい。relayium up のリンクはブラウザで開け、relayium.com で作った共有リンクは別のマシンで relayium down から取得できます。
自分のマシン間でファイルを移す準備はできましたか? CLI をインストールし、relayium login を実行して、up しましょう。
CLI を入手する