두 컴퓨터가 동시에 켜져 있는 일이 결코 없을 때가 있습니다. 오늘 밤 업무용 노트북에서 파일을 올려두고 내일 집 데스크톱에서 받고 싶은데, 실시간 연결을 기다리는 사람은 아무도 없습니다. 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는 계정이 필요 없습니다.
시작하기 전에
첫 up 전에 한 번만 해두면 되는 두 가지 — CLI 설치와 계정 준비입니다. 둘 다 있으면 건너뛰세요.
curl -fsSL https://relayium.com/install.sh | sh
먼저 CLI를 설치해 relayium 명령이 존재하게 합니다. 위 한 줄이 미리 빌드된 바이너리를 PATH에 올립니다(macOS와 Linux; Windows는 releases 페이지에서 .zip을 받으세요). relayium --version으로 설치를 확인할 수 있고, relayium.com/cli에 모든 설치 방법이 있습니다. 이 단계를 건너뛰면 relayium login은 “command not found”만 출력합니다.
무료 Relayium 계정을 준비합니다. 브라우저 단계는 본인 계정에 대해 로그인을 승인하므로, 승인하려면 먼저 계정이 있어야 합니다 — relayium.com에서 로그인하거나 없으면 거기서 새로 만드세요. 계정이 필요한 것은 업로드뿐이고 다운로드에는 필요 없습니다.
이 기기를 계정에 바인딩하기 (한 번만)
up은 누구의 계정에 저장할지 알아야 하므로 기기마다 한 번 로그인합니다. 브라우저에서 승인하는 기기 로그인이며, 터미널에는 확인할 코드 외에는 아무것도 입력하지 않습니다:
relayium login
CLI가 짧은 코드와 URL(relayium.com/device)을 표시합니다. relayium.com에 로그인된 브라우저에서 열어(로그인되어 있지 않으면 먼저 거기서 로그인) 코드를 입력하고 승인하면 이 기기가 바인딩됩니다.
로그인 정보는 ~/.config/relayium/ 아래 저장되므로 기기마다 한 번이면 됩니다. relayium whoami로 바인딩 대상을 보고, relayium logout으로 지웁니다.
나중에 기기를 취소하려면 브라우저의 계정 '기기' 페이지에서 해당 기기를 삭제하세요.
첫 번째 컴퓨터에서 업로드
up은 준 파일들을 훑어 로컬에서 암호화하고 암호문을 업로드한 뒤 수령용 링크를 출력합니다:
relayium up ./report.pdf
# → https://relayium.com/d/7fK2p…#k=Xr8s…
# 얼마나 살려둘지 고르기(기본값 24시간):
relayium up ./report.pdf --burn # 한 번 다운로드 후 삭제
relayium up ./report.pdf --ttl 7d # 7일간 보관(상한은 요금제에 따라 다름)
relayium up ./report.pdf --max-downloads 5 # 5회까지 허용 후 삭제
링크가 전달의 전부입니다 — 다른 기기가 읽을 수 있는 곳에 복사하세요. 링크를 가진 누구나 파일을 다운로드할 수 있으니 비밀번호처럼 다루세요.
보관: --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이 실제로 얼마나 보관되는지 한 줄로 알려줍니다.
up은 로그인이 필요합니다. 되어 있지 않으면 알려주고 아무 일도 하지 않습니다.
두 번째 컴퓨터에서 다운로드
다른 기기에서 링크를 down에 건넵니다. 로그인도 설정도 필요 없습니다 — 파일을 복호화하는 키가 링크 안에 있으므로 down은 계정에서 아무것도 필요로 하지 않습니다:
relayium down 'https://relayium.com/d/7fK2p…#k=Xr8s…' ./downloads
relayium down '<내 링크>' <대상 디렉터리>
링크는 따옴표로 감싸세요: #k=… 조각이 복호화 키를 담고 있는데 일부 셸은 # 을 주석 시작으로 취급합니다.
대상 디렉터리(여기서는 ./downloads)를 주거나 생략해 현재 디렉터리에 받습니다.
파일이 번(burn) 설정이거나 다운로드 한도에 도달했거나 만료되었으면 링크는 소진된 것이고, down은 사라졌다고 알립니다.
웹사이트와도 연동
이 링크는 웹사이트가 쓰는 것과 같으므로 CLI와 브라우저가 자유롭게 연동됩니다:
relayium up의 링크는 브라우저에서 열립니다 — CLI가 없는 사람에게 건네면 웹에서 다운로드합니다.
relayium.com에서 만든 공유 링크는 다른 기기에서 relayium down으로 받을 수 있습니다.
서버가 볼 수 있는 것과 없는 것
클라우드 전송은 종단간 암호화를 유지합니다:
파일은 업로드 전에 내 기기에서 암호화됩니다. 복호화 키는 링크의 #k= 조각에만 있고 서버로 전송되지 않습니다 — Relayium은 읽을 수 없는 암호문을 파일 이름까지 포함해 저장합니다.
그래서 링크가 파일로 돌아가는 유일한 길입니다: 잃으면 파일은 복구할 수 없습니다. 본인도, 저희도.
자주 묻는 질문
계정이 필요한가요?
업로드할 때, 그리고 코드를 발급해야 하는 보내기일 때요. 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 하세요.