Shadowrocket Linux 설치 가이드: deb, rpm, AppImage 선택 방법

배포판에 맞는 패키지를 선택하세요. Debian/Ubuntu는 apt로 deb, Fedora는 dnf로 rpm을 설치하고, 그 외 배포판은 AppImage에 실행 권한을 부여해 실행합니다.

이 글 한눈에 보기

Linux 데스크톱에 Shadowrocket을 설치하려는 사용자 중, 이미 이용 중인 서비스 제공업체와 구독 링크가 있는 분을 위한 안내입니다. 먼저 배포판과 CPU 아키텍처를 확인한 뒤 사이트의 다운로드 페이지에서 deb, rpm 또는 AppImage를 선택하세요. 설치 후 처음 실행하고 구독을 가져온 다음 라우팅 상태를 확인합니다. 터미널 명령어에는 고정된 패키지명이 아니라 실제로 다운로드한 파일 경로를 사용합니다.

배포판, 아키텍처 및 다운로드 방법 확인

패키지 형식은 소프트웨어를 시스템에서 어떻게 관리할지 결정하며, 노드 프로토콜이나 연결 속도와는 관계가 없습니다. Debian, Ubuntu 및 호환 배포판에서는 보통 deb를, Fedora에서는 rpm을 선택합니다. 해당 배포판에 맞는 패키지가 없다면 AppImage가 현재 환경에서 실행 가능한지 확인하세요. 확장자만으로 호환성을 판단할 수는 없습니다. 같은 rpm을 사용하는 배포판이라도 필요한 종속성이 다를 수 있습니다.

먼저 터미널에서 아래 명령어를 실행하세요. 첫 번째 명령어는 배포판의 ID, ID_LIKE 등의 정보를 확인하고, 두 번째 명령어는 시스템 아키텍처를 확인합니다. 다운로드 페이지에서 제공하는 패키지 아키텍처가 기기와 일치해야 합니다. 일반적인 x86_64와 aarch64는 서로 바꿔 사용할 수 없습니다. 다운로드 페이지에 맞는 아키텍처가 없다면 다른 아키텍처용 패키지를 억지로 설치하지 마세요.

cat /etc/os-release
uname -m

deb: apt로 로컬 파일 설치

다운로드 페이지에서 deb 파일을 저장한 뒤 Bash 터미널을 열고 아래 두 명령어를 실행하세요. 안내가 나오면 다운로드한 파일의 전체 절대 경로를 붙여 넣고 Enter를 누릅니다. 입력값에 따옴표를 추가하지 마세요. 명령어의 큰따옴표는 경로에 공백이 있어도 파일명이 여러 인수로 나뉘지 않도록 합니다.

read -r -p 'deb 파일의 전체 절대 경로를 붙여 넣으세요: ' pkg
sudo apt install "$pkg"

파일 관리자에 표시된 실제 파일 경로를 입력해야 합니다. 파일명만 입력하면 안 됩니다. apt는 로컬 deb를 설치하고 설정된 소프트웨어 저장소에서 종속성을 확인할 수 있습니다. dpkg -i만 사용하면 종속성이 부족할 때 패키지 설정이 완료되지 않은 채 남을 수 있습니다. 처음 설치할 때는 apt를 사용하면 전체 처리 결과를 확인하기 쉽습니다.

  1. apt가 표시하는 설치·업그레이드·삭제 항목을 먼저 확인하세요. 광범위한 삭제 등 이상한 항목이 없는지 살펴본 후 실행을 승인합니다.
  2. 설치가 끝나면 데스크톱 앱 메뉴에서 Shadowrocket을 검색해 일반 사용자 권한으로 실행하세요.
  3. 종속성을 충족할 수 없다는 메시지가 표시되면 전체 오류 내용과 배포판 정보를 기록하세요. 종속성 검사를 강제로 무시해 해결하려고 하지 마세요.

터미널에서 다운로드 진행률이 표시됐다고 설치가 성공한 것은 아닙니다. apt의 최종 종료 결과를 확인하세요. 마지막에 오류가 남았다면 실행을 시도하기 전에 소프트웨어 저장소, 네트워크 또는 종속성 문제를 해결해야 합니다.

rpm: Fedora에서 dnf 사용

Fedora 사용자는 시스템 아키텍처에 맞는 rpm을 다운로드한 뒤 Bash에서 같은 방식으로 파일 경로를 입력하면 됩니다. dnf는 로컬 패키지와 시스템 소프트웨어 저장소의 종속성을 함께 처리합니다. 종속성 확인을 생략하려고 강제 설치 옵션을 사용하는 것은 권장하지 않습니다.

read -r -p 'rpm 파일의 전체 절대 경로를 붙여 넣으세요: ' pkg
sudo dnf install "$pkg"

로컬 rpm을 사용해도 전체 설치 과정이 완전히 오프라인으로 진행되는 것은 아닙니다. 부족한 종속성을 가져오려면 활성화된 소프트웨어 저장소에 연결해야 할 수 있습니다. 다운로드 시간 초과가 발생하면 먼저 시스템 저장소가 작동하는지 확인하세요. 아키텍처가 맞지 않으면 설치 명령을 반복하지 말고 올바른 파일을 다시 선택하세요.

AppImage: 실행 권한을 부여한 뒤 실행

AppImage는 보통 apt나 dnf를 통해 설치된 소프트웨어로 등록하지 않습니다. 직접 관리할 수 있는 고정된 디렉터리에 파일을 두고 현재 사용자에게 실행 권한을 부여하세요. 파일을 옮긴 뒤에도 데스크톱 바로 가기가 이전 경로를 가리키면 경로를 함께 수정해야 합니다. 아래 명령어는 디렉터리 전체의 권한을 변경하지 않습니다.

read -r -p 'AppImage 파일의 전체 절대 경로를 붙여 넣으세요: ' app
chmod u+x "$app"
"$app"

마지막 명령어는 현재 터미널에서 파일을 실행하므로, 실행에 실패하면 오류 출력을 바로 확인할 수 있습니다. 권한을 시험하려고 sudo로 그래픽 앱 전체를 실행하지 마세요. 파일 실행 권한, 파일 시스템의 마운트 옵션, 연결에 필요한 시스템 권한은 서로 다른 문제입니다.

네이티브 패키지 설치

deb 설치
sudo apt install 로컬 절대 경로
rpm 설치
sudo dnf install 로컬 절대 경로
종속성 관리
패키지 관리자가 소프트웨어 저장소와 함께 처리
제거 방법
실제 패키지명을 확인한 뒤 remove 실행

네이티브 패키지는 시스템에 설치 상태가 기록되지만, 로컬 패키지를 다운로드했다고 자동 업데이트 저장소가 설정되는 것은 아닙니다.

AppImage 실행

실행 권한
chmod u+x
실행 사용자
현재 일반 사용자
파일 위치
고정 디렉터리에 있는 실제 경로
주요 제한 사항
아키텍처, FUSE 및 noexec 마운트

AppImage의 실행 조건은 빌드와 시스템 환경에 따라 다르며, 모든 호환성 제한을 자동으로 해결하지는 않습니다.

터미널에 FUSE 관련 오류가 표시되면 현재 배포판의 문서를 참고해 적절한 실행 지원을 설치하거나 호환되는 네이티브 패키지를 사용하세요. 파일이 noexec로 마운트된 저장 장치에 있으면 chmod를 실행했더라도 시작되지 않을 수 있습니다. 실행이 허용된 사용자 디렉터리로 파일을 옮긴 뒤 다시 시도하세요.

처음 실행하기: 기존 구독 가져오기 및 라우팅 확인

앱 창이 표시된다는 것은 그래픽 프로그램이 실행됐다는 뜻일 뿐, 구독이 작동하거나 시스템 트래픽이 앱에 전달된다는 의미는 아닙니다. 설치 단계에서는 파일과 종속성을 확인하고, 앱을 실행한 뒤 구독, 선택한 노드, Global Routing, 시스템 권한을 각각 점검하세요. 아래에서는 Home, Config, Settings 등의 화면 용어로 기능 위치를 안내합니다. 플랫폼별로 화면 구성이 다르면 현재 화면에 표시되는 항목을 기준으로 확인하세요.

  1. 앱 실행

    앱 메뉴나 AppImage 파일에서 Shadowrocket을 실행하세요. 먼저 창이 정상적으로 표시되는지 확인합니다. 시스템에서 네트워크 관련 권한을 요청하면 앱 이름과 권한 내용을 확인한 후 처리하세요.

  2. 구독 추가

    Home → + → Type → Subscribe로 이동해 기존에 보유한 구독 링크를 붙여 넣고 저장하세요. 링크에는 접근 자격 증명이 포함되어 있으므로 전체 링크를 스크린샷이나 문의 내용에 노출하지 마세요.

  3. 목록 업데이트

    Home에서 구독을 업데이트하고 노드가 표시되는지 확인하세요. 예시 https://example.com/sub?token=xxxx는 형식을 설명하기 위한 것으로, 실제 사용할 수 있는 구독 링크가 아닙니다.

  4. 정책 선택

    기존 노드를 하나 선택하세요. 규칙 기반 분기를 사용하기 전에 Config에서 현재 설정을 확인하고 Global Routing을 Config로 설정합니다. 테스트할 때는 선택한 노드와 라우팅 설정을 기록하세요.

  5. 연결 확인

    연결을 켜고 대상 페이지에 접속한 뒤 확인 가능한 연결 기록을 살펴보세요. 요청이 앱에 전달됐는지, 어떤 정책이 적용됐는지 확인해야 합니다. 스위치가 켜져 있다는 이유만으로 성공 여부를 판단하지 마세요.

구독의 주소, 포트, 비밀번호, TLS 매개변수는 본인이 이용하는 서비스 제공업체가 안내한 값을 기준으로 해야 합니다. 테스트한다고 임의로 443으로 변경하지 마세요. Settings → On Demand는 조건부 연결 설정이지 설치 종속성 문제를 해결하는 기능이 아닙니다. 현재 플랫폼에서 제공되는 경우에만 필요에 따라 설정하세요. 처음 문제를 확인할 때는 자동 연결 조건이 결과에 영향을 주지 않도록 수동 연결을 사용하세요.

설치 후 어떤 Global Routing 모드를 선택할까요?

패키지 형식이 트래픽 분기 정책을 대신 선택해 주지는 않습니다. 일상적으로 사용할 때는 먼저 설정 내용을 확인한 다음 라우팅 모드를 선택하세요. 아래 내용은 Shadowrocket 자체 설정을 비교합니다. 이 모드는 앱이 처리하도록 설정된 요청에 적용되며, 이를 근거로 Linux의 모든 프로세스 트래픽이 프록시를 통과한다고 판단할 수는 없습니다.

Config

권장

현재 설정의 규칙과 정책에 따라 요청을 처리합니다. Config에서 사용 중인 파일을 확인하세요. 규칙의 PROXY와 DIRECT가 실제 사용 목적에 맞아야 합니다.

적합한 경우: 설정을 확인한 뒤 일상적인 규칙 기반 분기를 사용하려는 경우

Proxy

앱이 처리하는 요청에 프록시 정책을 적용합니다. 노드 연결 문제와 규칙 매칭 문제를 구분할 때 임시로 사용할 수 있으며, 시스템 트래픽 전달 설정을 대신하지는 않습니다.

적합한 경우: 기존 노드의 연결 상태를 짧게 확인하려는 경우

Direct

앱이 처리하는 요청을 대상에 직접 연결합니다. 이 상태에서 웹페이지가 열려도 프록시 노드가 작동한다는 뜻은 아니며, 구독이 유효하다는 판단 근거로도 사용할 수 없습니다.

적합한 경우: 직접 연결 결과와 비교하거나 로컬 네트워크를 확인하려는 경우

예를 들어 특정 도메인만 프록시를 사용하고 나머지 요청은 직접 연결하려면 설정의 Rule 부분에 아래 규칙을 사용할 수 있습니다. 문법을 보여 주는 예시일 뿐 노드는 포함하지 않습니다. 적용하기 전에 현재 설정을 백업하고 PROXY가 참조하는 프록시 정책을 사용할 수 있는지 확인하세요.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

DOMAIN-SUFFIX는 지정된 도메인과 하위 도메인에 일치하며, 규칙은 위에서 아래 순서로 확인합니다. FINAL은 앞선 규칙에 일치하지 않은 요청을 처리하므로 규칙 마지막에 두어야 합니다. Config에서의 결과와 Proxy에서의 결과가 다르면 소프트웨어를 다시 설치하지 말고 어떤 규칙이 일치했는지 확인하세요. 모드와 필드를 더 확인하려면 프록시 모드와 설정 필드를 참고하세요.

자주 묻는 질문: 실행 오류, 업데이트 및 제거

AppImage를 두 번 클릭해도 반응이 없으면 어떻게 하나요?

먼저 터미널에서 파일을 실행해 오류 내용을 확인하세요. Permission denied가 표시되면 실행 권한과 파일 시스템의 noexec 제한을 확인합니다. FUSE 오류가 표시되면 필요한 실행 지원을 설치하고, Exec format error가 표시되면 아키텍처를 확인하세요. 모든 실행 오류를 구독 문제로 돌리지 마세요.

deb 또는 rpm을 설치하면 자동으로 업데이트되나요?

로컬 파일을 설치했다고 자동 업데이트 저장소가 설정되는 것은 아닙니다. 업데이트하려면 사이트의 다운로드 페이지에서 호환되는 형식과 아키텍처의 새 패키지를 받은 뒤 apt install 또는 dnf install을 실행하세요. 먼저 패키지 관리자가 표시하는 처리 계획을 확인해야 합니다. AppImage는 업데이트 전에 앱을 종료하고 파일을 교체한 다음 실행 권한을 다시 확인하세요.

제거할 때 어떤 패키지명을 입력해야 하는지 어떻게 확인하나요?

창 제목을 패키지명으로 사용하지 마세요. deb 파일은 dpkg-deb -f "$pkg" Package로 원본 파일의 Package 필드를 확인할 수 있습니다. rpm 파일은 rpm -qp --queryformat '%{NAME}\n' "$pkg"로 조회하세요. 여기서 pkg는 해당 원본 설치 파일의 경로를 가리켜야 합니다. 조회한 이름을 패키지 관리자에 전달해 제거하세요.

노드 목록이 비어 있으면 다시 설치해야 하나요?

먼저 구독 링크가 온전한지, 만료되지 않았는지, 업데이트 결과에 유효한 노드가 있는지 확인하세요. 오류 메시지를 보관하고 본인이 이용하는 서비스 제공업체에 링크 상태를 문의하세요. 프로그램을 다시 설치해도 서버에서 빈 응답이 오는 문제는 대개 해결되지 않습니다. 백업하지 않은 설정을 테스트 목적으로 삭제하지 마세요.

네이티브 패키지는 보통 apt remove 또는 dnf remove로 제거하지만, 먼저 패키지명을 조회해 확인해야 합니다. AppImage는 실행 중인 프로세스를 종료한 다음 해당 파일과 직접 만든 바로 가기를 삭제하면 됩니다. 이 방법으로 사용자 디렉터리의 설정까지 반드시 삭제되는 것은 아닙니다. 설치 형식을 바꾸기 전에 필요한 설정을 저장하고, 현재 연결 및 설정 출처가 혼동되지 않도록 여러 인스턴스를 동시에 실행하지 마세요.

Shadowrocket 다운로드 및 첫 설정 방법

iPhone / iPad 버전은 App Store에서 $2.99 일회성 결제이며, Mac(Apple 칩 / Intel) / Windows / Android / Linux 버전은 무료입니다. Linux 사용자는 배포판과 아키텍처에 맞는 패키지를 선택하세요. 설치가 끝나면 기존에 보유한 구독을 사용해 설정을 이어가면 됩니다.

Shadowrocket 다운로드