V2Fly.orgV2Fly.org
快速开始
配置文档
配置文档 (v5, WIP)
工具列表
开发手册
新白话文指南
  • 简体中文
  • English
GitHub
快速开始
配置文档
配置文档 (v5, WIP)
工具列表
开发手册
新白话文指南
  • 简体中文
  • English
GitHub
  • 配置文件

    • 配置文件格式
    • 环境变量
    • DNS 域名解析
    • Routing 路由
    • Policy 本地策略
    • Inbounds
    • Outbounds
    • Transport
    • API 远程控制
    • Stats 统计信息
    • Reverse 反向代理
    • 多文件配置
    • FakeDNS
    • 浏览器转发模块
    • Observatory 连接观测
  • 协议列表

    • Blackhole
    • DNS
    • Dokodemo-door
    • Freedom
    • HTTP
    • Socks
    • VMess
    • Shadowsocks
    • Trojan
    • VLESS
    • Loopback
    • Hysteria2
  • 传输方式

    • TCP
    • mKCP
    • WebSocket
    • HTTP/2
    • QUIC
    • DomainSocket
    • gRPC
    • Hysteria2
      • 协议修改说明
      • Hysteria2Object
      • CongestionObject
  • 服务

    • Stats 统计信息
    • Policy 本地策略
    • 浏览器转发模块
    • 并发连接观测
    • 后台连接观测
    • Tun
    • 订阅管理器

Hysteria2

魔改 quic-go 拥塞控制的代理协议。

  1. 得益于 QUIC 的全加密和填充,大大地增加中间防火墙嗅探的负担
  2. 强制要求使用 TLS 1.3
  3. 真正的多路复用,还从根本上解决了 TLS 和多路复用带来的队头阻塞问题

协议修改说明

  • 在 V2ray 中,Hysteria2 TCP 被分成了两个部分:
  1. TLS + HTTP3 传输层;包含认证、协商、拥塞控制等
  2. Proxy Header 代理层;包含解析目标地址、Padding 等

Hysteria2 可以作为传输层与 Vmess、Shadowsocks、Trojan 搭配使用,也可以兼用官方版。若把 Hysteria2 作为传输层,只能使用其 Stream,也就是说传输 UDP 时就是 UDP Over Stream。

  • Padding 目前为固定长度和内容,不影响实际使用和兼容性

Hysteria2Object

Hysteria2Object 对应传输配置的 hysteria2Settings 项。

{
  "password": "password",
  "use_udp_extension": true,
  "congestion": {
    "type": "bbr",
    "up_mbps": 50,
    "down_mbps": 100
  }
}

password: string

认证密码,留空为不认证

use_udp_extension: bool

是否启用 UDP,默认不启用

congestion: CongestionObject

拥塞算法配置

CongestionObject

用于控制本地网络的发包速度。理论上能够充分利用网络带宽,做到效益最大化,即为最佳拥塞算法。不同的拥塞算法会影响 Hysteria2 的性能表现。

{
  "type": "bbr",
  "up_mbps": 50,
  "down_mbps": 100
}

type: string

可选:

  • bbr 被广泛使用的,推荐在移动网络环境下使用(默认)
  • brutal 需要正确地设置好本机实际带宽才能生效,推荐在带宽稳定的环境下使用

up_mbps: int

本机的上传速度,单位 Mbit/s

选择 brutal 时,必填;留空或 0 时转换成 bbr

down_mbps: int

本机的下传速度,单位 Mbit/s

选择 brutal 时,必填;留空或 0 时转换成 bbr

在 GitHub 上编辑此页
上次更新:
贡献者: JimmyHuang
Prev
gRPC