TL;DR

  • Tailscale Taildrop의 리눅스 명령줄 인터페이스가 번거로워, 파일을 받는 tailget과 보내는 tailsend 스크립트로 전송 과정을 간소화함.
  • Taildrop은 개인 기기와 휴대전화가 포함된 tailnet에서 기기 간 파일을 전송하는 기능이며, 안드로이드에서는 거의 매끄럽게 사용할 수 있음.
  • 파일 수신 스크립트는 tailscale file get --verbose --wait를 실행하고, 선택적으로 다운로드 위치를 인수로 받음.
  • 파일 전송 스크립트는 tailscale status의 기기 목록을 fzf 선택기에 전달해 목적지를 고르고 tailscale file cp로 전송함.
  • 두 스크립트 모두 Tailscale 연산자 설정 관련 이슈를 우회하며, 안드로이드 알림과 리눅스 CLI 출력 개선이 필요하다는 의견을 제시함.

Tailscale Taildrop과 리눅스 사용 경험

  • 2026년 9월 29일, Tailscale의 Taildrop 기능을 알게 됨. 이 기능은 xkcd 949가 다룬 전형적인 인터넷 문제를 해결하는 방법임.
  • 개인 기기와 휴대전화가 포함된 tailnet을 사용하므로 Taildrop을 여러 상황에서 활용할 수 있으며, 휴대전화에서 Google Drive 동기화를 기다리는 시간을 줄일 수 있었을 것이라는 아쉬움을 밝힘.
  • 안드로이드에서는 거의 매끄럽게 작동하지만, 리눅스에서는 모든 작업을 다소 어색한 인터페이스의 명령줄에서 처리해야 함.
  • 파일 수신 명령은 tailscale file get <location>임.
  • 파일 전송 명령은 tailscale file cp <file> <destination>:임.
  • 빠르고 간편해야 할 작업치고는 입력할 내용이 많음. 다만 알파 기능인 만큼 큰 문제로 여기지는 않으며, 알파 단계를 벗어나면 인터페이스가 개선될 것으로 예상함.

파일 수신용 `tailget`

  • 명령줄 입력을 줄이기 위해 파일 수신 스크립트 tailget을 구성함.
  • 스크립트는 tailscale debug prefs에서 OperatorUser 값을 확인하고, 값이 null이면 sudo tailscale set --operator=$USER를 실행함. 이 동작은 Tailscale 이슈 18294에 대한 우회 방법임.
  • 기본 다운로드 위치는 현재 디렉터리이며, 첫 번째 인수를 지정하면 해당 위치로 바뀜.
  • tailscale file get --verbose --wait를 실행해 전송 파일을 기다림. 다른 기기에서 전송을 시작한 뒤 스크립트를 실행하는 방식으로 사용한다면 --wait를 제거할 수 있음.
  • tailget만 입력하면 현재 디렉터리로 다운로드하며, tailget ~/Downloads처럼 위치를 지정할 수도 있음.

파일 전송용 `tailsend`

  • tailnet의 기기 이름을 일일이 기억해야 하는 불편을 줄이기 위해 전송 스크립트 tailsend를 구성함.
  • tailscale status의 출력을 awk로 처리해 기기 목록을 얻고, fzf 선택기로 목적지를 고른 뒤 tailscale file cp --verbose로 파일을 전송함.
  • tailscale과 awk 사이에 grep을 넣으면 오프라인 기기를 제외할 수도 있음. 노트북은 덮개를 닫으면 오프라인이 되는 특성이 있어 이 필터는 추가하지 않음.
  • tailsend <file>을 입력하면 기기 선택기가 나타나며, 선택한 기기로 파일을 보냄.

Tailscale에 바라는 개선점

  • 현재 리눅스 사용 경험은 다소 어색하지만, Tailscale이 Taildrop을 제공하는 점은 반가우며 기능이 더 개선되기를 바람.
  • 안드로이드 앱 설정에서 대상 폴더를 선택하지 않아 전송이 실패할 때, 실패 알림이 표시되지 않음. 한동안 원인을 파악하기 어려웠음.
  • 안드로이드 앱은 다른 사용자가 Taildrop으로 파일을 보냈을 때도 알림을 제공하지 않음. 문서상으로는 알림이 제공되어야 하는 것처럼 보여 수정이 필요하다는 의견임.
  • 리눅스 CLI의 자세한 출력은 다소 보기 좋지 않으며, 줄바꿈을 추가하고 다듬으면 개선될 수 있음. Tailscale이 오픈 소스이므로 직접 살펴보고 기여할 가능성도 있음.
  • 사용 중인 tailnet에는 리눅스 데스크톱 두 대, 리눅스 서버 한 대, 안드로이드 휴대전화 한 대, 그리고 마지못해 사용하는 윈도우 기기 한 대가 포함됨.
  • 각주에서 taildropped가 새로 만들어진 단어인지 질문함.