v2rayN의 Avalonia 데스크톱판과 WPF판은 인터페이스 프레임워크와 플랫폼 지원 범위가 다를 뿐, 프록시 프로토콜이 다른 것은 아닙니다. 설치나 다른 운영체제로의 이전을 준비하거나 실행 문제를 해결하려는 사용자에게 적합한 안내입니다. 운영체제, 프로세서 아키텍처, 실행 종속성, 기존 설정을 확인하면 적합한 설치 패키지를 고를 수 있습니다. 이후 같은 노드와 라우팅 설정으로 연결을 테스트하면 인터페이스 변화와 코어 기능 변화를 혼동하지 않을 수 있습니다.
1. Avalonia와 WPF: 인터페이스와 프록시 코어 구분하기
WPF는 Windows용 데스크톱 인터페이스 프레임워크입니다. v2rayN WPF판은 Windows 데스크톱에 익숙한 조작 방식을 유지하므로 해당 운영체제에서 사용 환경을 이미 갖춘 사용자에게 적합합니다. Avalonia는 크로스 플랫폼 인터페이스 프레임워크로, v2rayN Avalonia 데스크톱판은 Windows, macOS, Linux를 지원합니다. 단, 플랫폼에 맞는 설치 패키지를 각각 선택해야 합니다.
v2rayN은 노드 관리, 구독 업데이트, 라우팅 옵션, 코어 프로세스 관리를 담당하며 실제 연결은 선택한 프록시 코어가 처리합니다. VMess와 VLESS는 프로토콜이고 Avalonia와 WPF는 인터페이스 기술입니다. 인터페이스 프레임워크를 바꿔도 VMess 노드가 VLESS로 바뀌지는 않으며, 서버에 전송 방식이나 보안 설정이 자동으로 추가되지도 않습니다.
| 비교 항목 | Avalonia 데스크톱판 | WPF판 |
|---|---|---|
| 지원 운영체제 | Windows、macOS、Linux | Windows |
| 인터페이스 기반 | Avalonia 크로스 플랫폼 컨트롤 및 창 | WPF Windows 데스크톱 컨트롤 및 창 |
| 설치 패키지 선택 | 운영체제와 프로세서 아키텍처 모두 확인 | Windows 및 프로세서 아키텍처 확인 |
| 프로토콜 지원 확인 | 선택한 코어, 버전, 노드 설정 확인 | 선택한 코어, 버전, 노드 설정 확인 |
| 시스템 통합 | 트레이, 프록시, 권한 동작은 플랫폼에 따라 다름 | Windows 프록시 및 데스크톱 기능 기반 |
2. 시스템 요구 사항: 운영체제, 아키텍처, 실행 종속성 확인
‘Windows 지원’이 모든 구형 Windows 버전에서 작동한다는 뜻은 아닙니다. 최소 운영체제 버전, 필요한 .NET 버전, 코어 호환 범위는 릴리스에 따라 달라질 수 있습니다. 설치 전에는 선택한 버전의 안내를 확인하세요. 이전 WPF판을 실행했던 경험을 최신 데스크톱 패키지에 그대로 적용하면 안 됩니다.
- 운영체제 버전을 확인합니다. Windows에서는
Win + R을 누르고winver를 입력합니다. macOS에서는 ‘이 Mac에 관하여’를 확인하고, Linux에서는 아래 명령의 출력을 확인합니다. 운영체제 이름만 적지 말고 전체 버전을 기록하세요. - 프로세서 아키텍처를 확인합니다. Windows에서는 ‘설정’ → ‘시스템’ → ‘정보’에서 시스템 종류를 확인합니다. Linux와 macOS에서는
uname -m을 실행하세요. 일반적으로x86_64는 x64,aarch64또는arm64는 ARM64를 뜻합니다. - 패키지 배포 방식을 확인합니다. 프레임워크 종속 패키지는 해당 런타임이 필요합니다. 자체 포함 패키지는 보통 앱에 필요한 .NET 런타임을 포함하지만 시스템 기본 라이브러리가 추가로 필요할 수 있습니다. 압축 파일 크기로 짐작하지 말고 패키지 안내를 확인하세요.
- 실행 오류 메시지를 그대로 기록합니다. 런타임이나 기본 라이브러리 누락, 아키텍처 불일치가 발생하면 먼저 해당 종속성을 해결하세요. 실행 단계의 문제는 구독 주소나 노드 비밀번호와 무관합니다.
# Linux: 배포판 및 아키텍처 확인
cat /etc/os-release
uname -m
# dotnet 명령이 설치된 경우: 런타임 목록 확인
dotnet --list-runtimes
프레임워크 종속 WPF 패키지에는 대개 해당 버전의 .NET Desktop Runtime이 필요하며, 일반 .NET Runtime만으로는 부족할 수 있습니다. Avalonia 패키지에 WPF의 데스크톱 런타임 요구 사항을 그대로 적용해서는 안 됩니다. 안내에 .NET 8이 필요하다고 되어 있다면 해당 8.x 런타임이 있는지 확인하세요. 다른 주 버전만 설치되어 있다고 해서 요구 사항이 충족되는 것은 아닙니다. 이는 확인 방법에 대한 안내이며, 모든 v2rayN 릴리스 패키지가 .NET 8을 고정으로 사용한다는 뜻은 아닙니다.
- Windows: 프로그램을 실행하기 전에 압축을 완전히 푸세요. 실행 파일만 압축 파일에서 꺼내면 리소스나 코어 파일이 누락될 수 있습니다.
- macOS: 프로세서에 맞는 패키지를 우선 선택하세요. 시스템 보안 경고가 표시되면 먼저 출처를 확인하고, 운영체제에서 제공하는 보안 설정에 따라 처리하세요. 전역 보안 기능을 끄면 안 됩니다.
- Linux: 배포판, 데스크톱 세션, 패키지 형식을 확인하세요. 그래픽 프로그램의 창 표시 여부는 .NET 설치 여부뿐 아니라 데스크톱 환경과 기본 라이브러리의 영향도 받습니다.
3. 버전 선택: 크로스 플랫폼 신규 설치와 기존 Windows 설정
여러 데스크톱 운영체제를 오가며 사용해야 한다면 Avalonia 데스크톱판을 우선 검토할 수 있습니다. Windows에서만 사용하고 WPF판의 구독, 라우팅, 트레이 조작이 안정적이라면 기존 버전을 유지해도 좋습니다. 선택 기준은 배포 환경이지, 특정 인터페이스 프레임워크가 더 빠르게 연결된다는 주장이 아닙니다.
Avalonia 데스크톱판
추천 대상크로스 플랫폼 신규 설치 시 우선 검토할 만합니다. Windows, macOS, Linux 사용자라면 비슷한 인터페이스로 조작 방식을 익힐 수 있지만, 설치 패키지와 시스템 프록시, 트레이 지원은 플랫폼별로 확인해야 합니다.
적합한 경우: 여러 운영체제에서 사용, macOS 또는 Linux에 배포, 데스크톱 설정을 새로 구성
WPF판
Windows 사용자를 위한 선택입니다. 기존 단축 조작과 창 사용 방식을 유지할 수 있습니다. 업그레이드할 때는 시스템 요구 사항, 코어 버전, 설정 이전 안내를 확인해야 하며, 주 프로그램 파일만 바꿔서는 안 됩니다.
적합한 경우: Windows 전용 기기, 안정적인 기존 설정, 익숙한 클래식 데스크톱 인터페이스
선택 기준: 운영체제로 먼저 추린 뒤 기존 설정 검증
macOS와 Linux에서는 해당 플랫폼용 Avalonia 패키지를 선택하세요. Windows 사용자는 별도 폴더에서 후보 버전을 먼저 테스트하는 것이 좋습니다. 구독 업데이트, 노드 연결, 프록시 해제가 모두 정상인지 확인한 뒤 일상적으로 사용할 버전을 바꾸세요.
인터페이스 반응 속도와 메모리 사용량은 실제 기기에서 비교해야 합니다. 노드 수, 로그 갱신, 배율, 코어 프로세스, TUN 상태가 측정 결과에 영향을 줍니다. 작업 관리자에서 주 창 프로세스만 확인해도 클라이언트와 코어의 전체 사용량을 알 수는 없습니다. 같은 조건으로 테스트하지 않았다면 두 인터페이스의 성능 순위를 단정하지 마세요.
- 같은 노드, 같은 전송 방식, 같은 라우팅 규칙을 사용합니다.
- 각 버전을 따로 실행하고 다른 버전은 종료해 포트 및 시스템 프록시 충돌을 방지합니다.
- 창 반응, 코어 실행 오류, 대상 사이트 접속 결과를 기록해 인터페이스 문제와 연결 문제를 구분합니다.
4. 인터페이스 차이: 구독, 시스템 프록시, TUN을 각각 확인
두 인터페이스 모두 노드, 구독, 연결 관리 기능을 중심으로 구성되어 있지만 메뉴 배치, 마우스 오른쪽 버튼 동작, 트레이 조작, 알림 창은 다를 수 있습니다. 아래 항목별로 확인하고 메뉴 이름은 설치된 버전을 기준으로 삼으세요. 버튼 위치가 달라졌다고 기존 설정 파일을 바로 덮어쓰지 마세요.
| 확인할 기능 | 메뉴 또는 확인 항목 | 확인 결과 |
|---|---|---|
| 구독 그룹 | ‘구독 그룹’ → ‘구독 그룹 설정’에서 주소와 그룹 이름 확인 | 업데이트 후 예상한 노드가 표시되고 중복으로 가져오지 않음 |
| 로컬 리스너 | ‘설정’ → ‘매개변수 설정’에서 리슨 주소와 포트 확인 | 앱에서 사용하는 주소, 포트, 프록시 유형이 리스너 설정과 일치 |
| 시스템 프록시 | 클라이언트의 시스템 프록시 옵션과 운영체제 프록시 설정 확인 | 브라우저에서 지정한 프록시를 사용하고, 클라이언트 종료 후 원래 설정으로 복구됨 |
| 라우팅 규칙 | 선택한 라우팅 프리셋, 규칙 순서, 대상 출구 확인 | 직접 연결 대상은 직접 연결되고 프록시 대상은 프록시 출구로 연결됨 |
| TUN 모드 | 권한, 가상 인터페이스, 라우팅, DNS 동작 확인 | 처리 대상 앱에 접속할 수 있고 LAN 접근도 예상대로 작동 |
시스템 프록시는 운영체제의 프록시 설정을 따르는 앱에서 주로 사용합니다. TUN은 가상 네트워크 인터페이스를 통해 트래픽을 처리하므로 추가 권한이 필요할 수 있고 라우팅 및 DNS에도 영향을 줍니다. Avalonia의 크로스 플랫폼 인터페이스가 이런 시스템별 차이를 없애 주지는 않습니다. Linux에서는 데스크톱 환경과 네트워크 도구 구성에 따라 실제 적용 방식이 달라질 수도 있습니다.
- 먼저 TUN을 켜지 말고 사용 가능한 노드 하나만 시작해 코어 로그에 설정 또는 리슨 오류가 없는지 확인합니다.
- 프록시를 명시한 요청으로 로컬 진입점을 테스트한 다음 시스템 프록시를 켜고 브라우저에서 확인합니다.
- 다른 앱의 트래픽까지 처리해야 할 때만 TUN을 켭니다. 이 단계에서만 실패한다면 권한, 인터페이스, 라우팅을 집중적으로 점검하세요. 인터페이스 버전을 계속 바꿀 필요는 없습니다.
5. 이전 확인: 고정 포트로 설정 문제 분리하기
이전하기 전에 클라이언트를 종료하고 기존 사용자 설정과 구독 정보를 백업하세요. 인터페이스 종류나 릴리스 버전에 따라 내부 설정 형식이 달라질 수 있으므로 해당 버전에서 제공하는 내보내기, 가져오기 또는 이전 기능을 우선 사용하세요. 호환성 안내가 없다면 먼저 노드를 가져오거나 구독을 다시 추가한 뒤 라우팅과 프록시 옵션을 하나씩 복원하세요.
아래 예시는 로컬 리슨 주소 127.0.0.1, 예시 포트 10808, HTTPS 대상 포트 443을 사용해 최소한의 연결 경로를 확인합니다. 테스트용 값이며 모든 버전의 기본값을 보장하지 않습니다. 실제 포트는 매개변수 설정에서 확인하세요.
# 10808에서 SOCKS 서비스를 제공하는 경우에만 사용
# Windows에서는 curl을 curl.exe로 입력할 수 있음
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://v2rayruanjian.com/
socks5h는 대상 도메인 처리를 프록시 서버에 맡긴다는 뜻입니다. 현재 리스너가 HTTP만 지원한다면 실제 HTTP 진입점을 사용해야 하며, 포트는 그대로 둔 채 프로토콜 이름만 바꾸면 안 됩니다. HTTP 응답 헤더가 반환되면 해당 요청에 대한 대상 응답을 받은 것입니다. 다만 한 번의 성공만으로 모든 라우팅, DNS, 앱 트래픽이 제대로 처리된다고 볼 수는 없습니다.
- 연결이 즉시 거부됨: 코어가 실행 중인지, 포트가 올바른지, 리스너가 열려 있는지 먼저 확인하세요.
- 포트가 사용 중임: 다른 v2rayN 인스턴스를 종료하고 포트가 해제된 뒤 다시 테스트하세요. 두 버전이 동시에 시스템 프록시를 변경하게 두지 마세요.
- 연결 시간 초과: 노드 상태, 서버 매개변수, 전송 및 보안 설정을 확인한 뒤 로그에 표시된 구체적인 오류를 살펴보세요.
- 명령은 성공했지만 브라우저에서 실패함: 시스템 프록시, 브라우저 자체 프록시 설정, 확장 프로그램의 영향을 확인해 앱 연결 단계에서 문제를 찾으세요.
이전 판단: 명시적 프록시 테스트를 통과한 뒤 일상 버전 교체
새 버전에서 프록시를 명시한 요청이 성공하면 시스템 프록시와 TUN을 차례로 확인하세요. 기존 설정을 완전히 백업하고 이전 버전으로 되돌릴 수 있다면 인터페이스, 코어, 라우팅을 한 번에 모두 바꾸지 않고 단계별로 이전할 수 있습니다.
6. 자주 묻는 질문: 실행 실패와 연결 차이 해결하기
Windows에서는 데스크톱판과 WPF판 중 무엇을 선택해야 하나요?
Windows에서만 사용하고 기존 WPF 설정이 안정적이라면 WPF판을 계속 사용해도 됩니다. 여러 운영체제에서 비슷한 방식으로 조작하고 싶다면 별도 폴더에서 Avalonia 데스크톱판을 먼저 테스트하세요. 같은 노드로 구독 업데이트, 명시적 프록시, 시스템 프록시를 확인한 뒤 일상 버전을 전환하세요.
.NET이 없다는 메시지가 뜹니다. 런타임을 설치했는데도 실행되지 않는 이유는 무엇인가요?
오류 메시지에서 필요한 프레임워크 이름, 주 버전, 아키텍처를 먼저 확인하세요. 프레임워크 종속 WPF 패키지에는 해당 .NET Desktop Runtime이 필요한 경우가 많으며, 일반 Runtime만으로는 충족되지 않을 수 있습니다. dotnet --list-runtimes를 확인하고 설치된 런타임 아키텍처가 앱과 일치하는지 점검하세요.
Avalonia로 바꾼 뒤 기존 VLESS 노드에 연결할 수 없나요?
먼저 노드 설정이 빠짐없이 가져와졌는지 확인한 다음 선택한 코어와 버전을 살펴보세요. 전송 방식, TLS 또는 REALITY 매개변수, 서버 주소와 포트를 확인하세요. 로그를 통해 설정 파싱 오류인지 네트워크 시간 초과인지 구분해야 합니다. 인터페이스 프레임워크만으로 VLESS 지원 여부를 판단할 수는 없습니다.
두 버전을 동시에 실행해 속도를 바로 비교해도 되나요?
일반적인 비교는 두 버전을 따로 실행하는 것이 좋습니다. 같은 리슨 포트를 두고 경쟁하거나 시스템 프록시 설정을 서로 덮어써 테스트 결과가 달라질 수 있습니다. 한 버전을 종료한 뒤 다른 버전을 시작하고 노드, 대상 주소, 라우팅, 테스트 시간을 최대한 동일하게 맞춰 결과를 기록하세요.
최종 선택은 검증할 수 있는 배포 결과를 기준으로 해야 합니다. 설치 패키지가 운영체제와 아키텍처에 맞고, 필요한 실행 종속성이 충족되며, 구독이 업데이트되고, 프록시 진입점에 연결되며, 종료 후 시스템 네트워크 상태가 복구되어야 합니다. 이 조건을 충족한 다음 창, 트레이, 설정 배치에 대한 사용 습관을 고려해 인터페이스 버전을 선택하세요.