Hysteria2(歇斯底里)

Hysteria2节点搭建,抢占宽带,垃圾线路的救星!

免责声明

仅供交流学习使用!使用者在使用时,必须遵守当地法律和规定。使用者有责任确保他们的行为符合其所在地区的法律、规章以及其他适用的规定。

推荐博主不良林

声明:以下博客内容参考了不良林大佬的视频文档

准备工作

  1. 一台VPS(虚拟服务器),带主流系统,例如:Debian/Ubuntu/CentOS
    • 自行购买,目前推荐便宜的VPS是:CC家的VPS
    • 注意:注册好账号的话,可以先不购买,每周CC会发优惠信息到邮箱里,那里买更实惠
    • Vultr VPS 购买地址:官网地址
    • 好处:Vultr是按时计费,不用了可以随时删除服务器就停止收费了(一般都是测试使用),最低5$/月。
    • 想买好的VPS的话,建议搜索搬瓦工CN2 GIA线路(49.99$/年),长期处于售馨状态(贵有贵的道理)
    • 搬瓦工官网:https://bandwagonhost.com
  2. 下载并安装FinalShell SSH工具
  3. 解析到Cloudflare域名一个(可选)
    • 大家自行注册域名
    • 国内域名注册商:腾讯云、阿里云、华为云等
    • 优缺点:便宜,但需要实名
    • 国外域名注册商:name、GoDaddy、Spaceship、Porkbun等
    • 优缺点:注册简单、无需实名,支付方式可能麻烦
    • 可以去这个网站比较所有顶级域名的价格

相关链接

v2rayN 软件:windows客户端
Hysteria 2下载:下载地址
Hysteria 2文档:阅读地址
sing-box 文档:阅读地址
sing-box 软件:Android客户端

搭建教程

  1. 连接到自己购买的VPS

  2. 执行官方的安装脚本

    1
    2
    #一键安装Hysteria2
    bash <(curl -fsSL https://get.hy2.sh/)
  3. 复制下面指令执行,将其设置为开机自启

    1
    2
    #设置开机自启
    systemctl enable hysteria-server.service
  4. 执行下面指令生成自签证书

    1
    2
    #生成自签证书
    openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj "/CN=bing.com" -days 36500 && sudo chown hysteria /etc/hysteria/server.key && sudo chown hysteria /etc/hysteria/server.crt
  5. 设置配置文件(CA证书和自签证书二选一)(我选的域名演示)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    cat << EOF > /etc/hysteria/config.yaml
    listen: :443 #监听端口(可以修改)

    #使用CA证书(二选一)
    #acme:
    # domains:
    # - a.com #你的域名,需要先解析到服务器ip
    # email: test@sharklasers.com #你的邮箱,格式正确即可

    #使用自签证书(二选一)
    #tls:
    # cert: /etc/hysteria/server.crt
    # key: /etc/hysteria/server.key

    auth:
    type: password
    password: 123456 #设置认证密码

    masquerade:
    type: proxy
    proxy:
    url: https://bing.com #伪装网址
    rewriteHost: true
    EOF
  6. 启动服务

    • 先来查看一下当前的运行状态
      1
      2
      #查看Hysteria2状态
      systemctl status hysteria-server.service
    • inactive表示没有启动,使用restart或者start指令启动
    • 执行之前我们需要先退出当前的查看状态,按字母q退出,然后再执行重启指令,重新查看状态
      1
      2
      3
      4
      #启动Hysteria2
      systemctl start hysteria-server.service
      #重启Hysteria2
      systemctl restart hysteria-server.service
    • 显示active,表示已经成功启动,但并不一定可以使用了,因为下面的日志还没有出现serve up and running的提示,目前正在使用acme进行证书申请,大家需要耐心等待一下,可以看到出现了错误提示,并且再次查看状态显示hy已经退出,这种情况大概率是因为申请证书需要用到tcp的80和443端口,而我的防火墙没有开放端口导致的,如果你的服务器没有什么敏感服务,可以和我一样直接关闭防火墙,或者自行搜索怎么放行指定端口,此时需要重新执行restart指令启动服务,可以看到最后一条日志是server up,这样就成功运行了,如果你申请证书遇到了麻烦,或者没有自己的域名,可以使用自签证书的方式!
  7. 自签证书(第6步骤成功了这个可不看)

    • 将使用CA证书下面三行重新注释,然后删除使用自签证书下面的三行#号,全选复制到vps执行,这样就替换了原来的配置文件,修改配置文件之后记得要重新启动服务,这样也可以正常运行,日志显示server up,服务器这边就算是配置好了

使用教程(PC和安卓端)

  1. 下载V2rayN(PC端)

    • 下载zz开头的压缩包,下载之后将其解压出来,
    • 接着下载Hysteria 2,点击这里显示更多,选择合适的windows版本
    • 打开V2rayN文件,点击bin,点击hysteria,将刚才下载的Hysteria 2拖进去,替换掉原来的文件,打开v2rayN软件
    • 来到客户端配置文件,服务器的ip和端口按你设置的填写,密码要和服务器配置的一致,如果你用的是ca证书,这里填入你的域名,insecure为false,如果你是自签证书,这里填入伪装网址,insecure要改成true
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      server: ip:443
      auth: 123456

      bandwidth:
      up: 20 mbps
      down: 100 mbps

      tls:
      sni: a.com
      insecure: false #使用自签时需要改成true

      socks5:
      listen: 127.0.0.1:1080
      http:
      listen: 127.0.0.1:8080
    • 将配置全选复制,新建一个文本文件,将内容粘贴进去,点击保存
    • 在v2rayN中添加一个自定义配置服务器,随便给个别名,选择我们刚才创建的文件,内核选择Hysteria,socks端口填写hy配置文件里的socks端口1080,点击确定,将其设为活动服务器,然后设置为自动配置系统代理,此时应该就能科学上网了!
  2. sing-box(android端)

    • 下载sing-box for android的安装包,选择第一个,将其安装到你的手机
    • 进入profile创建一个新的配置文件,将里面的内容删除,来到我给大家提供的配置文件
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      {
      "dns": {
      "servers": [
      {
      "tag": "cf",
      "address": "https://1.1.1.1/dns-query"
      },
      {
      "tag": "local",
      "address": "223.5.5.5",
      "detour": "direct"
      },
      {
      "tag": "block",
      "address": "rcode://success"
      }
      ],
      "rules": [
      {
      "geosite": "category-ads-all",
      "server": "block",
      "disable_cache": true
      },
      {
      "outbound": "any",
      "server": "local"
      },
      {
      "geosite": "cn",
      "server": "local"
      }
      ],
      "strategy": "ipv4_only"
      },
      "inbounds": [
      {
      "type": "tun",
      "inet4_address": "172.19.0.1/30",
      "auto_route": true,
      "strict_route": false,
      "sniff": true
      }
      ],
      "outbounds": [
      {
      "type": "hysteria2",
      "tag": "proxy",
      "server": "ip",
      "server_port": 443,
      "up_mbps": 20,
      "down_mbps": 100,
      "password": "123456",
      "tls": {
      "enabled": true,
      "server_name": "a.com",
      "insecure": false
      }
      },
      {
      "type": "direct",
      "tag": "direct"
      },
      {
      "type": "block",
      "tag": "block"
      },
      {
      "type": "dns",
      "tag": "dns-out"
      }
      ],
      "route": {
      "rules": [
      {
      "protocol": "dns",
      "outbound": "dns-out"
      },
      {
      "geosite": "cn",
      "geoip": [
      "private",
      "cn"
      ],
      "outbound": "direct"
      },
      {
      "geosite": "category-ads-all",
      "outbound": "block"
      }
      ],
      "auto_detect_interface": true
      }
      }

    • (在outbounds模块这里修改)ip这里改成你vps的ip地址,端口这里是443(按自己实际设置的来修改)
    • 注意:带宽速率建议在手机上重新测试一遍,这里演示就按电脑上测的速率写了,
    • 密码要和服务器对应,如果你用的是ca证书,这里填入你的域名,insecure为false,
    • 如果你是自签证书,这里填入伪装网址,insecure要改成true
    • 我给大家提供的这个singbox配置文件分流规则是类似v2rayN的绕过大陆模式,如果你有其他分流需求,请自行参考sinbox的官方文档进行配置
    • 修改好之后全选复制,粘贴到手机里,会自动保存,可以点击check检查语法是否有错误,没有提示说明配置无误,
    • 回到主界面,点击右下角的启动,第一次启动会自动下载一些文件,需要耐心等待,启动之后就可以正常的科学上网了
  3. IOS客户端

    • 请查看原视频

完结撒花!!!

汇总

服务器相关指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#一键安装Hysteria2
bash <(curl -fsSL https://get.hy2.sh/)

#生成自签证书
openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj "/CN=bing.com" -days 36500 && sudo chown hysteria /etc/hysteria/server.key && sudo chown hysteria /etc/hysteria/server.crt

#启动Hysteria2
systemctl start hysteria-server.service
#重启Hysteria2
systemctl restart hysteria-server.service
#查看Hysteria2状态
systemctl status hysteria-server.service
#停止Hysteria2
systemctl stop hysteria-server.service
#设置开机自启
systemctl enable hysteria-server.service
#查看日志
journalctl -u hysteria-server.service

服务器配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
cat << EOF > /etc/hysteria/config.yaml
listen: :443 #监听端口

#使用CA证书
#acme:
# domains:
# - a.com #你的域名,需要先解析到服务器ip
# email: test@sharklasers.com

#使用自签证书
#tls:
# cert: /etc/hysteria/server.crt
# key: /etc/hysteria/server.key

auth:
type: password
password: 123456 #设置认证密码

masquerade:
type: proxy
proxy:
url: https://bing.com #伪装网址
rewriteHost: true
EOF

客户端配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server: ip:443
auth: 123456

bandwidth:
up: 20 mbps
down: 100 mbps

tls:
sni: a.com
insecure: false #使用自签时需要改成true

socks5:
listen: 127.0.0.1:1080
http:
listen: 127.0.0.1:8080

sing-box配置文件(Android/IOS)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"dns": {
"servers": [
{
"tag": "cf",
"address": "https://1.1.1.1/dns-query"
},
{
"tag": "local",
"address": "223.5.5.5",
"detour": "direct"
},
{
"tag": "block",
"address": "rcode://success"
}
],
"rules": [
{
"geosite": "category-ads-all",
"server": "block",
"disable_cache": true
},
{
"outbound": "any",
"server": "local"
},
{
"geosite": "cn",
"server": "local"
}
],
"strategy": "ipv4_only"
},
"inbounds": [
{
"type": "tun",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"strict_route": false,
"sniff": true
}
],
"outbounds": [
{
"type": "hysteria2",
"tag": "proxy",
"server": "ip",
"server_port": 443,
"up_mbps": 20,
"down_mbps": 100,
"password": "123456",
"tls": {
"enabled": true,
"server_name": "a.com",
"insecure": false
}
},
{
"type": "direct",
"tag": "direct"
},
{
"type": "block",
"tag": "block"
},
{
"type": "dns",
"tag": "dns-out"
}
],
"route": {
"rules": [
{
"protocol": "dns",
"outbound": "dns-out"
},
{
"geosite": "cn",
"geoip": [
"private",
"cn"
],
"outbound": "direct"
},
{
"geosite": "category-ads-all",
"outbound": "block"
}
],
"auto_detect_interface": true
}
}

记得关注我哦!!!