几乎每隔几年,墙都会进步一点,道高一尺魔高一丈。我的自建 xray 服务最近不是很稳定,测试显示丢包严重,从 mtr 结果看 101.95.209.65 这一跳丢包率高达 93%,也就是说服务器的外网 ip 基本快废了。
中东有以色列围困巴勒斯坦,人道加沙是当今世界最大的露天监狱。岂知中国大陆算得上是互联网监狱,毫无疑问世界最大。巴勒斯坦人打地道获取物资,中国大陆网民翻墙获取资讯。差不多,半斤八两。
改变不了外部环境,只能改变自己。
iOS 上的 Shadowrock 支持 Hysteria2 协议,翻了下官网,里面有 2 条特性吸引人。
通过魔改的 QUIC 协议驱动,Hysteria 即使在最不稳定和容易丢包的网络环境中也能提供无与伦比的性能。
这不就是及时雨雪中炭吗?😊 宋公明替天行道...
协议旨在伪装成标准的 HTTP/3 流量,无论中间人还是主动探测,都很难分辨和封锁。
个人觉得防探测异常重要,对待敌人,日常反侦察,可最大限度减少损失!
本文使用最简单的部署方式,主打省心舒心。
安装或升级到最新版本:
1bash <(curl -fsSL https://get.hy2.sh/)
个人建议先看看,https://get.hy2.sh/ 脚本里面是什么,万一被种了木马(社会环境恶劣,看谁都像间谍 😅),小心驶得万年船。在下安装的时候看了,没发现问题。
直接看我的示例:
1root@tokyo:~# cat /etc/hysteria/config.yaml
2listen: :443
3
4tls:
5 cert: /data/tls/certificates/acme-v02.api.letsencrypt.org-directory/stock.mephisto.cc/stock.mephisto.cc.crt
6 key: /data/tls/certificates/acme-v02.api.letsencrypt.org-directory/stock.mephisto.cc/stock.mephisto.cc.key
7
8auth:
9 type: password
10 password: set_your_passwd_at_here
11
12masquerade:
13 type: proxy
14 proxy:
15 url: https://mephisto.cc
16 rewriteHost: true
证书,我直接用我网站 https://stock.mephisto.cc 的,caddy 自动申请的。
密码,大家都懂,无需多言。
伪装,我选伪装到本站 https://mephisto.cc。
如果不懂配置,建议先看看官方文档。
上面 Linux 环境自动安装脚本,会帮你设定 systemd。如果你遇到证书读取错误,大概率是权限不对。
看下面的 User 和 Group 是 root,是因为我证书也是 root。读者看自己情况更改用户,能读到证书即可。
1root@tokyo:~# cat /etc/systemd/system/hysteria-server.service
2[Unit]
3Description=Hysteria Server Service (config.yaml)
4After=network.target
5
6[Service]
7Type=simple
8ExecStart=/usr/local/bin/hysteria server --config /etc/hysteria/config.yaml
9WorkingDirectory=~
10User=root
11Group=root
12Environment=HYSTERIA_LOG_LEVEL=info
13CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
14AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
15NoNewPrivileges=true
16
17[Install]
18WantedBy=multi-user.target
另外,hysteria 启动模式分为 server 和 client, 如果要在 Linux 客户端下运行,记得启动命令参数改为 client。
启动后,你会发现 hysteria 监听在 udp 443 端口(如何让 caddy 不监听 udp 443 看后文)
1root@tokyo:~# ss -lnp | grep :443
2udp UNCONN 0 0 *:443 *:* users:(("hysteria",pid=14103,fd=3))
3tcp LISTEN 0 4096 *:443 *:* users:(("caddy",pid=14008,fd=7))
本人主要在 iPhone 和 iPad 上刷推特和油管。所以只要在 Shadowrock 上简单设置下就好。
如家下图所示:

不得不说比 xray 要简单点。
经过我的实测,效果还是可以的,手机访问 Google 的服务,比 xray 快一点。不相信的读者,可以自己试试。
还没有写这个教程的时候,本站就在 caddy 上运行了,新版 caddy 很早就支持 http3 ,也就是说默认会监听 udp 端口 443。
这样端口会冲突,如果你要二者共存,条件类似的话,可以考虑使用的解决方式。
就是在 Caddyfile 全局配置中,关掉 http3 支持(protocols 中少了 h3)。
起作用的的部分是 services 段(acme_dns 和 stoage 和本文无关)。
1{
2 acme_dns cloudflare your_cf_token
3 storage file_system /data/tls
4 servers :443 {
5 protocols h1 h2 h2c
6 }
7}
这样 caddy2 只监听在 tcp 443 端口,二者不冲突。
我的站点是静态的,挂在 cloudflare 中,http3 支持由其提供,不影响回源。
如果你不想这样,那也可以改 hysteria 服务端监听在 8443 或者其它端口,或者用其它的更为合理的方式处理。
目前,这样满足我的需求,不想折腾过多,坐牢坐久了也会心累的。
最后,ip 如果彻底不通了,就要开始长征,战略转移,不用到陕北,只需要换一个就好,和先帝的打游击差不多,打不过就跑 😅。
几乎每隔几年,墙都会进步一点,道高一尺魔高一丈。我的自建 xray 服务最近不是很稳定,测试显示丢包严重,从 mtr 结果看 101.95.209.65 这一跳丢包率高达 93%,也就是说服务器的外网 ip 基本快废了。
中东有以色列围困巴勒斯坦,人道加沙是当今世界最大的露天监狱。岂知中国大陆算得上是互联网监狱,毫无疑问世界最大。巴勒斯坦人打地道获取物资,中国大陆网民翻墙获取资讯。差不多,半斤八两。
改变不了外部环境,只能改变自己。
iOS 上的 Shadowrock 支持 Hysteria2 协议,翻了下官网,里面有 2 条特性吸引人。
通过魔改的 QUIC 协议驱动,Hysteria 即使在最不稳定和容易丢包的网络环境中也能提供无与伦比的性能。
这不就是及时雨雪中炭吗?😊 宋公明替天行道...
协议旨在伪装成标准的 HTTP/3 流量,无论中间人还是主动探测,都很难分辨和封锁。
个人觉得防探测异常重要,对待敌人,日常反侦察,可最大限度减少损失!
本文使用最简单的部署方式,主打省心舒心。
安装或升级到最新版本:
1bash <(curl -fsSL https://get.hy2.sh/)
个人建议先看看,https://get.hy2.sh/ 脚本里面是什么,万一被种了木马(社会环境恶劣,看谁都像间谍 😅),小心驶得万年船。在下安装的时候看了,没发现问题。
直接看我的示例:
1root@tokyo:~# cat /etc/hysteria/config.yaml
2listen: :443
3
4tls:
5 cert: /data/tls/certificates/acme-v02.api.letsencrypt.org-directory/stock.mephisto.cc/stock.mephisto.cc.crt
6 key: /data/tls/certificates/acme-v02.api.letsencrypt.org-directory/stock.mephisto.cc/stock.mephisto.cc.key
7
8auth:
9 type: password
10 password: set_your_passwd_at_here
11
12masquerade:
13 type: proxy
14 proxy:
15 url: https://mephisto.cc
16 rewriteHost: true
证书,我直接用我网站 https://stock.mephisto.cc 的,caddy 自动申请的。
密码,大家都懂,无需多言。
伪装,我选伪装到本站 https://mephisto.cc。
如果不懂配置,建议先看看官方文档。
上面 Linux 环境自动安装脚本,会帮你设定 systemd。如果你遇到证书读取错误,大概率是权限不对。
看下面的 User 和 Group 是 root,是因为我证书也是 root。读者看自己情况更改用户,能读到证书即可。
1root@tokyo:~# cat /etc/systemd/system/hysteria-server.service
2[Unit]
3Description=Hysteria Server Service (config.yaml)
4After=network.target
5
6[Service]
7Type=simple
8ExecStart=/usr/local/bin/hysteria server --config /etc/hysteria/config.yaml
9WorkingDirectory=~
10User=root
11Group=root
12Environment=HYSTERIA_LOG_LEVEL=info
13CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
14AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
15NoNewPrivileges=true
16
17[Install]
18WantedBy=multi-user.target
另外,hysteria 启动模式分为 server 和 client, 如果要在 Linux 客户端下运行,记得启动命令参数改为 client。
启动后,你会发现 hysteria 监听在 udp 443 端口(如何让 caddy 不监听 udp 443 看后文)
1root@tokyo:~# ss -lnp | grep :443
2udp UNCONN 0 0 *:443 *:* users:(("hysteria",pid=14103,fd=3))
3tcp LISTEN 0 4096 *:443 *:* users:(("caddy",pid=14008,fd=7))
本人主要在 iPhone 和 iPad 上刷推特和油管。所以只要在 Shadowrock 上简单设置下就好。
如家下图所示:

不得不说比 xray 要简单点。
经过我的实测,效果还是可以的,手机访问 Google 的服务,比 xray 快一点。不相信的读者,可以自己试试。
还没有写这个教程的时候,本站就在 caddy 上运行了,新版 caddy 很早就支持 http3 ,也就是说默认会监听 udp 端口 443。
这样端口会冲突,如果你要二者共存,条件类似的话,可以考虑使用的解决方式。
就是在 Caddyfile 全局配置中,关掉 http3 支持(protocols 中少了 h3)。
起作用的的部分是 services 段(acme_dns 和 stoage 和本文无关)。
1{
2 acme_dns cloudflare your_cf_token
3 storage file_system /data/tls
4 servers :443 {
5 protocols h1 h2 h2c
6 }
7}
这样 caddy2 只监听在 tcp 443 端口,二者不冲突。
我的站点是静态的,挂在 cloudflare 中,http3 支持由其提供,不影响回源。
如果你不想这样,那也可以改 hysteria 服务端监听在 8443 或者其它端口,或者用其它的更为合理的方式处理。
目前,这样满足我的需求,不想折腾过多,坐牢坐久了也会心累的。
最后,ip 如果彻底不通了,就要开始长征,战略转移,不用到陕北,只需要换一个就好,和先帝的打游击差不多,打不过就跑 😅。