Windows에 처음 설치한다면 데스크톱판(Avalonia)을, 클래식한 조작 방식에 익숙하다면 WPF판을 선택할 수 있습니다. macOS와 Linux에서는 데스크톱판을 사용하세요. 두 버전의 차이는 주로 인터페이스 프레임워크, OS 지원, 배포 시 필요한 의존성에 있으며 프록시 프로토콜의 우열과는 관계가 없습니다. 아래에서 패키지 선택, 런타임, 설정 이전, 문제 해결을 차례로 살펴보고, 인터페이스를 바꾸려고 네트워크 설정 전체를 다시 구성하는 일을 피하세요.
1. 데스크톱판과 WPF판, 인터페이스와 코어부터 구분하기
v2rayN은 서버 설정, 구독, 라우팅 규칙을 관리하고 프록시 코어를 시작·제어하는 데스크톱 클라이언트입니다. Avalonia와 WPF는 창, 목록, 버튼, 메뉴를 그리는 인터페이스 프레임워크입니다. VMess, VLESS 등의 프로토콜 전송 방식을 직접 정하는 것도 아니며, 서로 다른 노드 유형을 뜻하지도 않습니다.
이 글에서 말하는 ‘데스크톱판’은 다운로드 페이지에서 WPF판과 구분하는 Avalonia 인터페이스 버전을 가리킵니다. WPF판도 데스크톱 애플리케이션입니다. Avalonia는 크로스 플랫폼 인터페이스를 지원하고, WPF는 Windows에서만 실행됩니다. ‘데스크톱판’이 완전한 기능을 갖춘 버전이고 WPF판은 축소판이라고 이해해서는 안 됩니다.
- 인터페이스 계층: 설정 메뉴, 목록 배치, 글꼴 렌더링, 단축 조작이 표시되는 방식을 결정합니다.
- 클라이언트 설정 계층: 선택한 서버, 라우팅, 로컬 수신 대기 매개변수를 코어가 사용할 수 있는 설정으로 구성합니다.
- 프록시 코어 계층: 예를 들어 Xray가 프로토콜 연결과 트래픽 처리를 담당합니다. 실제 기능은 함께 배포된 코어 버전과 설정에 따라 달라집니다.
따라서 같은 VLESS 설정이 두 인터페이스에서 작동하는지 확인하려면 창 모양만 볼 것이 아니라 코어, 전송 방식, TLS, 라우팅을 먼저 점검해야 합니다. 릴리스 버전에 따라 기능이 순차적으로 제공될 수 있으므로 비교할 때는 클라이언트 버전도 확인하세요. 오래된 WPF판과 최신 데스크톱판을 그대로 비교해서는 안 됩니다.
2. 운영체제에 맞춰 선택한 다음 사용 방식 살펴보기
데스크톱판(Avalonia)
추천처음 설치하는 사용자에게 권장하는 기본 선택입니다. Windows, macOS, Linux용 패키지가 제공되므로 운영체제를 바꿔도 비슷한 조작 방식을 유지할 수 있습니다. 단, 설치 패키지는 사용 중인 OS와 프로세서에 맞춰 선택해야 합니다.
추천 대상: 처음 설치하는 사용자, 여러 데스크톱 OS를 오가는 사용자, 일관된 조작 방식을 원하는 사용자
WPF판
Windows용 클래식 데스크톱 인터페이스입니다. 메뉴, 목록, 트레이 조작에 익숙하고 현재 버전이 문제없이 작동한다면 계속 사용해도 됩니다. 인터페이스 프레임워크만 바꾸기 위해 버전을 교체할 필요는 없습니다.
추천 대상: Windows를 오래 사용한 사용자, 기존 조작 방식에 익숙한 사용자, 현재 설정이 안정적인 사용자
| 비교 항목 | 데스크톱판(Avalonia) | WPF판 |
|---|---|---|
| 지원 운영체제 | 배포 패키지에 따라 Windows, macOS, Linux 지원 | Windows |
| 인터페이스 특징 | 크로스 플랫폼 레이아웃으로 OS 간 조작 방식이 비슷함 | 클래식한 Windows 데스크톱 조작 방식 |
| 실행 의존성 | 런타임 포함 여부와 OS 기본 의존성에 따라 다름 | 런타임 포함 여부에 따라 다르며, 프레임워크 종속 패키지는 Windows 데스크톱 런타임이 필요함 |
| 프로토콜 및 연결 | 코어 버전과 실제 설정에 따라 결정 | 코어 버전과 실제 설정에 따라 결정 |
| 전환 시 확인 사항 | 데이터 이전과 OS 호환성 확인 필요 | 데이터 이전과 Windows 환경 확인 필요 |
선택 기준: 지원하지 않는 플랫폼부터 제외하기
macOS와 Linux에서는 데스크톱판을 선택하세요. Windows에서는 인터페이스 사용 방식에 따라 고르면 됩니다. 원인을 찾지 못한 연결 문제 때문에 인터페이스를 계속 바꾸지 말고, 정상 작동하는 설정을 비교 기준으로 남겨 두세요.
3. 설치 패키지와 런타임: .NET 하나만 설치하면 끝나는 게 아닙니다
설치 전에 운영체제와 프로세서 아키텍처를 확인하세요. Windows에서는 ‘설정’ → ‘시스템’ → ‘정보’에서 ‘시스템 종류’를 확인할 수 있습니다. macOS에서는 Apple 메뉴의 ‘이 Mac에 관하여’에서 칩을 확인하세요. Linux에서는 터미널에서 uname -m을 실행하면 됩니다. 일반적으로 x86_64는 x64, aarch64는 ARM64에 해당합니다.
- 먼저 OS를 선택하세요: Windows 설치 패키지는 macOS나 Linux에서 바로 실행할 수 없습니다. 일반 .NET 런타임을 추가로 설치해도 WPF판이 크로스 플랫폼 앱으로 바뀌지는 않습니다.
- 다음으로 아키텍처를 선택하세요: Apple 실리콘 Mac에는 ARM64 패키지를, Intel Mac에는 x64 패키지를 우선 선택하세요. Linux에서는 배포판의 패키지 형식도 확인해야 합니다. DEB와 RPM은 파일 이름만 다른 것이 아닙니다.
- 마지막으로 의존성을 확인하세요: 자체 포함 패키지에는 필요한 .NET 런타임이 포함되는 경우가 많습니다. 프레임워크 종속 패키지는 해당 컴퓨터에 호환되는 런타임을 설치해야 합니다. 자체 포함 여부는 패키지 설명을 확인하세요. EXE나 압축 파일 확장자만으로 판단할 수 없습니다.
- 안내에 따라 필요한 항목을 설치하세요: WPF 프레임워크 종속 앱에는 일반적으로 주 버전과 아키텍처가 맞는 .NET Desktop Runtime이 필요합니다. 일반 .NET Runtime만으로는 부족할 수 있습니다. Avalonia는 OS에 맞는 그래픽·글꼴 관련 기본 라이브러리가 추가로 필요할 수도 있습니다.
Windows에 설치할 때는 기본 설치 위치를 그대로 사용해도 대체로 문제없습니다. 포터블 압축 패키지는 쓰기 권한이 있는 별도 폴더에 완전히 압축을 푼 다음 실행하세요. 압축 프로그램의 미리보기 창에서 실행하거나 실행 파일 하나만 복사하지 마세요. 코어와 다른 의존성 파일이 같은 폴더에 있을 수 있습니다.
4. 외관, 트레이, TUN: 차이를 항목별로 확인하기
Avalonia는 플랫폼 간 일관된 컨트롤 동작을, WPF는 클래식한 Windows 조작 방식을 중시합니다. 화면 배율이 같아도 행 높이, 팝업 메뉴, 글꼴이 다르게 보일 수 있습니다. 이는 인터페이스 사용 경험의 차이이지 코어 성능의 차이는 아닙니다. 고해상도 화면에서 글자가 흐릿하게 보이면 시스템 배율과 앱 버전을 먼저 확인하세요. 구독을 바로 다시 가져올 필요는 없습니다.
확인 방법: 인터페이스와 네트워크 연결 기능을 따로 점검하기
인터페이스 및 일상 조작
- 서버 목록을 열어 열 너비, 검색, 마우스 오른쪽 버튼 메뉴를 확인하세요.
- 메인 창을 닫은 뒤에도 프로세스가 트레이나 백그라운드에서 실행 중인지 확인하세요.
- 시스템 절전 모드에서 깨어난 뒤 창과 트레이 메뉴가 정상적으로 복구되는지 테스트하세요.
프록시 및 시스템 권한
- 먼저 시스템 프록시로 브라우저 연결을 확인한 뒤 TUN을 별도로 테스트하세요.
- TUN에 필요한 권한, 가상 네트워크 어댑터, 시스템 라우팅이 설정되었는지 확인하세요.
- 시스템 프록시와 TUN을 제어하는 클라이언트는 한 번에 하나만 실행하세요.
인터페이스 창이 열린다는 것은 창 실행에 성공했다는 뜻일 뿐입니다. 시스템 프록시와 TUN이 적용됐는지는 각각 확인해야 합니다.
시스템 프록시는 해당 설정을 읽는 앱에 주로 영향을 줍니다. TUN은 가상 네트워크 인터페이스를 통해 설정에 해당하는 트래픽을 처리합니다. 어느 기능도 Avalonia나 WPF 프레임워크에 기본으로 포함된 네트워크 기능은 아닙니다. Windows의 권한 안내, macOS의 시스템 승인, Linux의 라우팅과 권한 설정은 서로 다르므로 다른 OS의 절차를 그대로 따라서는 안 됩니다.
Linux에서는 데스크톱 환경에 따라 트레이 지원이 다를 수 있습니다. 창이 사라졌는데 트레이 아이콘도 보이지 않는다면 데스크톱 환경의 트레이 지원 여부와 백그라운드 프로세스를 먼저 확인하세요. 창을 찾으려고 프로그램을 연달아 실행하지 마세요. 포트 충돌이 발생할 수 있습니다.
5. WPF판에서 데스크톱판으로 바꿀 때 설정 이전하기
공유 링크와 구독 주소는 인터페이스가 달라도 다시 가져올 수 있지만, 클라이언트 데이터베이스 전체를 무조건 덮어써도 된다는 뜻은 아닙니다. 버전에 따라 데이터 구조, 저장 위치, 설정 항목이 달라질 수 있습니다. 가장 안전한 방법은 기존 환경을 백업한 뒤 새 환경에서 최소한의 작동 설정을 다시 만드는 것입니다.
- 버전과 데이터 위치 기록: 기존 클라이언트 버전, 사용 중인 코어, 로컬 포트, 설정 폴더를 기록하세요. 현재 버전에 백업이나 내보내기 메뉴가 있다면 먼저 사용하고, 작업 전에 클라이언트를 종료하세요.
- 개인 설정은 별도로 저장: 사용자 지정 라우팅, DNS, 구독 그룹, 자동 업데이트 옵션, 단축키를 기록하세요. 서버 내보내기에 이러한 전역 설정이 포함되지 않을 수 있습니다.
- 별도 위치에 설치: 새 버전은 독립된 위치에 설치하고 기존 프로그램 파일과 섞지 마세요. 사용자 데이터가 시스템 폴더에 따로 저장되는지는 버전 안내에서 확인해야 합니다.
- 가져온 뒤 업데이트: ‘구독 그룹 설정’에 기존 구독 주소를 입력하고 저장한 다음 업데이트하세요. 버전에 따라 메뉴 위치가 바뀔 수 있으므로 현재 인터페이스에서 같은 이름의 메뉴를 찾으세요.
- 먼저 테스트한 뒤 규칙 복원: 정상 작동이 확인된 설정 하나로 연결을 테스트한 다음 사용자 지정 라우팅, DNS, TUN을 하나씩 복원하세요. 여러 항목을 한꺼번에 바꾸면 원인을 찾기 어렵습니다.
새 버전에서 데이터 형식이 변경됐다면 이전 버전으로 돌아가기 전에 해당 버전의 백업을 복원하세요. 구버전이 새 데이터를 직접 읽거나 수정하게 해서는 안 됩니다. OS 간 이전에서는 로컬 파일 경로를 특히 확인해야 합니다. Windows 경로를 Linux 규칙 파일 경로로 그대로 사용할 수 없으며, 외부 리소스도 다시 지정해야 합니다.
6. 연결 속도와 포트: 환경 변화를 인터페이스 탓으로 돌리지 않기
어느 인터페이스가 더 빠른지 환경과 무관하게 정할 수는 없습니다. 창이 열리는 속도, 서버 목록을 스크롤할 때의 반응성, 프록시 연결 처리량은 서로 다른 지표입니다. 구독이 같더라도 선택한 서버, 코어 버전, 라우팅, DNS, TUN 상태 중 하나라도 다르면 인터페이스 프레임워크가 속도에 영향을 줬다고 판단할 수 없습니다.
예를 들어 기존 인스턴스가 127.0.0.1:10808에서 계속 수신 대기 중인데 새 인스턴스도 같은 주소와 포트를 사용하려 하면 주소 사용 중 오류가 발생할 수 있습니다. 이때는 기존 인스턴스를 종료하거나 새 인스턴스의 수신 대기 설정을 바꾸고 앱 설정도 함께 맞추세요. 원격 서버의 443 포트를 변경할 문제가 아닙니다. 로컬 포트와 원격 포트의 역할은 서로 다릅니다.
- 창이 열리지 않음: 실행 의존성, 시스템 아키텍처, 시작 오류부터 확인하세요.
- 창은 열리지만 코어가 시작되지 않음: 코어 파일, 설정 파싱 오류, 포트 충돌 로그를 확인하세요.
- 코어는 정상인데 웹페이지가 열리지 않음: 시스템 프록시, 대상 앱의 프록시 설정, DNS, 라우팅을 확인하세요.
- TUN만 작동하지 않음: 구독을 다시 만들기 전에 권한, 가상 인터페이스, 시스템 라우팅부터 확인하세요.
문제 해결 기준: 한 번에 변수 하나만 변경하기
비교하기 전에 다른 인스턴스를 종료하고 서버, 코어 버전, 프록시 모드를 동일하게 유지하세요. 창 사용 경험만 다르다면 선호하는 인터페이스를 선택하면 됩니다. 연결 결과가 다르다면 로그와 적용된 설정을 먼저 비교하세요.
7. 버전 선택 관련 자주 묻는 질문
Windows에서 WPF판을 반드시 데스크톱판으로 바꿔야 하나요?
그럴 필요 없습니다. 현재 버전이 안정적으로 작동하고 필요한 기능을 제공한다면 계속 사용해도 됩니다. 다른 인터페이스를 시험해 보고 싶다면 데이터를 백업한 뒤 별도 위치에 설치하고, 정상 작동이 확인된 같은 설정으로 테스트하세요. 기존 폴더를 바로 덮어쓰지 마세요.
같은 구독을 두 버전에서 사용할 수 있나요?
대체로 같은 구독 주소를 각 버전에 추가할 수 있지만, 실제로 어떤 항목을 해석할 수 있는지는 클라이언트와 코어 버전에 따라 다릅니다. ‘구독 그룹 설정’에서 주소를 추가하고 업데이트하세요. 항목이 누락되면 업데이트 로그를 먼저 확인하고, 구독 형식 차이를 인터페이스 제한으로 오해하지 마세요.
macOS와 Linux에서 WPF판을 사용할 수 없는 이유는 무엇인가요?
WPF는 Windows 데스크톱 인터페이스 기술입니다. 다운로드 페이지에서 해당 OS용 데스크톱판을 선택한 뒤 ARM64 또는 x64 패키지를 고르세요. Linux에서는 DEB 또는 RPM 패키지 형식도 맞춰야 합니다. Windows 프로그램의 확장자만 바꿔 사용할 수는 없습니다.
버전을 바꾼 뒤 시스템 프록시는 켜져 있는데 브라우저가 연결되지 않아요.
새 클라이언트의 코어가 실행 중인지 확인한 다음 시스템 프록시가 가리키는 로컬 주소와 포트를 확인하세요. 기존 인스턴스를 종료한 뒤에도 시스템이 예전 포트를 가리킨다면 현재 클라이언트에서 시스템 프록시를 다시 설정하세요. 다른 사용자 지정 규칙은 테스트를 마친 뒤 복원하면 됩니다.
창을 닫은 뒤 기존 버전이 완전히 종료됐는지 어떻게 확인하나요?
먼저 트레이 메뉴에서 종료를 선택한 뒤 시스템 프로세스 목록을 확인하세요. 창을 닫아도 트레이로 최소화될 수 있습니다. 기존 프로세스가 종료된 것을 확인하고 다른 버전을 실행하면 포트, 시스템 프록시, TUN 제어 충돌을 줄일 수 있습니다.
선택 기준은 간단합니다. macOS와 Linux에서는 데스크톱판을 사용하고, Windows에 처음 설치한다면 데스크톱판을 먼저 시험해 보세요. 클래식한 조작 방식을 선호한다면 WPF판을 선택하면 됩니다. 다운로드 전에 OS와 아키텍처를 확인하고, 버전을 바꾸기 전에 백업하세요. 연결 문제가 생기면 인터페이스, 코어, 프록시 적용 단계로 나눠 점검하세요.