Google Compute Engine에 ShadowsocksR 설치하기 (1년 무료) - 4.2 클라이언트 연결 (Android)

ShadowsocksR 서버가 개발이 중단되고 다른 프로젝트로 분기되면서 클라이언트도 상당 부분 업데이트가 중단되어 있는 것 같습니다.
일단 Github에서 "ShadowsocksR Android" 검색어로 검색했을 때 Best Match로 검색되는 프로젝트의 릴리즈는 아래 링크에서 받을 수 있습니다.
https://github.com/shadowsocksr-backup/shadowsocksr-android/releases

그리고 구글 플레이스토어에서 첫번째로 검색되는 클라이언트는 아래 링크에서 받을 수 있습니다.
https://play.google.com/store/apps/details?id=com.github.shadowsocksr&hl=ko

오픈소스로 개발되던 프로젝트의 클라이언트를 다들 fork해서 개발을 이어가는데, 플레이스토어에 올라온 클라이언트는 광고, 인앱구매가 있다고 하므로 저는 그냥 Github에서 받아서 휴대전화에 설치했습니다.

어느 버전으로 설치하든 UI는 거의 동일하므로 보고 따라하시는데 큰 문제 없습니다.

설치한 앱을 실행하면 아래와 같은 화면이 뜹니다.


처음에 FreeSSR-public이라는 Group Name으로 한개의 서버가 목록에 추가되어 있는데, 연결이 되지 않는 서버이므로 삭제하기 위해서 좌측 상단의 shadowsocks R이라고 적혀 있는 부분을 탭합니다.


처음 서버 목록에 들어가면 위와 같이 간단한 팝업으로 조작 설명이 나옵니다.
서버 목록에서 하나의 항목을 탭하면 해당 서버가 선택되고, 하나의 항목 위에서 좌우로 스와이프하면 서버를 삭제할 수 있습니다. 그리고 길게 눌러서 서버의 목록 위치를 임의로 정렬할 수 있습니다.
아무 곳이나 탭한 후, 연결되지 않는 서버 항목을 스와이프하여 삭제한 후, 새로운 서버를 추가하기 위해 하단의 + 표시된 분홍색 원을 탭합니다.

  • Add/Update SSR Subscription : SSR 서버 목록을 RSS형태로 구독하는 경우 해당 구독 URL을 입력하면 자동으로 서버 목록을 받아오게 됩니다. 보통 중국에서 일정 비용을 지불하고 업자가 설치한 서버의 연결 정보를 받아서 사용하는 경우에 사용됩니다.
  • Manual Settings : 선택하면 새로운 서버 연결 정보를 수동으로 직접 입력하여 추가할 수 있습니다.
  • Scan QR code : 연결 정보를 포함한 QR코드를 스캔하면 자동으로 연결 정보가 추가됩니다.
  • NFC : 근처의 사용자끼리 NFC로 연결정보를 주고 받아 자동으로 추가할 수 있습니다.
  • Import from Clipboard : 서버 설정에서 확인할 수 있는 SSR:// 형태의 연결 링크 문자열을 복사하여 클립보드에 저장되어 있는 경우 해당 링크 문자열을 이용하여 자동으로 연결 정보를 추가합니다. (Ex. 친구에게 카톡으로 받은 SSR:// 형태의 문자열을 복사한 상태에서 탭하면 자동으로 연결 정보 추가)
위와 같은 다양한 방법으로 서버를 추가하면 아래 처럼 목록에 서버가 추가된 것을 확인할 수 있습니다.



추가된 서버 항목을 클릭하면 상세 설정을 볼 수 있는 화면으로 넘어갑니다.
서버 항목 우측의 번개 표시를 탭하면 해당 서버의 반응 속도를 테스트합니다.
빨간색으로 표시한 공유 아이콘을 탭하면 아래와 같이 다양한 방식으로 서버 연결 정보를 공유할 수 있습니다.


기본적으로 QR코드가 중간에 표시되므로 상대방이 바로 QR코드를 카메라로 찍어서 추가하거나 하단의 Copy URL을 선택하면 SSR://형태의 연결 정보 링크 문자열이 복사되므로 카톡이나 문자등의 방법으로 상대방에게 전달할 수 있습니다. 공유할 상대방이 가까운 곳에 있는 경우 Turn On NFC & Android Beam을 통해서 직접 휴대전화로 연결 정보를 공유할 수 있습니다.

추가한 서버 항목을 탭하면 아래와 같이 서버 상세 항목이 표시됩니다.


우측 상단의 종이 비행기 모양을 탭하면 로컬 프록시 서버를 시작합니다.
서버를 시작하기 전 휴대전화의 어떤 인터넷 연결을 SSR 프록시 서버를 통해서 연결할 지 설정하기 위해서 아래로 스크롤하면, Route항목을 찾을 수 있으며, 기본값으로 All이 선택되어 있습니다.




  • All : 모든 인터넷 연결을 SSR 프록시 서버를 통해서 연결
  • Bypass LAN : 로컬 네트워크 연결은 SSR 서버를 통하지 않음
  • Bypass China : 중국 IP는 SSR 서버를 통하지 않음
  • Bypass LAN & China : 로컬 네트워크와 중국 IP는 SSR 서버를 통하지 않음
  • GFW List : 만리방화벽으로 막혀있는 해외 사이트만 SSR 서버를 통해서 연결
  • China List : 정확한 용도를 잘 모르겠습니다. ^^ List에 IP만 잔뜩 있어서..
  • Customize ACL File : 사용자가 작성한 접근제한목록(Access Control List) 파일을 통해서 연결을 제어 (이건 아마 네트워크 고수분들만 할 수 있을 듯 하네요.)
라우팅 방법까지 설정했으면 상단의 종이비행기 아이콘을 탭하여 로컬 프록시를 시작합니다.
로컬 프록시를 시작하는 중에는 종이비행기 모양에 그려져 있던 취소선이 없어지고 원 외부에 연결이 진행 중임을 알려주는 표시가 빙글빙글 돌다가 로컬 프록시 실행이 완료되면 멈추면서, 상단에는 주고받은 패킷 크기가 표시됩니다. 이 단계에서 처음 한번은 VPN 연결 관련 보안 확인을 해줘야 하고, 로컬 프록시가 구동되면 상단에 VPN이 연결됐을 때와 같은 열쇠 모양이 표시됩니다.

주의 할 점은, 보통 Shadowsocks나 SSR앱들은 실제로는 VPN이 아니지만 로컬 프록시 서버를 구동하고 프록시 앱이 로컬 프록시 서버에 VPN 형식으로 연결하기 때문에 상태바에는 VPN이 연결되었을 때와 같이 열쇠가 표시되지만 실제로는 프록시 앱과 로컬 프록시 서버가 연결된 상태인 것이므로 아직 외부로의 인터넷 연결이 외부 SSR과 제대로 통신하고 있는지는 확신할 수 없다는 것입니다.


위 상태는 휴대전화가 로컬 프록시 서버를 실행하고 앱과 연결이 완료된 상태입니다. 실제로 로컬 프록시가 우리가 설정한 VPS 상의 SSR 프록시 서버와 연결이 잘 되는지 테스트 하기 위해서 상단의 트래픽 표시 부분을 탭하면 로컬프록시가 SSR 프록시 서버와 테스크 패킷을 주고 받으면서 반응 속도를 테스트합니다.


로컬 프록시와 SSR 서버간 연결이 잘 되면 위와 같이 테스트가 성공했다는 메시지와 지연속도가 표시되며, 만약, 연결이 실패하면 실패 메시지가 Toast 메시지로 표시됩니다.

연결을 종료하기 위해서는 앱에서 종이비행기 앱을 탭하여 연결을 끊거나 알림바를 내려 연결 알림 항목을 탭하여 끌 수도 있고, 빠른 설정 항목에 앱 버튼이 추가되어 있으면 빠른 설정 항목에서도 끌 수 있습니다.

여기까지 SSR에 대한 안드로이드 클라이언트의 연결 방법을 설명드렸습니다.


이어지는 글 목록
  1. GCE 가입
  2. VM 인스턴스 생성 및 설정
  3. ShadowsocksR 설치 및 실행
  4. 클라이언트 연결
    1. Windows용 ShadowsocksR (C#)
    2. Android용 SSR
    3. iOS용 Potatso Lite

댓글

이 블로그의 인기 게시물

OpenWrt 공유기에 Wireguard 설정하기

Cloudflare DNS 서비스를 통해 Let's Encrypt 인증서 발급 및 갱신 자동화하고 v2-ui에 http+tls 위장 적용하기

샤오미 공유기 3세대(Mi Router R3G)에 OpenWrt 올리기