언제 앱별 프록시가 필요할까요?
스마트폰에서 Clash for Android나 Mihomo 코어를 쓰는 포크 앱을 실행하면, 기본적으로는 「VPN 세션 안으로 들어온 트래픽을 규칙으로 나눈다」는 그림이 됩니다. 그런데 많은 사용자가 원하는 것은 한 걸음 더 좁힌 형태입니다. 즉 특정 앱 몇 개만 브라우저, 메신저, 메일처럼 프록시 경로를 타우고, 나머지 앱(결제, 숏폼, 지도, 게임 등)은 가능한 한 직접 연결을 유지해 지연을 줄이고, 서비스 측 VPN 감지·리스크 판단을 피하며, 데이터 요금도 아끼고 싶다는 요구입니다.
Android는 VPN 앱에 앱 단위 분할(per-app split)을 허용합니다. 클라이언트마다 메뉴 이름이 「앱별 프록시」「앱 필터」「바이패스 모드」처럼 조금씩 다르지만, 개념은 같습니다. 이 기능을 켜면 선택된 UID(앱)만 터널에 들어가고, 목록에 없는 앱은 보통 Clash의 TUN/VPN 인터페이스를 거치지 않습니다. 데스크톱에서 흔히 쓰는 「시스템 전체 프록시 + 규칙」과는 다른, 모바일에 잘 맞는 범위 제어 방식이라고 보면 됩니다.
시작하기 전에 확인할 것
- 쓸 만한 구독이나 로컬 프로필이 이미 들어가 있고, 노드 연결이 되는 상태인지 먼저 확인합니다. 아직이라면 《Clash 구독 링크 가져오기》 흐름과 맞춰 보는 것이 좋습니다.
- Android가 앱에 VPN 권한을 줘야 합니다. 터널을 처음 켤 때 시스템 대화상자에서 반드시 허용해야 하며, 한번 거부했다면 설정 앱에서 해당 앱 권한을 다시 열어야 합니다.
- 공식 Clash for Android, Meta 기반 빌드, 커뮤니티 포크 등 배포판마다 메뉴 위치와 문구가 조금 다릅니다. 아래 경로는 일반적인 뼈대이므로, 설치한 버전 화면을 기준으로 대응해 주세요.
클라이언트에서 어디로 들어가나요? (재현 가능한 경로)
문구는 빌드마다 다르지만, 대개 설정 → 네트워크 / VPN 근처에 모여 있습니다. 다음 순서로 찾아 보세요.
- 햄버거 메뉴 또는 하단 탭에서 설정(Settings)으로 이동합니다.
- 네트워크(Network), VPN, 또는 라우팅·분할 그룹을 엽니다.
- Per-App Proxy, 앱별 프록시, 앱 필터, 앱 분할 같은 항목을 찾습니다.
목록 화면에 들어가면 가장 먼저, 지금 모드가 「체크한 앱만 프록시」인지 「체크한 앱은 우회(직접 연결)」인지를 읽어야 합니다. 둘은 거울 관계라서 반대로 이해하면 「체크했는데 전혀 안 탄다」거나 「안 고른 앱까지 다 들어간다」는 착시가 생깁니다. 전체 선택·반전 버튼이 있다면, 처음에는 모두 해제한 뒤 소수만 체크해 검증하는 편이 안전합니다.
앱별 프록시 켜기: 권장 순서
- 검증된 프로필을 고른 뒤, 우선 앱별 모드를 끈 상태에서 전체 터널로 기본 연결이 되는지 확인합니다. 이렇게 해야 권한 문제와 목록 로직을 분리해서 볼 수 있습니다.
- 앞 절의 경로로 들어가 스위치를 켜고, 「프록시만 / 우회만」 의미를 다시 한번 확인합니다.
- 앱 목록에서 목표 앱만 소수 골라 체크합니다. 예를 들어 브라우저 하나만 먼저 넣고 저장한 뒤 VPN을 다시 연결해, 그 앱만 기대한 경로로 나가는지 봅니다.
- 국내 앱이 로그인 오류·본인인증 실패를 일으키면 해당 앱을 우회 쪽에 넣거나 프록시 목록에서 빼고, 연결을 한 번 끊었다가 다시 맞춥니다.
일부 기기에서는 앱별 목록을 바꾼 뒤 VPN을 끊었다가 다시 연결해야 새 UID 집합이 반영됩니다. 「원터치 절전」이나 백그라운드 정리 앱이 Clash 프로세스를 죽이면 터널이 갑자기 사라지기도 하므로, 클라이언트를 백그라운드 잠금하거나 해당 앱에 대한 자동 종료를 끄는 것이 좋습니다.
워크 프로필, 듀얼 앱, 클론 앱
Android의 워크 프로필, 제조사 앱 복제·듀얼 메신저, 「쌍둥이」 공간은 서로 다른 사용자 UID에 매핑되는 경우가 많습니다. 앱별 목록에는 「지금 로그인한 사용자 공간」에 설치된 패키지가 보입니다. 브라우저가 워크 프로필 안에만 있는데 개인 프로필 목록에서만 체크하면 「체크했는데 안 탄다」가 됩니다. 해결은 해당 사용자 공간에서 다시 설정하거나, 테스트용으로 메인 공간에 앱을 두는 방식입니다.
우회(바이패스) 목록에 보통 누구를 넣나요?
실무에서는 아래 유형을 Clash 밖(직접 연결)으로 두는 경우가 많습니다.
- 뱅킹·간편결제·공공 앱: VPN·루팅 환경을 감지해 차단하거나 본인확인을 막는 경우가 있습니다.
- 통신·시스템 구성요소: 문자, 전화, 일부 기기의 시스템 업데이트 모듈 등, 기본 통신이 흔들리지 않게 하려는 목적입니다.
- 이미 국내 전용 회선을 쓰는 스트리밍·음악 앱: 국경을 넘길 필요가 없다면 직결이 지연·데이터 측면에서 유리한 경우가 많습니다.
목록은 한 번 고정이 아니라 앱을 새로 설치할 때마다 조정하는 편이 좋습니다. 「Clash만 켜면 이상해지는 앱」이 생기면 우선 프록시 집합에서 빼 보는 것이 가장 빠른 진단입니다.
앱별 프록시와 「규칙 모드」는 어떤 관계인가요?
앱별 프록시는 어떤 프로세스가 VPN 안으로 들어올지를 고릅니다. 설정 파일의 rules:는 이미 Clash에 들어온 트래픽을 어디로 보낼지를 정합니다. 두 단계가 겹칩니다. 목록에 없는 앱은 애초에 DOMAIN·GEOIP 규칙에 닿지 않고, 목록에 넣은 앱만 YAML에 적은 정책 그룹과 규칙 세트를 탑니다.
터널에 넣은 앱의 트래픽을 전부 노드로 보내고 국내 직접 연결은 쓰지 않으려면, 규칙 쪽에서 MATCH를 원하는 프록시 그룹으로 두어야 합니다. 도메인 단위로 국내는 DIRECT·해외는 프록시를 유지하려면 《Clash 규칙 분류 설정》에서 다루는 순서와 맞물립니다. 차이는 데스크톱이 아니라 모바일에서 앱 차원의 전처리가 앞에 붙는다는 점뿐입니다.
자주 겪는 문제와 점검 순서
- 앱을 골랐는데도 프록시를 안 탄다: 「우회 / 프록시만」 모드를 반대로 본 것은 아닌지, VPN 재연결이 필요한지, 대상 앱이 WebView·별도 네트워크 프로세스로 쪼개져 UID가 다른지 확인합니다. 클라이언트 연결 로그에 해당 앱의 요청이 보이는지로 「터널 미진입」과 「터널 진입 후 규칙 오매칭」을 가릴 수 있습니다.
- 연결이 자주 끊긴다: 「설정 → 배터리 → 앱 배터리」에서 Clash를 제한 없음 또는 백그라운드 허용으로 두고, Xiaomi·OPPO·vivo·화웨이 등은 보안·배터리 앱에서 자동 실행·연관 실행도 함께 허용합니다.
- 잠금 화면만 가면 끊긴다: 「설정 → 네트워크 및 인터넷 → VPN」에서 해당 프로필의 항상 켜진 VPN(Always-on)은 클라이언트를 신뢰할 때만 켜세요. 다른 상용 VPN과 동시에 켤 수 없는 경우가 많습니다. 그렇지 않다면 최근 앱에서 카드를 잠그고 「깊은 절전」만 끄는 조합이 무난합니다.
- 비공개 DNS나 다른 VPN과 충돌: Android는 활성 VPN이 보통 하나뿐입니다. 다른 「항상 연결」 터널을 끄고 다시 시도합니다.
터널 안으로 들어온 뒤에도 도메인별로 더 잘게 나누고 싶다면 결국 프로필의 규칙을 손봐야 합니다. 모바일 UI는 데스크톱만큼 직관적이지 않으니, 먼저 플랫폼 공통 문서로 전체 흐름을 잡고 돌아와 앱 목록을 조정하면 디버깅이 빨라집니다.
정리
Clash for Android 앱별 프록시는 시스템이 제공하는 앱 단위 필터로 「누가 터널에 들어올지」를 줄이고, 그 안에서 Clash가 정책과 노드를 고르게 하는 구조입니다. 처음부터 전체 선택보다 소수 앱으로 검증 → 점진적으로 확장하는 방식이 시간을 덜 씁니다.
데스크톱에서 IDE만 개발자 회선으로 보내는 것과 비슷한 「앞단 필터」 감각은 《Clash 분기로 Cursor 안정화》에서도 다룹니다. 설치 패키지는 공식 다운로드 페이지에서 플랫폼별로 고를 수 있습니다. → Clash를 무료로 내려받아 모바일·데스크톱 모두에서 일관된 분할 라우팅 경험을 확인해 보세요.