
@masterking32의 MasterHttpRelayVPN의 Rust 포트 — 모든 공로는 원래 아이디어와 Python 구현을 제공한 @masterking32에게 있습니다. Google Apps Script 릴레이와 TLS SNI 은닉을 통한 무료 DPI 우회. CLI + 크로스 플랫폼 데스크탑 UI, HTTP + SOCKS5 프록시, 런타임 종속성 없음.
컴퓨터에서 실행되는 작은 프로그램으로, 자신의 무료 Google 계정에 배포하는 Google Apps Script를 사용하여 차단된 웹사이트를 무료로 방문할 수 있습니다. ISP는 www.google.com으로 향하는 암호화된 트래픽만 볼 수 있습니다 — 실제로 방문하는 사이트는 알 수 없습니다.
🇬🇧 영어 빠른 시작 · 전체 가이드 (고급 주제) 🇮🇷 페르시아어 빠른 시작 · 전체 가이드 (고급)
۱. 페르시아어 설정 동영상 가이드 (YouTube)
۲. 페르시아어 종합 텍스트 설정 가이드 - Kian Irani님 감사합니다.
you → browser → mhrv-rs ──┐
│ ISP only sees: www.google.com
▼
Google's network
│
▼
your free Apps Script fetches the real site
│
▼
Twitter / ChatGPT / blocked-site of your choice
ISP는 암호화된 HTTPS 내부를 읽을 수 없습니다. 주소만 볼 수 있습니다 — www.google.com. 실제 페이지 조회는 Google 네트워크 내부의 암호화된 터널 안에서 발생합니다.
약 5분. 필요한 것:
assets/apps_script/Code.gs 파일을 열고 모든 내용을 복사하여 Apps Script 편집기에 붙여넣기 (기존 내용 대체)const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";
CHANGE_ME_TO_A_STRONG_SECRET을 자신만의 긴 무작위 문자열로 변경합니다. 이 문자열을 보관하세요 — 3단계에서 앱에 붙여넣습니다. 비밀번호처럼 취급하세요.Ctrl/Cmd+S)팁: 나중에
Code.gs를 업데이트할 경우 새 배포를 생성하지 마세요. 코드를 편집한 후 Deploy → Manage deployments → ✏️ → Version: New version → Deploy로 이동하세요. Deployment ID는 동일하게 유지됩니다.
최신 릴리스 페이지로 이동하여 컴퓨터에 맞는 파일을 다운로드하세요:
Mac: Apple Silicon인지 Intel인지 확실하지 않나요? → About This Mac을 클릭하세요. "Chip"에 Apple이라고 표시되면 arm64, Intel이면 amd64를 받으세요.
Linux:
GLIBC오류가 발생하나요? 대신linux-musl-amd64파일을 사용하세요 — 종속성 없이 모든 Linux에서 작동합니다.
압축을 푸세요.
실행 프로그램을 더블 클릭하세요:
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh (터미널에서) |
처음 실행 시 컴퓨터 비밀번호를 묻습니다. 이는 브라우저가 mhrv-rs를 신뢰하도록 작은 인증서 하나를 설치하기 위함입니다. 인증서는 컴퓨터에서 생성되며 절대 떠나지 않습니다 — 클라우드, Google, 원격 어디에서도 사용할 수 없습니다.
mhrv-rs 창이 열립니다. 다음을 입력하세요:
Code.gs에 넣은 무작위 문자열을 붙여넣기Save config를 클릭한 다음 Start를 클릭하세요. 작동하면 상태 원이 녹색으로 변합니다.
테스트: Test 버튼을 클릭하세요. 릴레이를 통해 하나의 요청을 보내고 작동 여부를 알려줍니다.
127.0.0.1 포트: 8085Proxy SwitchyOmega 확장 프로그램을 설치하고 프록시를 127.0.0.1:8085로 설정하세요.
System Settings → Network → Wi-Fi → Details → Proxies → Web Proxy (HTTP) 및 Secure Web Proxy (HTTPS) 모두 활성화하고 둘 다 127.0.0.1:8085로 지정하세요.
브라우저에서 차단된 사이트를 열어보세요. 로드되어야 합니다.
문제가 있을 경우:
정말 무료인가요? 네. Google은 모든 계정에 무료 티어에서 하루 20,000개의 아웃바운드 URL 가져오기를 제공합니다. 한 사람의 일반적인 브라우징에 충분합니다. 가족 3-4명이 동일한 설정을 공유하는 경우 다른 Google 계정에 2-3개의 배포를 만들고 모든 ID를 추가하세요.
안전한가요? 인증서는 컴퓨터에 남아 있습니다 — 아무도 개인 키를 가지고 있지 않습니다. auth_key는 당신의 비밀입니다. Google은 릴레이를 통해 방문하는 웹사이트를 봅니다(Apps Script가 대신 가져오므로) — 호스팅된 프록시와 동일합니다. 이것이 마음에 들지 않으면 자체 VPS로 Full Tunnel 모드를 사용하세요 — 전체 가이드 참조.
YouTube 동영상이 재생되지 않아요. YouTube의 동영상 청크는 googlevideo.com에서 오며, Apps Script가 도달할 수 없습니다(Google은 Apps Script가 자체 동영상 CDN에 액세스하는 것을 차단합니다). 페이지 자체는 잘 로드되지만 동영상 재생만 영향을 받습니다. 해결 방법: Full Tunnel + VPS, 또는 설정의 passthrough_hosts에 .googlevideo.com을 추가 (브라우저가 직접 연결하지만 이란 ISP에서는 여전히 제한됨).
ChatGPT / Claude / Grok에 Cloudflare CAPTCHA가 나타나요. Cloudflare는 Google 데이터센터 IP를 봇으로 플래그합니다. 해결 방법: exit node 설정 — 서버리스 호스트(Deno Deploy, fly.io, 자체 VPS)에 배포하는 작은 TypeScript 핸들러로, Apps Script → exit node → claude.ai를 연결합니다. assets/exit_node/README.md 참조.
텔레그램이 불안정해요. 텔레그램은 MTProto를 사용하며 Apps Script가 지원하지 않습니다. 컴퓨터에서 xray와 함께 사용하세요 — 전체 가이드의 텔레그램 섹션 참조.
ISP가 script.google.com 자체를 차단해요. mhrv-rs에는 SNI 재작성 터널만 사용하는 direct 모드가 있습니다(Apps Script 없음). 이 모드를 한 번 사용하여 script.google.com에 접속해 스크립트를 배포한 후 apps_script 모드로 전환하세요. direct 모드 참조.
Google 검색이 JavaScript 없이 표시돼요. Apps Script의 User-Agent는 Google-Apps-Script로 고정되어 있습니다(Google이 스크립트 변경을 허용하지 않음). 따라서 일부 사이트에서는 JS 없는 폴백을 제공합니다. 해결 방법: 영향을 받는 도메인을 hosts 맵에 추가하여 실제 브라우저 User-Agent로 SNI 재작성 터널을 통해 전달되도록 하세요. google.com, youtube.com, fonts.googleapis.com은 기본적으로 이 목록에 포함되어 있습니다.
더 많은 질문: 전체 가이드의 FAQ 참조.
auth_key는 가리세요!), 시도한 내용, 로그에서 본 내용을 포함한 새 이슈 열기원본 프로젝트: @masterking32/MasterHttpRelayVPN. 아이디어, Apps Script 프로토콜, 프록시 아키텍처 — 모두 그의 것입니다. 이 Rust 포트는 클라이언트 측 배포를 더 쉽게 만들기 위해 존재합니다(단일 바이너리, Python 설치 불필요).
이 포트의 대부분의 Rust 코드는 Anthropic의 Claude로 작성되었으며, 모든 커밋에서 인간이 검토했습니다.
❤️ sh1n.org에서 기부 — 호스팅 및 CI 러너 비용을 충당합니다. 저장소에 별표를 표시하면 프로젝트를 계속 유지할 가치가 있다는 신호를 보낼 수 있습니다.
컴퓨터에서 실행되는 작은 프로그램으로, 당신의 무료 Google 계정에 배포한 스크립트를 사용하여 차단된 사이트를 열 수 있습니다. ISP는 당신이 www.google.com에 연결하는 것만 볼 뿐, 실제로 어떤 사이트를 방문하는지 알 수 없습니다.
🇬🇧 영어 빠른 시작 · 전체 가이드 (고급 주제) 🇮🇷 페르시아어 빠른 시작 · 전체 가이드 (고급)
you → browser → mhrv-rs ──┐
│ ISP only sees: www.google.com
▼
Google's network
│
▼
your free Apps Script fetches the real site
│
▼
Twitter / ChatGPT / blocked-site of your choice
| 사용 중인 OS | 다운로드 파일 |
|---|
| Apple Silicon (M1 / M2 / M3 / M4) 칩을 탑재한 Mac | mhrv-rs-macos-arm64-app.zip |
| Intel 칩을 탑재한 Mac | mhrv-rs-macos-amd64-app.zip |
| Windows | mhrv-rs-windows-amd64.zip |
| Linux (Ubuntu / Mint / Fedora / Debian / Arch) | mhrv-rs-linux-amd64.tar.gz |
| Android 스마트폰 또는 태블릿 | mhrv-rs-android-universal-v*.apk |
| OpenWRT 라우터 또는 Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
ISP는 암호화된 HTTPS 내부를 읽을 수 없습니다. 주소만 볼 수 있습니다 — www.google.com. 실제 페이지 조회는 Google 네트워크 내부의 암호화된 터널 안에서 이루어집니다.
약 5분. 필요한 것:
assets/apps_script/Code.gs 파일을 열고 모든 내용을 복사하여 Apps Script 편집기에 붙여넣기 (기존 내용 대체)const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET";
CHANGE_ME_TO_A_STRONG_SECRET을 자신만의 긴 무작위 문자열로 변경합니다. 이 문자열을 보관하세요 — 3단계에서 앱에 붙여넣습니다. 비밀번호처럼 취급하세요.Ctrl/Cmd+S)팁: 나중에
Code.gs를 업데이트할 경우 새 배포를 생성하지 마세요. 코드를 편집한 후 Deploy → Manage deployments → ✏️ → Version: New version → Deploy로 이동하세요. Deployment ID는 동일하게 유지됩니다.
최신 릴리스 페이지로 이동하여 컴퓨터에 맞는 파일을 다운로드하세요:
| 사용 중인 OS | 다운로드 파일 |
|---|---|
| Apple Silicon (M1 / M2 / M3 / M4) 칩을 탑재한 Mac | mhrv-rs-macos-arm64-app.zip |
| Intel 칩을 탑재한 Mac | mhrv-rs-macos-amd64-app.zip |
| Windows | mhrv-rs-windows-amd64.zip |
| Linux (Ubuntu / Mint / Fedora / Debian / Arch) | mhrv-rs-linux-amd64.tar.gz |
| Android 스마트폰 또는 태블릿 | mhrv-rs-android-universal-v*.apk |
| OpenWRT 라우터 또는 Alpine | mhrv-rs-linux-musl-amd64.tar.gz |
Mac: Apple Silicon인지 Intel인지 확실하지 않나요? → About This Mac을 클릭하세요. "Chip"에 Apple이라고 표시되면 arm64, Intel이면 amd64를 받으세요.
Linux:
GLIBC오류가 발생하나요? 대신linux-musl-amd64파일을 사용하세요 — 종속성 없이 모든 Linux에서 작동합니다.
압축을 푸세요.
실행 프로그램을 더블 클릭하세요:
| Mac | run.command |
| Windows | run.bat |
| Linux | ./run.sh (터미널에서) |
처음 실행 시 컴퓨터 비밀번호를 묻습니다. 이는 브라우저가 mhrv-rs를 신뢰하도록 작은 인증서 하나를 설치하기 위함입니다. 인증서는 컴퓨터에서 생성되며 절대 떠나지 않습니다 — 클라우드, Google, 원격 어디에서도 사용할 수 없습니다.
mhrv-rs 창이 열립니다. 다음을 입력하세요:
Code.gs에 넣은 무작위 문자열을 붙여넣기Save config를 클릭한 다음 Start를 클릭하세요. 작동하면 상태 원이 녹색으로 변합니다.
테스트: Test 버튼을 클릭하세요. 릴레이를 통해 하나의 요청을 보내고 작동 여부를 알려줍니다.
127.0.0.1 포트: 8085Proxy SwitchyOmega 확장 프로그램을 설치하고 프록시를 127.0.0.1:8085로 설정하세요.
System Settings → Network → Wi-Fi → Details → Proxies → Web Proxy (HTTP) 및 Secure Web Proxy (HTTPS) 모두 활성화하고 둘 다 127.0.0.1:8085로 지정하세요.
브라우저에서 차단된 사이트를 열어보세요. 로드되어야 합니다.
문제가 있을 경우:
정말 무료인가요? 네. Google은 모든 계정에 무료 티어에서 하루 20,000개의 아웃바운드 URL 가져오기를 제공합니다. 한 사람의 일반적인 브라우징에 충분합니다. 가족 3-4명이 동일한 설정을 공유하는 경우 다른 Google 계정에 2-3개의 배포를 만들고 모든 ID를 추가하세요.
안전한가요? 인증서는 컴퓨터에 남아 있습니다 — 아무도 개인 키를 가지고 있지 않습니다. auth_key는 당신의 비밀입니다. Google은 릴레이를 통해 방문하는 웹사이트를 봅니다(Apps Script가 대신 가져오므로) — 호스팅된 프록시와 동일합니다. 이것이 마음에 들지 않으면 자체 VPS로 Full Tunnel 모드를 사용하세요 — 전체 가이드 참조.
YouTube 동영상이 재생되지 않아요. YouTube의 동영상 청크는 googlevideo.com에서 오며, Apps Script가 도달할 수 없습니다(Google은 Apps Script가 자체 동영상 CDN에 액세스하는 것을 차단합니다). 페이지 자체는 잘 로드되지만 동영상 재생만 영향을 받습니다. 해결 방법: Full Tunnel + VPS, 또는 설정의 passthrough_hosts에 .googlevideo.com을 추가 (브라우저가 직접 연결하지만 이란 ISP에서는 여전히 제한됨).
ChatGPT / Claude / Grok에 Cloudflare CAPTCHA가 나타나요. Cloudflare는 Google 데이터센터 IP를 봇으로 플래그합니다. 해결 방법: exit node 설정 — 서버리스 호스트(Deno Deploy, fly.io, 자체 VPS)에 배포하는 작은 TypeScript 핸들러로, Apps Script → exit node → claude.ai를 연결합니다. assets/exit_node/README.fa.md 참조.
텔레그램이 불안정해요. 텔레그램은 MTProto를 사용하며 Apps Script가 지원하지 않습니다. 컴퓨터에서 xray와 함께 사용하세요 — 전체 가이드의 텔레그램 섹션 참조.
ISP가 script.google.com 자체를 차단해요. mhrv-rs에는 SNI 재작성 터널만 사용하는 direct 모드가 있습니다(Apps Script 없음). 이 모드를 한 번 사용하여 script.google.com에 접속해 스크립트를 배포한 후 apps_script 모드로 전환하세요. direct 모드 참조.
Google 검색이 JavaScript 없이 표시돼요. Apps Script의 User-Agent는 Google-Apps-Script로 고정되어 있습니다(Google이 스크립트 변경을 허용하지 않음). 따라서 일부 사이트에서는 JS 없는 폴백을 제공합니다. 해결 방법: 영향을 받는 도메인을 hosts 맵에 추가하여 실제 브라우저 User-Agent로 SNI 재작성 터널을 통해 전달되도록 하세요. google.com, youtube.com, fonts.googleapis.com은 기본적으로 이 목록에 포함되어 있습니다.
더 많은 질문: 전체 가이드의 FAQ 참조.
auth_key는 가리세요!), 시도한 내용, 로그에서 본 내용을 포함한 새 이슈 열기원본 프로젝트: @masterking32/MasterHttpRelayVPN. 아이디어, Apps Script 프로토콜, 프록시 아키텍처 — 모두 그의 것입니다. 이 Rust 포트는 클라이언트 측 배포를 더 쉽게 만들기 위해 존재합니다(단일 바이너리, Python 설치 불필요).
이 포트의 대부분의 Rust 코드는 Anthropic의 Claude로 작성되었으며, 모든 커밋에서 인간이 검토했습니다.
❤️ sh1n.org에서 기부 — 호스팅 및 CI 러너 비용을 충당합니다. 저장소에 별표를 표시하면 프로젝트를 계속 유지할 가치가 있다는 신호를 보낼 수 있습니다.