sing-box는 여러 네트워크 프로토콜과 전송 방식을 하나의 클라이언트 설정 체계에서 다룰 수 있는 오픈 소스 프록시 플랫폼입니다. 단순히 특정 서버에 접속하는 앱이라기보다, 인바운드와 아웃바운드, 라우팅 규칙, DNS, 프로토콜별 매개변수를 조합해 트래픽 흐름을 설계하는 엔진에 가깝습니다. 그래서 설정 파일에 표시된 이름만 보고 가장 빠른 프로토콜을 고르기보다는, 사용하는 기기와 네트워크 환경, 필요한 앱의 호환성, 배터리와 안정성까지 함께 판단해야 합니다.
이 글에서는 sing-box의 기본 작동 원리를 먼저 살펴보고, Shadowsocks, VMess, Trojan, Hysteria2, WireGuard의 구조와 특징을 비교합니다. 이어서 모바일, 게임, 영상 시청, 업무용 연결처럼 목적이 다른 상황에서 어떤 기준으로 선택하면 좋은지 설명하고, 구독 가져오기와 라우팅 설정을 점검하는 실전 순서까지 정리합니다. 특정 프로토콜이 모든 환경에서 항상 우수한 것은 아니므로, 이름보다 실제 경로와 클라이언트 지원 여부를 확인하는 것이 핵심입니다.
sing-box의 기본 작동 흐름
sing-box는 애플리케이션의 요청을 받아 어떤 방식으로 처리할지 결정합니다. 운영체제의 시스템 프록시를 통해 전달된 요청일 수도 있고, TUN 모드에서 가상 네트워크 인터페이스를 통해 들어온 요청일 수도 있습니다. 이후 라우팅 규칙이 도메인, IP, 포트, 앱 또는 목적지 그룹을 기준으로 요청을 직접 보낼지, 특정 아웃바운드로 전달할지 선택합니다.
애플리케이션 요청
→ 시스템 프록시 또는 TUN 인바운드
→ DNS 및 라우팅 규칙 확인
→ 직접 연결 또는 프로토콜별 아웃바운드 선택
→ 원격 서버와 통신
→ 응답을 같은 경로로 반환
여기서 인바운드는 sing-box가 로컬 기기에서 요청을 받아들이는 입구입니다. 시스템 프록시는 프록시를 인식하는 앱에 적합하고, TUN은 프록시 설정을 직접 지원하지 않는 앱까지 가상 인터페이스를 통해 처리할 수 있습니다. 다만 TUN을 켠다고 모든 문제가 자동으로 해결되는 것은 아닙니다. 라우팅 규칙이 잘못되면 로컬 서비스까지 원격 경로로 보내거나, DNS 요청과 실제 연결의 경로가 서로 달라질 수 있습니다.
아웃바운드는 외부로 나가는 방식입니다. 직접 연결, 특정 서버를 거치는 Shadowsocks·VMess·Trojan·Hysteria2, 그리고 WireGuard 같은 터널 방식이 여기에 해당합니다. 하나의 구성 안에 여러 아웃바운드를 등록하고 도메인이나 목적지에 따라 선택할 수 있다는 점이 sing-box의 중요한 장점입니다. 그러나 기능이 많을수록 설정 항목도 늘어나므로, 처음부터 복잡한 규칙을 모두 추가하기보다 기본 연결을 확인한 뒤 필요한 규칙만 단계적으로 늘리는 편이 안전합니다.
주요 프로토콜의 구조와 특징 비교
프로토콜은 서버와 클라이언트가 데이터를 포장하고 인증하며 전송하는 규칙입니다. 실제 체감 성능은 프로토콜만으로 결정되지 않고 서버 위치, 회선 품질, 혼잡도, 암호화 방식, 전송 계층, 기기의 처리 능력에 의해 함께 달라집니다. 아래 표는 절대적인 순위를 정하는 것이 아니라 각 방식의 선택 방향을 비교한 것입니다.
| 프로토콜 | 구조적 특징 | 장점 | 주의할 점 | 어울리는 상황 |
|---|---|---|---|---|
| Shadowsocks | 경량 암호화 프록시 | 설정이 비교적 단순하고 다양한 클라이언트에서 지원 | 전송 방식과 서버 구성이 단순하면 네트워크 환경에 영향을 받을 수 있음 | 일상적인 웹 접속, 가벼운 모바일 사용 |
| VMess | 인증과 전송 설정을 조합하는 프록시 방식 | 기존 구독 생태계와 여러 전송 구성을 활용할 수 있음 | UUID, TLS, 전송 방식 등 항목이 많아 오입력 가능성이 있음 | 기존 VMess 구독을 유지해야 하는 환경 |
| Trojan | TLS 기반 연결을 활용하는 프록시 방식 | TLS 관련 구성이 명확하면 일반적인 보안 연결 구조와 잘 맞음 | 서버 이름, 인증 정보, TLS 설정이 서로 일치해야 함 | 안정적인 TCP 기반 연결과 웹 호환성을 중시하는 경우 |
| Hysteria2 | QUIC 계열 전송을 활용하는 프로토콜 | 일부 손실이나 혼잡 환경에서 빠른 반응을 기대할 수 있음 | UDP가 제한된 네트워크에서는 연결이 불안정하거나 실패할 수 있음 | 영상, 대용량 전송, 변동이 큰 네트워크 |
| WireGuard | 현대적인 암호화 터널 VPN | 구조가 비교적 간결하고 모바일·라우터·운영체제 지원이 넓음 | 전체 터널과 분할 라우팅을 어떻게 구성할지 별도 판단이 필요 | 기기 전체의 네트워크 경로를 일관되게 관리하는 경우 |
Shadowsocks는 가벼운 프록시를 원하는 사용자에게 이해하기 쉬운 선택지입니다. 다만 ‘가볍다’는 표현이 모든 네트워크에서 가장 빠르다는 뜻은 아닙니다. 서버와 사용자 사이의 공용 인터넷 경로가 혼잡하면 프로토콜을 바꿔도 문제가 남을 수 있습니다. VMess는 이미 해당 형식의 구독을 사용하고 있을 때 유용하지만, 수동 입력 시 주소와 포트뿐 아니라 UUID, TLS, 전송 방식, 서버 이름을 함께 확인해야 합니다.
Trojan은 TLS를 활용하므로 웹 연결과 비슷한 구성으로 운영되는 경우가 많습니다. 인증서 검증을 끄거나 서버 이름을 임의로 바꾸면 연결은 되더라도 보안성과 안정성이 떨어질 수 있으므로, 제공된 설정을 그대로 가져온 뒤 필요한 항목만 수정해야 합니다. Hysteria2는 UDP 기반 특성 때문에 회선 상태에 따라 좋은 반응성을 보일 수 있지만, 회사나 공공 네트워크처럼 UDP가 제한된 장소에서는 TCP 계열 방식이 더 현실적일 수 있습니다.
WireGuard는 전통적인 프록시와 달리 네트워크 터널에 가까운 방식입니다. 따라서 앱별 프록시보다 기기 전체 연결을 일관되게 처리하려는 사용자에게 잘 맞습니다. 반면 특정 국내 서비스는 직접 연결하고 일부 목적지만 터널로 보내려면 별도의 라우팅 설계가 필요합니다. sing-box에서 WireGuard를 사용하더라도 DNS와 허용 IP, 분할 라우팅을 함께 확인해야 합니다.
5
비교한 주요 방식
TCP
웹 호환성을 중시할 때
UDP
QUIC 계열 전송의 기반
TUN
앱 전체 요청을 받는 방식
용도별 프로토콜 선택 기준
모바일과 배터리
모바일에서는 최고 속도보다 재연결 안정성, 백그라운드 동작, 배터리 사용량, 네트워크 전환 대응이 중요합니다. Wi-Fi와 이동통신을 자주 오가는 환경이라면 연결이 끊겼을 때 자동 복구가 잘 되는지 확인해야 합니다. TUN 모드는 많은 앱을 한 번에 처리할 수 있지만, 사용하지 않는 앱의 요청까지 규칙에 따라 관리하게 되므로 배터리와 데이터 사용량에 영향을 줄 수 있습니다.
가벼운 웹 접속과 메신저 중심이라면 Shadowsocks처럼 구성이 단순한 방식부터 시험하는 것이 좋습니다. 기존 구독이 VMess 또는 Trojan으로 제공된다면 해당 방식의 설정을 억지로 다른 프로토콜로 변환하지 말고, 공식적으로 제공되는 노드를 사용하세요. Hysteria2는 이동 중인 네트워크에서 유리할 때도 있지만 UDP 품질이 나쁜 장소에서는 오히려 재연결이 잦을 수 있습니다.
게임과 핑
게임에서는 다운로드 속도보다 왕복 시간의 일관성, 패킷 손실, 경로 변경 여부가 더 중요합니다. 프로토콜 이름만으로 핑을 예측할 수 없으며, 게임 서버와 가까운 출구를 고르는 것과 게임 관련 도메인만 해당 아웃바운드로 보내는 것이 우선입니다. 전체 트래픽을 우회하면 업데이트나 음성 채팅까지 같은 경로를 사용해 불필요한 부하가 생길 수 있습니다.
UDP를 사용하는 게임은 UDP 전달을 지원하는지 확인해야 합니다. TCP 기반 프록시를 무조건 게임 전체에 적용하면 로그인은 되지만 실제 플레이나 음성 기능이 제대로 작동하지 않을 수 있습니다. 반대로 WireGuard나 Hysteria2를 사용할 때도 해당 네트워크가 UDP를 허용하는지, DNS 규칙이 게임 서비스의 지역 판정과 충돌하지 않는지 확인해야 합니다.
영상 시청과 대용량 전송
영상 시청에서는 순간적인 최고 속도보다 지속적인 전송, 버퍼링 회복, 서비스의 지역 판정, DNS와 출구 주소의 일치가 중요합니다. Hysteria2는 손실이나 혼잡이 있는 환경에서 선택지가 될 수 있지만, 모든 서비스와 네트워크에서 동일한 결과를 보장하지는 않습니다. TCP 기반 Trojan이나 Shadowsocks가 더 안정적인 경우도 있으므로 같은 지역의 여러 노드를 번갈아 확인해야 합니다.
영상 서비스가 연결을 허용하지 않는다면 프로토콜만 바꾸기 전에 출구 IP, DNS, 브라우저 쿠키, 계정 지역 설정을 점검하세요. 브라우저만 프록시를 사용하고 앱은 직접 연결하는 구조라면 앱에서 다른 지역으로 인식되지 않을 수 있습니다. 반대로 TUN을 사용하면 앱까지 경로가 바뀔 수 있으므로, 필요한 서비스만 규칙으로 지정하는 방법을 고려할 수 있습니다.
업무와 개발 도구
업무용 연결은 장시간 유지와 예측 가능한 장애 복구가 중요합니다. 문서, 화상회의, 원격 데스크톱, 패키지 저장소처럼 서로 다른 서비스가 함께 사용되므로 전역 모드보다 규칙 모드가 관리하기 쉽습니다. 회사 내부 주소나 프린터, 파일 공유는 직접 연결 목록에 넣고, 외부 업무 서비스만 선택한 아웃바운드로 보내면 로컬 업무 기능이 불필요하게 우회되는 일을 줄일 수 있습니다.
VMess와 Trojan은 기존 구독에서 자주 보이는 선택지이고, WireGuard는 기기 전체의 터널을 안정적으로 유지해야 할 때 검토할 수 있습니다. 다만 원격 데스크톱은 연결이 끊겼을 때 세션이 종료될 수 있으므로, 업무 중에는 자동 노드 전환을 지나치게 공격적으로 설정하지 않는 편이 낫습니다. 설정을 변경하기 전 현재 구성을 내보내거나 복사해 두면 문제가 생겼을 때 이전 상태로 돌아가기 쉽습니다.
sing-box 설정을 직접 점검하는 순서
sing-box를 처음 설정할 때는 여러 프로토콜을 한꺼번에 비교하기보다 하나의 노드로 기본 흐름을 완성하는 것이 좋습니다. VncVPN의 구독을 지원하는 클라이언트라면 먼저 사용 튜토리얼에서 플랫폼별 가져오기 방법을 확인하고, sing-box 호환 클라이언트에서 구독 링크를 안전하게 등록합니다. 구독 링크에는 인증 정보가 포함될 수 있으므로 공개 문서나 대화방에 그대로 붙여 넣지 마세요.
- 사용 중인 클라이언트가 sing-box 형식과 선택한 프로토콜을 지원하는지 확인합니다. 앱마다 지원하는 전송 옵션과 TUN 기능이 다를 수 있습니다.
- 구독을 가져온 뒤 노드 이름, 서버 주소, 포트, 인증 정보가 정상적으로 표시되는지 확인합니다. 수동으로 값을 덧붙이기보다 원본 설정을 우선 사용하세요.
- 처음에는 시스템 프록시 또는 클라이언트의 기본 모드로 연결합니다. 웹 브라우저에서 페이지가 열리고 연결 로그에 인증 오류가 없는지 살펴봅니다.
- 연결 후 IP 검사에서 공인 출구 주소와 DNS 결과를 확인합니다. 표시 지역이 기대와 다르면 노드 이름만 믿지 말고 실제 결과를 기준으로 판단합니다.
- 기본 연결이 확인된 다음 필요한 경우 TUN을 켭니다. TUN을 사용한 뒤에는 로컬 사이트, 메신저, 게임, 영상 앱처럼 사용 빈도가 높은 서비스를 각각 테스트합니다.
- 직접 연결 규칙과 프록시 규칙을 최소한으로 추가하고, 규칙을 하나씩 변경할 때마다 어떤 요청이 어느 아웃바운드로 갔는지 로그에서 확인합니다.
연결이 실패하면 먼저 인증 정보와 서버 주소를 확인하고, 그다음 TLS의 서버 이름과 인증서 검증, 전송 방식, UDP 지원 여부를 살펴봅니다. 모든 노드가 동시에 실패한다면 프로토콜보다 구독 만료, 네트워크 차단, DNS 오류, 클라이언트 버전 문제일 가능성도 있습니다. 하나의 노드만 실패한다면 해당 노드의 서버 상태나 설정 불일치를 우선 의심하는 것이 합리적입니다.
속도가 기대보다 낮을 때는 프로토콜을 계속 바꾸기보다 테스트 조건을 고정하세요. 같은 기기와 같은 네트워크에서 비슷한 시간대에 같은 목적지를 비교하고, 백그라운드 다운로드와 자동 업데이트를 잠시 중지합니다. 속도 측정 결과가 좋아도 실제로 사용하는 서비스가 느릴 수 있고, 반대로 단순 측정값이 낮아도 웹페이지와 화상회의가 안정적일 수 있습니다. 따라서 수치 하나보다 연결 성공, 끊김 빈도, DNS 일치, 앱 호환성을 함께 기록해야 합니다.
선택 전 최종 체크리스트
sing-box에서 프로토콜을 고르는 기준은 ‘가장 빠른 이름’을 찾는 일이 아니라 현재 환경에서 실패 가능성을 줄이는 일입니다. 같은 프로토콜이라도 서버와 회선, 통신사, Wi-Fi 품질, 기기 성능에 따라 결과가 달라질 수 있습니다. 특히 Hysteria2처럼 UDP 의존성이 있는 방식은 네트워크에서 UDP가 제한되는지 먼저 확인해야 하고, WireGuard는 앱 단위 프록시가 필요한지 기기 전체 터널이 필요한지 구분해야 합니다.
- ✅ 사용 중인 클라이언트가 해당 프로토콜과 필요한 전송 방식을 지원하는지 확인합니다.
- ✅ 구독에서 제공된 서버 이름, 인증 정보, TLS 항목을 임의로 바꾸지 않습니다.
- ✅ 모바일에서는 자동 재연결, 배터리 사용, Wi-Fi와 이동통신 전환을 함께 확인합니다.
- ✅ 게임에서는 출구 지역과 UDP 전달 여부, 경로의 일관성을 우선 점검합니다.
- ✅ 영상 시청에서는 출구 주소, DNS, 서비스 지역 판정이 서로 일치하는지 확인합니다.
- ✅ 업무용 설정에서는 로컬 서비스와 외부 업무 트래픽의 라우팅을 분리합니다.
- ❌ 프로토콜 이름만 보고 모든 노드의 속도와 안정성을 단정하지 않습니다.
- ❌ 여러 프록시 앱의 TUN 모드나 시스템 프록시를 동시에 켜지 않습니다.
정리하면 Shadowsocks는 단순한 일상용 프록시를 시험하기 좋고, VMess는 기존 구독과 호환되는 구성이 있을 때 실용적입니다. Trojan은 TLS 기반의 예측 가능한 TCP 연결을 중시할 때 검토할 수 있으며, Hysteria2는 UDP가 허용되고 혼잡이나 손실이 문제인 환경에서 선택지가 됩니다. WireGuard는 기기 전체의 네트워크 터널과 일관된 라우팅을 원하는 경우에 적합합니다.
처음에는 사용 목적에 가장 가까운 프로토콜 하나와 안정적인 노드 하나만 선택해 기본 연결을 확인하세요. 그 뒤 실제 사용하는 앱에서 DNS, 출구 주소, 연결 유지, 배터리 영향을 확인하고, 필요할 때만 TUN과 세부 라우팅을 추가하면 됩니다. 이 순서를 지키면 sing-box의 많은 옵션에 휘둘리지 않고, 자신의 네트워크 환경에 맞는 구성을 더 빠르게 찾을 수 있습니다.