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

Linux 배포판에 맞는 deb 또는 rpm 패키지를 apt나 dnf로 설치하세요. 배포판을 구분하지 않으려면 AppImage에 chmod +x로 실행 권한을 부여한 뒤 실행하면 됩니다.

이 글의 핵심 내용

이 글은 데스크톱 환경을 사용하는 Linux 기기에 적용됩니다. 먼저 배포판과 CPU 아키텍처를 확인한 다음, 사이트 다운로드 페이지에서 Shadowrocket 설치 파일을 선택하세요. Debian 및 Ubuntu는 보통 deb, dnf를 사용하는 Fedora 등의 시스템은 rpm을 선택합니다. 별도의 파일로 바로 실행하려면 AppImage를 사용할 수 있습니다. 이어지는 내용에서는 로컬 파일 설치, 실행 권한 설정, 시작 오류 해결 및 업데이트 확인 방법을 안내합니다. 연결 설정은 사용자가 이미 보유한 서비스와 구독 정보가 있다는 전제입니다.

1. 배포판과 아키텍처를 확인한 뒤 설치 형식 선택

Shadowrocket Linux 설치 파일 형식에 따라 파일 관리 주체와 의존성 처리 방식이 달라지지만, 사용할 수 있는 프로토콜이 달라지는 것은 아닙니다. 파일 확장자만 보고 실행하지 마세요. 배포판, CPU 아키텍처, 다운로드 페이지에 표시된 시스템 요구 사항을 모두 확인해야 합니다. AppImage는 배포판별 패키지 형식에 대한 의존성을 줄여 주지만, 하나의 파일이 모든 아키텍처와 시스템 환경에서 실행된다는 뜻은 아닙니다.

터미널에서 아래 명령을 차례로 실행하세요. 첫 번째 명령은 배포판 정보를 표시하고, 두 번째 명령은 커널이 보고하는 시스템 아키텍처를 표시합니다. 결과가 x86_64라면 다운로드 항목에 해당 x86-64 아키텍처가 명시되어 있는지 확인하세요. aarch64라면 해당 ARM64 빌드가 제공되는지 확인합니다. 다운로드 페이지에 호환되는 파일이 없다면 확장자를 바꿔 설치를 시도하지 마세요.

cat /etc/os-release
uname -m
현재 시스템설치 형식설치 방법
Debian, Ubuntu 및 호환 시스템debapt로 로컬 파일을 설치하고 의존성을 해결합니다.
Fedora 등 dnf를 사용하는 시스템rpmdnf로 로컬 파일을 설치하고 의존성을 해결합니다.
그 밖의 RPM 기반 배포판rpm호환성을 먼저 확인한 뒤 해당 배포판의 패키지 관리자를 사용하세요. dnf 명령을 그대로 적용하지 마세요.
독립 실행 파일을 사용하려는 경우AppImage아키텍처와 실행 조건을 확인하고 실행 권한을 부여한 뒤 시작합니다.

설치 파일은 모두 전체 플랫폼 다운로드 페이지의 Linux 섹션에서 받으세요. 실제 제공되는 파일은 페이지에 표시된 내용을 기준으로 합니다. Linux 버전은 무료입니다. iPhone / iPad 버전은 App Store에서 $2.99에 한 번 결제하며, Mac(Apple 실리콘 / Intel), Windows, Android 버전도 무료입니다. 플랫폼별 다운로드 방법을 혼동하지 마세요.

2. 다운로드 전 네 단계 확인

아래 절차에서는 패키지 선택과 연결 설정을 분리해 진행합니다. 설치 프로그램이 실행된다는 것은 로컬 실행 조건이 대체로 충족되었다는 뜻일 뿐입니다. 실제 연결 여부는 사용자가 보유한 서버 매개변수, 네트워크, 현재 라우팅 설정에 따라 달라집니다. 처음 설치할 때는 네트워크를 자동으로 제어하도록 설정하지 마세요. 설치 오류와 연결 오류를 구분하기 쉽습니다.

  1. 시스템 확인

    cat /etc/os-release와 uname -m을 실행해 배포판과 아키텍처를 기록하세요. 이하의 대화형 명령은 Bash 기준입니다. 먼저 bash를 실행해 해당 터미널 환경으로 전환할 수 있습니다.

  2. 파일 다운로드

    사이트 다운로드 페이지에서 Linux를 선택한 뒤 시스템에 맞는 deb, rpm 또는 AppImage 파일을 받으세요. 다운로드가 끝나면 파일 관리자에서 저장 위치를 확인하고, 다운로드가 완료되지 않은 파일은 설치 프로그램에 전달하지 마세요.

  3. 설치 및 실행

    다음 절의 해당 명령으로 설치하거나 실행하세요. 프로그램을 처음 시작할 때는 일반 사용자 계정을 사용하세요. 패키지 관리자 설치와 같은 시스템 작업에만 관리자 권한이 필요합니다. 전체 그래픽 앱을 sudo로 실행하지 마세요.

  4. 가져오기 및 확인

    Home →「+」→ Type → Subscribe에서 이미 보유한 구독 정보를 입력하고 저장한 뒤 업데이트하세요. 사용할 수 있는 구성을 선택한 다음 Global Routing을 확인하고, 필요할 때 연결을 시작합니다. 구독을 가져왔다는 사실만으로 모든 대상에 접속할 수 있다고 판단하지 마세요.

3. deb는 apt로, rpm은 dnf로 설치

아래 명령은 설치 파일 이름을 미리 정해 두지 않습니다. 터미널에서 입력을 요청하면 방금 다운로드한 파일의 절대 경로를 붙여 넣고 Enter를 누르세요. 경로 양쪽에 따옴표를 추가하지 마세요. 명령의 "$pkg"는 경로에 공백이 있어도 처리합니다. 파일 관리자에서 ‘위치 복사’를 선택했을 때 file:// 주소가 복사된다면, 먼저 로컬 파일 경로로 변환한 뒤 사용하세요.

Debian / Ubuntu: 로컬 deb 파일 설치

read -r -p 'deb 파일의 절대 경로를 입력하세요: ' pkg
dpkg-deb -f "$pkg" Package Architecture
sudo apt install "$pkg"

dpkg-deb 명령은 패키지 이름과 아키텍처를 확인해 설치 전에 다시 검토할 수 있도록 합니다. apt install에는 원격 패키지 이름이 아니라 로컬 파일 경로를 지정합니다. apt는 설정된 저장소를 통해 의존성 해결을 시도합니다. 의존성이 누락되었다는 메시지가 표시되면 먼저 시스템 저장소와 네트워크를 확인하세요. 의존성을 강제로 무시하는 옵션을 사용하거나, 설치를 완료하려고 출처가 불분명한 저장소를 추가하지 마세요.

Fedora 등 dnf 시스템: 로컬 rpm 파일 설치

read -r -p 'rpm 파일의 절대 경로를 입력하세요: ' pkg
rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"

rpm -qp는 지정한 파일의 메타데이터만 조회하고, 실제 설치는 dnf가 담당합니다. 트랜잭션 요약을 확인한 뒤 진행 여부를 결정하세요. 시스템 구성 요소가 대량으로 제거되거나 아키텍처가 맞지 않거나 의존성 충돌이 발생하면 작업을 취소해야 합니다. 다른 RPM 기반 배포판에는 dnf가 기본 설치되어 있지 않을 수 있으며, 현재 패키지와 호환되지 않을 수도 있습니다. 먼저 다운로드 페이지의 안내를 확인하세요.

  • 파일을 찾을 수 없다는 메시지가 표시되는 경우: 경로와 대소문자, 다운로드 완료 여부를 다시 확인하세요. 웹 주소를 로컬 파일 경로로 입력하지 마세요.
  • 아키텍처가 맞지 않는다는 메시지가 표시되는 경우: uname -m 결과와 패키지 메타데이터를 비교해 올바른 파일을 다시 선택하세요. 파일 이름을 바꿔 아키텍처를 변환할 수는 없습니다.
  • 의존성을 충족할 수 없다는 메시지가 표시되는 경우: 배포판 호환 조건과 저장소 상태를 확인하세요. 의존성 검사를 건너뛰어 설치를 완료하려고 하지 마세요.

4. AppImage에 실행 권한을 부여한 뒤 일반 사용자로 실행

AppImage는 보통 단일 파일로 보관되며, apt나 dnf의 설치 데이터베이스에는 등록되지 않습니다. 파일을 개인 디렉터리의 고정된 위치에 보관한 다음 실행 권한을 부여할 수 있습니다. 임시 파일이 정리된 뒤 프로그램을 찾지 못하는 일을 막으려면 브라우저의 임시 디렉터리에서 계속 실행하지 마세요. 아래 명령은 Bash에서 실행하고 실제 파일의 절대 경로를 입력합니다.

read -r -p 'AppImage 파일의 절대 경로를 입력하세요: ' app
chmod u+x "$app"
"$app"

chmod u+x는 파일 소유자에게만 실행 권한을 추가합니다. 파일 권한을 모든 사용자가 쓸 수 있도록 변경할 필요는 없습니다. 더블 클릭해도 반응이 없다면 터미널에서 실행하면 오류를 확인하기 쉽습니다. Permission denied가 표시되면 실행 권한뿐 아니라 파일 시스템이 noexec 옵션으로 마운트되어 있는지도 확인하세요. 일부 이동식 저장 장치나 제한된 디렉터리는 실행 권한을 추가해도 프로그램을 실행할 수 없습니다.

FUSE 관련 오류는 배포판에 맞게 해결하세요. 일부 AppImage 런타임은 FUSE 지원에 의존합니다. 터미널에 관련 라이브러리가 없거나 마운트할 수 없다는 메시지가 명확히 표시되면 현재 배포판의 패키지 안내를 확인해 호환되는 구성 요소를 설치하세요. 다른 배포판의 패키지 이름을 무작정 적용하거나 시스템에 이미 설치된 FUSE 구성 요소를 삭제하지 마세요.

AppImage도 기본적인 그래픽 세션과 시스템 실행 환경이 필요합니다. 터미널 전용 서버, 컨테이너 또는 데스크톱 세션이 없는 SSH 환경에서는 파일에 실행 권한이 있어도 그래픽 창을 표시할 수 없습니다. cannot open display와 같은 메시지가 표시되면 설치 명령을 반복하는 대신 로컬 데스크톱 세션에서 문제를 확인하세요.

5. 시작 후 설치·구독·라우팅 문제 구분

창이 열리면 먼저 Home, Config, Settings에 정상적으로 접근할 수 있는지 확인한 다음 이미 보유한 연결 정보를 가져오세요. 프로토콜은 서버 매개변수와 일치해야 합니다. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 서로 바꿔 쓸 수 있는 이름이 아닙니다. 구성의 Type을 다른 프로토콜로 바꿔도 서버 측 설정이 맞지 않는 문제는 해결되지 않습니다.

2개
사전 확인 명령: cat /etc/os-release 및 uname -m
3개
주요 화면 메뉴: Home / Config / Settings
4개 항목
Global Routing:Proxy / Direct / Config / Scene

문제를 확인할 때는 다음 세 가지 Global Routing 설정을 구분하세요. 여기서 트래픽 범위는 Shadowrocket 처리 경로에 들어오는 연결을 가리키며, Linux의 모든 앱과 모든 프로토콜이 자동으로 제어된다는 뜻은 아닙니다. Scene은 설정된 장면 조건에 따라 실제 동작을 확인하세요. 이름만으로 현재 연결 경로를 추측하지 마세요.

Config

규칙별

현재 구성의 규칙에 따라 연결 경로를 결정합니다. DOMAIN-SUFFIX, IP-CIDR, GEOIP 등의 규칙이 매칭에 사용되며, 최종 경로는 규칙 순서와 FINAL에도 영향을 받습니다. 규칙이 일치하지 않으면 반드시 직접 연결되는 것은 아닙니다.

적합한 경우: 분할 라우팅 구성을 확인했으며 일상적인 연결에 사용할 때.

Proxy

처리 경로에 들어오는 연결을 선택한 프록시 정책으로 모두 전달합니다. 규칙 매칭 문제와 프록시 경로 문제를 구분하기 위해 잠시 사용할 수 있지만, 선택한 서버와 프로토콜 매개변수가 유효한지 확인해야 합니다.

적합한 경우: Config의 규칙이나 정책 선택을 잠시 확인할 때.

Direct

처리 경로에 들어오는 연결을 프록시 서버를 거치지 않고 대상에 직접 연결합니다. 로컬 네트워크의 기준 상태를 확인할 때 유용하지만, 프록시 서버가 작동하는지 검증하는 용도로는 사용할 수 없습니다.

적합한 경우: 로컬 DNS, 네트워크 출구, 대상 자체가 정상인지 확인할 때.

처음 확인할 때는 한 번에 하나의 조건만 바꾸세요. 기존 Global Routing 설정을 기록한 뒤 임시로 전환하고, 같은 대상을 다시 테스트한 다음 원래 설정으로 복원합니다. On Demand는 조건에 따라 연결을 시작하는 설정이지 설치 오류를 해결하는 스위치가 아닙니다. 처음 문제를 확인할 때는 Settings → On Demand에서 트리거 조건을 살펴 자동 연결이 테스트 상태를 바꾸지 않도록 하세요.

6. 설치 및 시작 관련 자주 묻는 문제

deb 파일을 받았는데 Fedora에서 열리지 않는 이유는 무엇인가요?

먼저 cat /etc/os-release를 실행해 시스템을 확인하세요. deb와 rpm은 서로 다른 패키지 관리 형식이므로 확장자를 바꿔 호환시킬 수 없습니다. 사이트 다운로드 페이지로 돌아가 호환되는 rpm을 선택하거나 AppImage 실행 조건을 확인하세요. 형식 불일치를 피하려고 시스템에 다른 패키지 관리 도구를 함께 설치하지 마세요.

AppImage에 chmod를 적용했는데도 실행할 수 없다는 메시지가 표시되나요?

먼저 ls -l "$app"으로 파일 소유자에게 실행 권한이 있는지 확인한 뒤 uname -m 결과와 아키텍처를 비교하세요. Permission denied가 표시되면 해당 파티션이 noexec로 마운트되었는지 확인합니다. Exec format error가 표시되면 아키텍처 불일치나 불완전한 파일을 우선 확인하세요. 권한을 계속 추가하지 마세요.

창은 열리지만 Home에 연결 항목이 없습니다. 설치가 잘못된 건가요?

연결 항목이 없다고 설치에 실패한 것은 아닙니다. 본인이 보유한 서비스와 구독을 사용해 Home →「+」→ Type → Subscribe에서 추가하고 업데이트하거나, 이미 보유한 매개변수를 직접 입력하세요. 이 사이트는 사용자가 이미 보유한 구독의 설정 방법만 안내하며 연결 서비스를 제공하지 않습니다. 정보를 가져온 뒤에도 프로토콜, 서버 포트, 인증 필드를 확인해야 합니다.

브라우저에서는 연결되는데 터미널 명령은 프록시를 사용하지 않습니다. 어떻게 해야 하나요?

먼저 앱의 프록시 설정, 시스템 트래픽 처리 방식, 터미널 프로세스의 프록시 환경 변수를 확인하세요. 터미널 도구가 데스크톱 시스템 프록시를 사용하지 않을 수도 있습니다. 프록시 주소를 직접 지정해야 한다면 현재 설정에서 실제 수신 주소, 포트, 프로토콜을 확인하세요. 기본 포트를 추측하지 마세요. Linux 권한 및 트래픽 처리 문제는 설치 형식 문제와 구분해 확인해야 합니다.

7. 업데이트·롤백·삭제 전에 보관할 항목

deb 또는 rpm을 로컬에서 설치해도 업데이트 저장소에 자동으로 추가되는 것은 아닙니다. 이후 업데이트할 때는 사이트 다운로드 페이지에서 현재 제공되는 설치 파일을 확인하고 같은 패키지 관리 방식으로 처리하세요. 설치 형식을 바꾸는 경우 먼저 기존 프로세스가 종료되었는지 확인하세요. 데스크톱 메뉴, 이전 파일, 새 파일이 동시에 남아 있으면 실제 실행 경로를 혼동할 수 있습니다.

  • 구성 보관: Config에서 현재 사용하는 구성을 확인하고 화면에 제공되는 내보내기 또는 백업 기능으로 저장하세요. Home에서 사용 중인 연결 항목과 Global Routing 설정도 기록해 두세요.
  • 사용자 지정 항목 기록: 직접 변경한 수신 주소, 포트, DNS, 규칙 정책을 기록하세요. 비밀번호, 개인 키 또는 구독 인증 정보가 포함된 백업을 공개 디렉터리에 저장하지 마세요.
  • deb / rpm 업데이트: 아키텍처에 맞는 새 파일을 다운로드한 다음 앞에서 안내한 해당 설치 명령을 실행하세요. 먼저 패키지 관리자의 트랜잭션 요약을 읽고 작업 대상과 의존성 변경을 확인합니다.
  • AppImage 업데이트: 이전 프로세스를 종료한 뒤 기존 파일을 보관하고, 새 파일을 고정된 디렉터리에 넣어 실행 권한을 다시 부여하세요. 데스크톱 실행 항목을 만들었다면 대상 경로가 새 파일을 가리키는지도 확인합니다.
  • 삭제 전 확인: deb / rpm은 실제 패키지 이름을 확인해 패키지 관리자로 삭제하세요. 패키지 이름은 설치 파일의 메타데이터에서 확인할 수 있습니다. AppImage는 실행 파일과 직접 만든 실행 항목을 삭제하면 해당 실행 경로를 제거할 수 있습니다. 사용자 구성은 남아 있을 수 있으므로 별도로 확인하세요.

업데이트를 마친 뒤 같은 대상, 같은 연결 항목, 같은 라우팅 설정으로 비교 테스트하세요. 창이 열리는 것만으로 네트워크 기능이 정상이라고 판단할 수 없습니다. 구독 업데이트, 연결 성립 여부, 실제 접속 결과도 함께 확인해야 프로그램 실행 문제와 구성 문제를 구분할 수 있습니다.

Shadowrocket 다운로드