Cloudflare Tunnel

포트포워딩을 할 수 없을 때 Cloudflare Tunnel로 에이전트 포트를 외부에 엽니다. 무료이고, 내 도메인을 쓰면 주소가 고정됩니다.

번역된 페이지입니다. 영어 문서와 내용이 다르면 영어 문서가 기준입니다. English

적합한 경우: 포트포워딩을 할 수 없거나 하고 싶지 않고, PC에서 cloudflared를 실행할 수 있을 때. 적합하지 않은 경우: 경로에 제3자 서비스를 전혀 두고 싶지 않을 때(포트포워딩을 쓰세요), 또는 PC 자체가 자주 오프라인일 때.

PC에서 cloudflared가 돌면서 Cloudflare로 나가는 연결을 유지합니다. 폰은 터널의 공개 HTTPS 주소로 접속하고, Cloudflare가 WebSocket을 에이전트 포트로 넘겨 줍니다. TLS는 Cloudflare에서 종료되지만, 그 안의 Droidline 줄은 종단간 암호화된 상태 그대로입니다.

빠른 터널로 시험해 보기

빠른 터널(quick tunnel)은 계정이 필요 없습니다. cloudflared를 다시 시작할 때마다 주소가 바뀌므로 시험용으로 쓰세요.

cloudflared tunnel --url http://localhost:8779

https://words-words.trycloudflare.com 같은 주소가 출력됩니다. 이 주소를 wss 스킴과 /agent 경로로 바꿔 config.toml에 추가합니다.

[remote]
addresses = ["wss://words-words.trycloudflare.com/agent"]

droidline serve를 다시 시작한 뒤 폰을 페어링하거나, 이미 페어링된 폰을 와이파이로 한 번 접속시킵니다.

내 도메인으로 고정 주소 쓰기

무료 Cloudflare 계정과 Cloudflare에 등록한 도메인이 있다면:

cloudflared tunnel login
cloudflared tunnel create droidline
cloudflared tunnel route dns droidline droid.example.com
cloudflared tunnel run --url http://localhost:8779 droidline
[remote]
addresses = ["wss://droid.example.com/agent"]

PC가 켜질 때 터널도 시작되도록 cloudflared를 서비스로 설치하세요. 운영체제별 방법은 Cloudflare 문서에 있습니다.

확인하기

curl https://droid.example.com/healthz를 실행하면 ok가 출력되어야 합니다. 와이파이를 끈 폰은 droidline devices에서 경로가 tunnel로 나옵니다.