HTTP 프록시는 HTTP CONNECT 요청을 받으면 대신 연결을 열어 주는 서버입니다. HTTPS 프록시는 같은 서버에 TLS로 접속하는 것이므로 프록시까지의 연결도 암호화됩니다. Potatso는 사용자 이름과 암호가 있든 없든 둘 다 연결할 수 있습니다.
HTTP 프록시는 TCP만 전달합니다. 나머지 트래픽이 어떻게 되는지는 UDP를 참고하세요.
HTTP 또는 HTTPS 프록시는 직접 추가하거나, http:// 또는 https:// 링크로 추가하거나, 다음을 가져와서 추가할 수 있습니다.
- Clash 또는 Mihomo 구독(
type: http), - Surge 구성(
http와https), - Xray 또는 V2Ray 구성(
http아웃바운드).
HTTPS 프록시를 직접 추가하려면 HTTP를 선택하고 TLS를 켭니다.
설정
| 설정 | 설명 |
|---|---|
| 서버, 포트 | 프록시의 주소와 포트. IPv6 주소도 사용할 수 있습니다. |
| 사용자 이름, 암호 | 선택 사항. Basic 인증으로 전송됩니다. |
| TLS | HTTPS 프록시이면 켭니다. |
| 서버 이름 | HTTPS 전용, 선택 사항. TLS 핸드셰이크에서 보내고 인증서와 대조하는 이름. 비워 두면 서버 주소를 사용합니다. |
| 인증서 확인 건너뛰기 | HTTPS 전용. 모든 인증서를 허용합니다. 테스트할 때만 사용하세요. |
| 인증서 핀 | HTTPS 전용, 선택 사항. 프록시 인증서의 SHA-256 지문으로, 16진수 64자리입니다. 핀을 지정하면 Potatso는 자체 서명 인증서를 포함해 핀으로 지정한 인증서만 허용하고 그 외에는 허용하지 않습니다. |
암호에는 :와 ASCII가 아닌 문자를 포함해 어떤 문자든 쓸 수 있습니다. 사용자 이름에는 :를 쓸 수 없습니다.
사용자 지정 헤더
Clash, Mihomo, Xray 구성에서는 제공업체가 요구하는 User-Agent 같은 헤더를 CONNECT 요청에 추가할 수 있습니다. Potatso는 프록시를 가져올 때 이를 유지하고 모든 연결에서 보냅니다. Host 헤더는 Potatso가 보내는 헤더를 대체합니다. 앱에서는 헤더를 추가하거나 편집할 수 없습니다.
인증서
HTTPS 프록시에는 기기가 신뢰하는 인증서가 필요합니다. 단, 인증서 핀을 지정하거나 인증서 확인 건너뛰기를 켠 경우는 예외입니다.
Potatso는 다음을 지원하지 않습니다.
- HTTPS 프록시용 사용자 지정 CA 인증서: 대신 프록시의 인증서를 핀으로 지정하세요.
- TLS 클라이언트 인증서(Clash의
certificate와private-key): 이것이 필요한 프록시는 가져오지 않습니다. - ALPN 목록: Potatso는 프록시와 항상 HTTP/1.1로 통신합니다.
UDP
HTTP 프록시는 TCP만 전달하므로 Potatso는 UDP를 HTTP 프록시로 보내지 않습니다. UDP는 QUIC, 음성 및 영상 통화, 많은 게임이 사용합니다.
- 규칙을 쓰는 경우 Potatso는 UDP를 HTTP 또는 HTTPS 프록시로 보내는 규칙을 건너뛰고, 그다음에 매칭되는 규칙이 결정합니다. 다른 규칙과 맞지 않는 UDP는 직접 전송됩니다.
- 전역 모드에서는 모든 트래픽이 프록시를 거쳐야 하므로 UDP가 작동하지 않습니다.
UDP도 프록시로 보내려면 SOCKS5나 Shadowsocks처럼 UDP를 전달하는 프로토콜의 서버를 사용하세요.
기능 지원
| 기능 | 지원 |
|---|---|
IPv4, IPv6, 도메인 대상으로의 CONNECT 터널(RFC 9110 §9.3.6) |
✅ |
| Basic 인증(RFC 7617), UTF-8 암호 | ✅ |
| Digest 인증(RFC 7616) | ❌ |
| HTTPS 프록시(TLS 위의 HTTP) | ✅ 서버 이름, 인증서 핀, 인증서 확인 건너뛰기 지원 |
사용자 지정 CONNECT 헤더 |
✅ 가져오기에서 |
| IPv6 프록시 주소 | ✅ |
HTTP/2 CONNECT(RFC 9113 §8.5) |
❌ |
HTTP/3 CONNECT(RFC 9114 §4.4) |
❌ |
프록시를 통한 UDP(CONNECT-UDP, RFC 9298) |
❌ |
CONNECT 없는 일반 HTTP 포워딩(absolute-form 요청) |
❌ Potatso는 모든 연결에 CONNECT를 사용합니다 |
| TLS 클라이언트 인증서, 사용자 지정 CA, ALPN | ❌ |
지원하는 모든 기능은 실제 프록시 서버인 tinyproxy, sing-box, Xray, Mihomo로 테스트했습니다.
일반 웹 요청만 전달하는 웹 포트가 아니라 서버의 CONNECT 포트를 사용하세요. 일부 프록시는 포트 443으로만 CONNECT를 허용합니다. 프록시를 통해 일부 사이트만 열린다면 제공업체에 CONNECT 포트를 제한하는지 문의하세요.
링크
http:// 또는 https:// 링크는 프록시 전체를 한 줄에 담습니다.
http://user:password@host:port#name
https://user:password@host:port?sni=…&insecure=1#name| 부분 | 설명 |
|---|---|
user:password |
선택 사항. 암호의 :, @ 및 기타 특수 문자는 퍼센트 인코딩합니다. 예를 들어 p:ss는 p%3Ass로 씁니다. |
host |
프록시 주소. IPv6 주소는 [2001:db8::1]처럼 대괄호로 묶습니다. |
port |
프록시 포트. |
sni |
HTTPS 전용, 선택 사항. 서버 이름. Potatso는 peer와 servername도 읽습니다. |
insecure |
HTTPS 전용, 선택 사항. 1이면 인증서 확인 건너뛰기를 켭니다. Potatso는 allowInsecure와 skip-cert-verify도 읽습니다. |
name |
선택 사항. Potatso에서 표시할 프록시 이름. |
링크에는 인증서 핀이나 사용자 지정 헤더를 담을 수 없습니다. Potatso는 ://와 # 사이의 모든 내용을 Base64로 인코딩하던 이전 형식도 가져옵니다.
http://base64(user:password@host:port)#name예시
암호가 없는 프록시:
http://proxy.example.com:8080#Open사용자 이름이 alice이고 암호가 s3cret인 프록시:
http://alice:s3cret@proxy.example.com:8080#Basic퍼센트 인코딩한 암호 p:ss wörd:
http://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:8080#EncodedHTTPS 프록시:
https://alice:s3cret@proxy.example.com:443#TLSIP 주소로 접속하고 인증서 이름이 proxy.example.com인 HTTPS 프록시:
https://alice:s3cret@203.0.113.10:443?sni=proxy.example.com#SNI자체 서명 인증서를 쓰는 HTTPS 프록시:
https://proxy.example.com:443?insecure=1#Self-signedIPv6 주소를 쓰는 프록시:
http://[2001:db8::1]:8080#IPv6기본 프록시의 이전 형식:
http://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjgwODA#Legacy