Spec · Setup Complete

모바일 + 외부 접속 완전 셋업 활용 가이드

사용자 Mac이 어디서든 작동하는 상태가 됐다. 폰에서 명령하면 Mac이 일하고, 결과물 HTML은 외부 어디서든 영구 URL로 볼 수 있다. 모든 컴포넌트는 Mac 부팅 시 자동 시작, 사용자가 따로 켤 필요 없음.

2026-05-05 업데이트 · 셋업 완료 후 일상 활용 가이드 · 8 min read
지금 이 페이지가 그 자체로 증거. 이 HTML은 사용자 Mac에서 돌고 있는 서버에서 발급되어, Tailscale Funnel을 통해 외부 인터넷으로 노출되고 있다. 폰·태블릿·외부 컴퓨터 어디에서든 같은 URL로 접속 가능.
At a glance

사용자가 가지고 있는 것

2
셋업된 채널
Remote Control + Funnel
영구 URL
재부팅에도 안 바뀜
0
월 구독료
전부 무료 티어
Auto
시작 모드
Mac 부팅 시 자동
URL Bookmarks

가장 중요한 두 가지 주소

📱 폰 → Mac 원격 제어Claude 모바일 앱 (App Store)
🌐 결과물 외부 접속https://midbar-mac-bookpro.tail6a7423.ts.net
폰 홈 화면에 추가 추천. 외부 접속 URL은 길어서 매번 입력하기 번거롭다. Safari에서 한 번 접속 → 공유 → "홈 화면에 추가" → 앱 아이콘처럼 한 탭으로 열림.
01 Feature 1

폰에서 Mac 작업 시키기 — Claude Code Remote Control

Mac 안에 켜진 Claude Code 세션을 폰에서 그대로 조작. 파일은 Mac에만 있고, 폰은 리모컨 역할.

시나리오 A — 새 작업 시작 (가장 일반적)

외출 중에 새로운 작업을 시키고 싶을 때.

1

폰 Claude 앱 → "코드" 탭

Mac에 떠 있는 세션 목록이 보임. 우측 상단에 주황색 ⊕ 버튼이 있다.

2

주황색 ⊕ 탭 → 메시지 입력

예: "트렌드 리포트 폴더 안의 모든 파일 검토해서 빠진 부분 알려줘"

3

전송 → Mac에서 자동 실행

새 세션이 Mac에 만들어지고 작업 시작. 답이 폰으로 돌아옴. 이름은 메시지 내용 기반으로 자동 지어짐.

시나리오 B — 데스크에서 하던 거 폰으로 이어받기

출근길에 어제 끝내지 못한 작업 계속하고 싶을 때.

1

Mac의 그 세션에서 슬래시 명령

Claude 대화창
/remote-control 트렌드리포트

이름은 원하는 대로. 이미 진행된 대화가 그대로 보존된 채 폰에서 이어볼 수 있게 됨.

2

폰 앱 세션 목록 새로고침

위에서 아래로 당겨 새로고침 → "트렌드리포트" 새 세션이 추가됨.

3

탭해서 들어가면 어제 대화 그대로

이어서 메시지 보내면 됨. Mac과 폰 양쪽에서 동시에 같은 대화 보면서 작업 가능.

시나리오 C — 매번 명령 없이 자동 노출

작업할 때마다 /remote-control 치는 게 귀찮으면 한 번만 켜두면 됨.

Claude 대화창에서 한 번만
/config

# 화살표로 항목 찾기
# "Enable Remote Control for all sessions" 토글 → true
# Esc로 닫기
장단점. 켜두면 모든 claude 세션이 자동으로 폰에서 보인다. 편하지만 어떤 세션이든 전부 노출되니, 비공개 작업이 섞이는 게 신경 쓰이면 매번 명시적으로 /remote-control만 쓰는 게 안전.

푸시 알림 받기

긴 작업이 끝나거나 결정이 필요할 때 폰으로 자동 알림.

Claude 대화창에서 한 번만
/config

# "Push when Claude decides" → true

또한 메시지 끝에 "끝나면 알림 줘" 한 줄 붙이면 그 작업 한정 푸시 보장.

02 Feature 2

HTML 결과물 어디서든 보기 — Tailscale Funnel

Mac 안의 HTML 결과물 폴더(~/Desktop/Claude/)가 영구 URL로 노출되어 있다. 카페·지하철·해외 어디서든 인터넷만 되면 접근 가능.

자동 시작 구조 — 사용자가 따로 할 일 없음

두 개의 컴포넌트가 Mac 부팅 시 자동으로 켜진다.

컴포넌트 역할 자동 시작 방식
Python HTTP 서버 (포트 8765) HTML 폴더를 웹서버로 노출 (localhost 한정) launchd 등록
com.midbar.claude-outputs
Tailscale Funnel localhost:8765를 외부 인터넷으로 라우팅 Tailscale 데몬 (Mac 시스템 서비스)
크래시 자동 복구. launchd가 KeepAlive=true로 설정되어 있어, HTTP 서버 프로세스가 어떤 이유로 죽어도 즉시 재시작된다. Tailscale도 시스템 서비스라 같은 방식으로 살아남음.
03 Daily patterns

실제 일상 시나리오

🚇 출근길

지하철에서 폰 → 어제 작업 세션 탭 → "어제 멈춘 부분부터 이어서 진행" → 도착하면 이미 진척돼 있음. 푸시 알림으로 완료 시점 확인.

☕️ 카페에서 자료 검토

외부 URL 홈 아이콘 탭 → 모든 결과물 인덱스 → 트렌드 리포트나 회사 분석 자료 폰으로 그대로 읽기. 회의 직전 빠르게 복습.

🛏 침대에서 사소한 수정

"index.html에서 첫 번째 항목 색깔만 강조" → Mac에서 실행되어 파일 수정 → 외부 URL 새로고침으로 즉시 확인.

💼 회의 중 메모

회의 도중 떠오른 아이디어 → 폰 → 새 세션 ⊕ → "이런 컨셉으로 1페이지 정리해줘" → 회의 끝날 때쯤 Mac에 HTML 완성.

✈️ 외근·출장

다른 도시·해외에서도 외부 URL 그대로 동작. Tailscale Funnel은 위치 무관. 호텔 와이파이, 4G/5G 어디서든 OK.

👥 자료 공유

특정 결과물을 다른 사람과 공유하고 싶을 때 그 페이지 URL 그대로 복사·전송. (단 폴더 내 모든 자료가 같이 보임 — 보안 섹션 참고)

04 Diagram

어떻게 동작하나 — 시스템 구성

2개 채널(Remote Control / Tailscale Funnel)이 각각 다른 Anthropic·Tailscale 서버를 거쳐 사용자 Mac으로 들어온다.

data flow
# 채널 1: 폰에서 Mac에 명령 (Claude Code Remote Control)
폰 Claude 앱 ──HTTPS──▶ Anthropic API ──HTTPS──▶ 사용자 Mac (claude 세션)
                                                       │
                                                       └─▶ 파일·터미널 실행
                                                       │
폰 Claude 앱 ◀──HTTPS── Anthropic API ◀──HTTPS── 답변 스트림

# 채널 2: 외부에서 HTML 보기 (Tailscale Funnel)
폰/외부 브라우저 ──HTTPS──▶ Tailscale Funnel 엣지 ──암호터널──▶ 사용자 Mac
                                                                   │
                                                                   └─▶ Python http.server (포트 8765)
                                                                   │
                                                                   └─▶ ~/Desktop/Claude/ 폴더의 HTML
왜 이렇게 둘로 나뉘나. Remote Control은 Claude Code 인증과 깊게 묶여 있고 작업 실행이 핵심이라 Anthropic 인프라를 통과한다. Funnel은 정적 HTML 파일 노출이 핵심이라 더 가벼운 Tailscale 경로가 적합. 둘은 독립적으로 동작하므로 한쪽이 멈춰도 다른 쪽은 계속 작동.
05 Cheat sheet

관리 명령어 (필요할 때만)

Remote Control 쪽

하고 싶은 것입력
현재 세션 폰에 노출/remote-control 이름
모든 세션 자동 노출/config → "Enable Remote Control for all sessions"
푸시 알림 켜기/config → "Push when Claude decides"
세션 이름 바꾸기/rename 새이름
세션 끄기Mac 터미널에서 Ctrl+C

Tailscale Funnel + HTTP 서버 쪽

하고 싶은 것명령
Funnel 잠시 끄기 (외부 접속 차단)tailscale funnel --https=443 off
Funnel 다시 켜기tailscale funnel --bg http://localhost:8765
HTTP 서버 끄기launchctl unload ~/Library/LaunchAgents/com.midbar.claude-outputs.plist
HTTP 서버 켜기launchctl load ~/Library/LaunchAgents/com.midbar.claude-outputs.plist
서버 로그 보기tail -f /tmp/claude-outputs.log
현재 Funnel 상태tailscale funnel status
Tailscale 전체 상태tailscale status
06 Troubleshooting

문제가 생기면

📱 폰에서 Mac 세션이 회색으로 표시

Mac이 절전 들어갔거나, claude 프로세스가 종료된 상태. 해결:

🌐 외부 URL이 안 뜸

🔔 푸시 알림이 안 와

💥 HTTP 서버가 죽었다고 나옴

이론상 launchd가 자동 재시작하지만, 안 되면:

launchctl unload ~/Library/LaunchAgents/com.midbar.claude-outputs.plist
launchctl load ~/Library/LaunchAgents/com.midbar.claude-outputs.plist
launchctl list | grep claude-outputs   # PID가 0이 아닌 숫자면 정상
07 Security

보안 — 꼭 알고 쓰세요

외부 URL은 인증이 없다. URL을 아는 사람은 누구든 사용자 결과물 폴더 전체를 볼 수 있다. URL 자체는 추측 거의 불가능(midbar-mac-bookpro.tail6a7423.ts.net)이지만, 한 번 새면 그 폴더 전체가 노출된다.

권장 습관

더 안전하게 쓰는 옵션

비밀번호 보호 추가하면 URL이 새도 비번을 모르면 못 봄. 원하면 별도 셋업:

현재 상태에서도 폰은 Tailscale 메시 안에 있음. 사용자 폰(iphone181)도 Tailscale 계정에 등록돼 있어, Funnel을 꺼도 폰에서는 tailscale serve 경로로 계속 접근 가능. 외부 카페·외근에서만 접속할 일이 적다면 Funnel을 끄고 Serve만 쓰는 게 가장 안전.
08 Habits

습관 만들기 — 잘 활용하는 사람이 되는 법

A

새 작업 시작할 때 이름부터 붙이기

/remote-control 트렌드, /remote-control 바디코디 — 이름 없으면 midbar-graceful-unicorn 같은 자동 이름이라 폰에서 헷갈림.

B

Mac 뚜껑은 안 닫기

닫으면 절전 → 폰 명령이 들어와도 처리 못 함. 화면만 잠그기 (Ctrl+Cmd+Q) 또는 클램쉘 모드 (외장 모니터·키보드 연결 시).

C

긴 작업 시킬 땐 "끝나면 알림 줘"

메시지 끝에 한 줄 추가하면 푸시 보장. 자리를 비워도 완료 시점에 폰에 알림.

D

외부 URL은 홈 화면에 추가

Safari에서 한 번 접속 → 공유 → "홈 화면에 추가" → 앱처럼 한 탭. 매번 URL 입력 안 함.

E

시작은 작게 — 한 작업만 폰으로

처음부터 모든 걸 모바일로 옮기려 하지 말고, 일단 "출퇴근길 코드 리뷰 한 가지만" 같은 좁은 시나리오부터. 익숙해지면 자연스럽게 확장됨.

09 Reference

설정된 파일·서비스 위치

나중에 어디 뭐가 있나 헷갈릴 때 참고.

대상위치 / 식별자
HTML 결과물 폴더/Users/midbar_/Desktop/Claude/
HTTP 서버 launchd 설정~/Library/LaunchAgents/com.midbar.claude-outputs.plist
HTTP 서버 로그/tmp/claude-outputs.log
HTTP 서버 포트 (로컬)127.0.0.1:8765
Tailscale 어드민login.tailscale.com/admin
외부 접속 URLhttps://midbar-mac-bookpro.tail6a7423.ts.net
Mac Tailscale 내부 IP100.96.137.44
iPhone Tailscale 내부 IP100.92.136.22

📌 한 장 요약

  1. 새 작업 → 폰 ⊕, 하던 거 이어받기 → Mac에서 /remote-control 이름
  2. 결과물 보기: 폰 홈 화면에 추가한 외부 URL 한 번 탭
  3. Mac은 항상 켜두기, 뚜껑 닫지 말기
  4. 긴 작업엔 "끝나면 알림 줘" 한 줄
  5. URL은 비공개로 — 캡쳐·전송 시 한 번 더 생각

셋업 완료일 2026-05-04 · 가이드 업데이트 2026-05-05
문제 생기면 이 페이지의 "06 Troubleshooting" 섹션 참고