먼저 Hysteria 1.x인지 확인하세요
type: hysteria 은 Hysteria 1.x에 해당합니다. QUIC를 기반으로 하지만 프로토콜 형식은 Hysteria2와 전혀 호환되지 않으므로 클라이언트와 서버가 같은 세대의 프로토콜을 사용해야 합니다.
생성 가능한 Hysteria 노드에는 최소한 이름, 유형, 서버, 포트 및 유효한 up 및 down이 필요합니다. 인증을 비워 둘 수 있는지는 서버에 따라 다르지만 인증을 활성화했다면 일치하는 값을 제공해야 합니다: auth-str 또는 auth。
name필수- 정책 그룹에서 참조하는 노드 이름입니다.
type: hysteria필수- Hysteria2의 별칭이 아닌 Hysteria 1.x 아웃바운드를 명확히 선택합니다.
server / port필수- 서버 주소와 기본 포트입니다. ports를 사용하더라도 공식 설정에서는 port를 유지해야 합니다.
up / down필수- 영이 아닌 유효한 업로드 및 다운로드 속도를 입력하세요. 누락되거나 0으로 파싱되면 노드 생성에 실패합니다.
인증 및 전송 모드
Hysteria 1.x 인증은 일반 문자열 또는 Base64 필드로 입력할 수 있습니다. 전송 모드는 QUIC 패킷 바깥쪽의 전송 방식을 제어하며 서버 기능과 일치해야 합니다.
auth-str인증- 서버 인증 문자열을 직접 입력하는 가장 일반적이고 확인하기 쉬운 방식입니다.
auth인증- Base64로 인코딩된 인증 바이트를 입력합니다. auth-str과 함께 있으면 현재 구현은 auth를 우선 사용합니다.
protocol기본값 udp- udp, wechat-video 또는 faketcp를 선택할 수 있으며 생략하면 udp를 사용합니다.
obfs선택 사항- Hysteria 1.x의 XPlus 난독화 문자열을 입력합니다. Hysteria2의 salamander 또는 gecko 유형이 아닙니다.
obfs-protocol호환 필드- 일부 Stash 설정과의 호환을 위한 필드입니다. 존재하면 protocol보다 우선하므로 일반 설정에서는 protocol을 사용하세요.
대역폭 및 혼잡 제어
up 및 down 은 Hysteria 1.x Brutal 혼잡 제어의 속도 입력값입니다. 단위를 쓰지 않으면 Mbps로 해석하며 다음과 같은 형식을 명시적으로 사용하는 것이 좋습니다: 30 Mbps 형식입니다.
이 두 값은 구매한 요금제의 명목 대역폭이 아니며 높을수록 빠른 것도 아닙니다. 현재 연결에서 달성 가능한 속도보다 높게 입력하면 송신 측이 계속 혼잡을 일으킵니다.
| 필드 | 방향 | 입력 원칙 |
|---|---|---|
up | 클라이언트 업로드 | 현재 네트워크에서 안정적으로 달성 가능한 업로드 속도를 넘지 않음 |
down | 클라이언트 다운로드 | 현재 네트워크에서 안정적으로 달성 가능한 다운로드 속도를 넘지 않음 |
| 단위 | 두 필드에 공통 | Mbps를 명시적으로 사용하는 것이 좋으며 단위를 생략해도 Mbps로 처리 |
포트 호핑
Hysteria 1.x는 여러 UDP 포트 사이를 전환할 수 있습니다.ports 단일 포트, 범위 및 쉼표나 슬래시로 구분한 조합을 허용하지만 기본 port 은 생략할 수 없습니다.
port필수- ports를 함께 설정하더라도 기본 서버 포트 하나를 유지합니다.
ports선택 사항- 예: 1000,2000-3000,4000. 서버 방화벽과 전달 규칙에서 같은 UDP 포트 집합을 열어야 합니다.
hop-interval기본값 10초- 포트 전환 간격을 제어하며 Hysteria 1.x에서는 정수 초를 사용합니다.
TLS 및 QUIC 매개변수
Hysteria 1.x는 TLS 1.3을 요구합니다. 서버가 명시적으로 요구하지 않는 한 Hysteria2의 h3 ALPN을 그대로 사용하지 마세요. 현재 코어는 다음을 입력하지 않으면 alpn 다음을 사용합니다: hysteria。
sniTLS- 인증서에 해당하는 서버 이름을 설정하며 생략하면 server를 사용합니다.
alpn기본값 hysteria- 서버에서 다른 ALPN을 사용할 때만 덮어쓰세요. 프로토콜이 QUIC 기반이라는 이유로 h3를 임의로 입력하면 안 됩니다.
skip-cert-verify위험- 인증서 검증을 건너뜁니다. 명확히 필요한 테스트나 자체 서명 환경에서만 사용하세요.
name-cert-verify / fingerprintTLS- 각각 인증서 이름 검증 대상을 지정하고 인증서 지문을 고정하는 데 사용합니다.
recv-window-conn고급- 개별 QUIC 스트림의 수신 창을 조정하며 일반적으로 기본값을 유지합니다.
recv-window고급- 전체 QUIC 연결의 수신 창을 조정합니다. 무작정 늘리면 메모리 사용량만 증가합니다.
disable-mtu-discovery고급- 경로 MTU 탐색을 비활성화합니다. 플랫폼이나 연결에 MTU 문제가 있음을 확인한 경우에만 사용하세요.
fast-open기본값 false- 연결 설정 지연을 줄이지만 대상 도달 가능성을 확인하는 시점이 달라집니다.
Hysteria 및 Hysteria2 필드 비교
두 세대 모두 UDP와 QUIC를 사용하는 것처럼 보이지만 인증, 난독화 및 대역폭의 의미가 다릅니다. 이전할 때는 필드 이름만 기계적으로 바꾸지 말고 노드를 다시 생성하세요.
| 설정 영역 | Hysteria 1.x | Hysteria2 |
|---|---|---|
| 인증 | auth-str 또는 auth | password |
| 전송 모드 | udp、wechat-video、faketcp | QUIC over UDP, protocol 사용 안 함 |
| 대역폭 | up 와 함께 사용하는 down 유효한 값 필수 | 방향별 선택 사항, 입력 시 Brutal 활성화 |
| 난독화 | obfs 문자열 | salamander 또는 gecko와 obfs-password 사용 |
| 호환성 | Hysteria 1.x 서버에만 연결 | Hysteria2 서버에만 연결 |
기본 예시 및 자주 발생하는 잘못된 설정
아래 예시는 서버에서 같은 인증, SNI 및 대역폭 제한을 제공한다고 가정합니다. 다음을 생략하면 alpn Hysteria 1.x 기본값을 사용합니다.
- Hysteria2의
password、obfs-password또는 salamander 필드를 잘못 사용합니다. - 다음을 생략하거나
up또는down그중 하나를 0으로 입력하면 속도가 유효하지 않아 노드 생성에 실패합니다. - ALPN을 h3로 입력했지만 서버는 여전히 Hysteria 1.x 기본값인 hysteria를 사용합니다.
- ports를 활성화한 뒤 port를 삭제해 현재 Hysteria 설정 범위를 위반합니다.
proxies:
- name: hysteria-v1
type: hysteria
server: server.example.com
port: 443
auth-str: replace-with-server-auth
protocol: udp
up: "30 Mbps"
down: "200 Mbps"
sni: server.example.com
skip-cert-verify: false