From e11762a196e4fcdbde728ef160bc3c6cfeb5bc6e Mon Sep 17 00:00:00 2001
From: Toby <tobyxdd@gmail.com>
Date: Fri, 1 Sep 2023 19:32:49 -0700
Subject: [PATCH] feat: quic-go v0.38.1

---
 app/client.example.yaml | 61 -----------------------------------
 app/go.mod              |  4 +--
 app/go.sum              |  8 ++---
 app/server.example.yaml | 71 -----------------------------------------
 core/go.mod             |  4 +--
 core/go.sum             |  8 ++---
 extras/go.mod           |  4 +--
 extras/go.sum           |  8 ++---
 8 files changed, 18 insertions(+), 150 deletions(-)
 delete mode 100644 app/client.example.yaml
 delete mode 100644 app/server.example.yaml

diff --git a/app/client.example.yaml b/app/client.example.yaml
deleted file mode 100644
index 6867f49..0000000
--- a/app/client.example.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-server: example.com
-
-# obfs:
-#   type: salamander
-#   salamander:
-#     password: some_password
-
-auth: some_password
-
-# tls:
-#   sni: another.example.com
-#   insecure: false
-#   ca: custom_ca.crt
-
-# quic:
-#   initStreamReceiveWindow: 8388608
-#   maxStreamReceiveWindow: 8388608
-#   initConnReceiveWindow: 20971520
-#   maxConnReceiveWindow: 20971520
-#   maxIdleTimeout: 30s
-#   keepAlivePeriod: 10s
-#   disablePathMTUDiscovery: false
-
-bandwidth:
-  up: 100 mbps
-  down: 100 mbps
-
-# fastOpen: true
-
-socks5:
-  listen: 127.0.0.1:1080
-  # username: user
-  # password: pass
-  # disableUDP: true
-
-http:
-  listen: 127.0.0.1:8080
-  # username: user
-  # password: pass
-  # realm: my_private_realm
-
-tcpForwarding:
-  - listen: 127.0.0.1:8088
-    remote: example.com:80
-  - listen: 127.0.0.1:9099
-    remote: example.com:90
-
-udpForwarding:
-  - listen: 127.0.0.1:5353
-    remote: example.com:53
-    timeout: 50s
-  - listen: 127.0.0.1:6464
-    remote: example.com:64
-    timeout: 20s
-
-tcpTProxy:
-  listen: 127.0.0.1:2500
-
-udpTProxy:
-  listen: 127.0.0.1:2501
-  timeout: 20s
diff --git a/app/go.mod b/app/go.mod
index 77372c2..a7d20a6 100644
--- a/app/go.mod
+++ b/app/go.mod
@@ -17,7 +17,7 @@ require (
 )
 
 require (
-	github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6 // indirect
+	github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6 // indirect
 	github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/fsnotify/fsnotify v1.6.0 // indirect
@@ -39,7 +39,7 @@ require (
 	github.com/pelletier/go-toml/v2 v2.0.6 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	github.com/quic-go/qpack v0.4.0 // indirect
-	github.com/quic-go/qtls-go1-20 v0.3.2 // indirect
+	github.com/quic-go/qtls-go1-20 v0.3.3 // indirect
 	github.com/spf13/afero v1.9.3 // indirect
 	github.com/spf13/cast v1.5.0 // indirect
 	github.com/spf13/jwalterweatherman v1.1.0 // indirect
diff --git a/app/go.sum b/app/go.sum
index fb82749..2f4f166 100644
--- a/app/go.sum
+++ b/app/go.sum
@@ -40,8 +40,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
 github.com/apernet/go-tproxy v0.0.0-20230809025308-8f4723fd742f h1:uVh0qpEslrWjgzx9vOcyCqsOY3c9kofDZ1n+qaw35ZY=
 github.com/apernet/go-tproxy v0.0.0-20230809025308-8f4723fd742f/go.mod h1:xkkq9D4ygcldQQhKS/w9CadiCKwCngU7K9E3DaKahpM=
-github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6 h1:WPFXlAEU73fbBQzYuCxLoFAD/wn7QSAZ7CDTjd05GWo=
-github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6/go.mod h1:1Fpa1TONSlckpcWHR/1QV79SvG8E6+4LMUFxEMYYI10=
+github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6 h1:OXAn9a1dhdluj5olg6Gou7q5oN5J7CaTYS7SJPqHP/0=
+github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6/go.mod h1:1X8T39iiKfCimEhzNaUrEeq0Pmafu7cjgYJetUbRXYc=
 github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6 h1:4NNbNM2Iq/k57qEu7WfL67UrbPq1uFWxW4qODCohi+0=
 github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6/go.mod h1:J29hk+f9lJrblVIfiJOtTFk+OblBawmib4uz/VdKzlg=
 github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
@@ -190,8 +190,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
 github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A=
-github.com/quic-go/qtls-go1-20 v0.3.2 h1:rRgN3WfnKbyik4dBV8A6girlJVxGand/d+jVKbQq5GI=
-github.com/quic-go/qtls-go1-20 v0.3.2/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
+github.com/quic-go/qtls-go1-20 v0.3.3 h1:17/glZSLI9P9fDAeyCHBFSWSqJcwx1byhLwP5eUIDCM=
+github.com/quic-go/qtls-go1-20 v0.3.3/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
diff --git a/app/server.example.yaml b/app/server.example.yaml
deleted file mode 100644
index c4206f0..0000000
--- a/app/server.example.yaml
+++ /dev/null
@@ -1,71 +0,0 @@
-listen: :443
-
-# obfs:
-#   type: salamander
-#   salamander:
-#     password: some_password
-
-# tls:
-#   cert: my.crt
-#   key: my.key
-
-acme:
-  domains:
-    - my.example.com
-  email: hackerman@abcd.com
-  # ca: LetsEncrypt
-  # disableHTTP: false
-  # disableTLSALPN: false
-  # altHTTPPort: 80
-  # altTLSALPNPort: 443
-  # dir: custom_dir
-
-# quic:
-#   initStreamReceiveWindow: 8388608
-#   maxStreamReceiveWindow: 8388608
-#   initConnReceiveWindow: 20971520
-#   maxConnReceiveWindow: 20971520
-#   maxIdleTimeout: 30s
-#   maxIncomingStreams: 1024
-#   disablePathMTUDiscovery: false
-
-# bandwidth:
-#   up: 100 mbps
-#   down: 100 mbps
-
-# disableUDP: false
-# udpIdleTimeout: 60s
-
-auth:
-  type: password
-  password: some_password
-
-# resolver:
-#   type: tls
-#   tls:
-#     addr: dot.yolo.com:8853
-#     timeout: 10s
-#     sni: server1.yolo.net
-#     insecure: true
-
-# acl:
-#   inline:
-#     - haha(8.8.8.8/24, udp/53)
-#     - reject(v2ex.com)
-#     - reject(*.v2ex.com)
-#     - reject(geoip:cn)
-
-# outbounds:
-#   - name: haha
-#     type: direct
-#     direct:
-#       mode: 46
-#       bindIPv4: 2.4.6.8
-#       bindIPv6: 0:0:0:0:0:ffff:0204:0608
-#       bindDevice: eth233
-
-masquerade:
-  type: proxy
-  proxy:
-    url: https://some.site.net
-    rewriteHost: true
diff --git a/core/go.mod b/core/go.mod
index 887b307..454a1e0 100644
--- a/core/go.mod
+++ b/core/go.mod
@@ -3,7 +3,7 @@ module github.com/apernet/hysteria/core
 go 1.20
 
 require (
-	github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6
+	github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6
 	github.com/stretchr/testify v1.8.4
 	github.com/zhangyunhao116/fastrand v0.3.0
 	go.uber.org/goleak v1.2.1
@@ -20,7 +20,7 @@ require (
 	github.com/onsi/ginkgo/v2 v2.9.5 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	github.com/quic-go/qpack v0.4.0 // indirect
-	github.com/quic-go/qtls-go1-20 v0.3.2 // indirect
+	github.com/quic-go/qtls-go1-20 v0.3.3 // indirect
 	github.com/stretchr/objx v0.5.0 // indirect
 	golang.org/x/crypto v0.11.0 // indirect
 	golang.org/x/exp v0.0.0-20221205204356-47842c84f3db // indirect
diff --git a/core/go.sum b/core/go.sum
index 23bc7a5..d683814 100644
--- a/core/go.sum
+++ b/core/go.sum
@@ -1,5 +1,5 @@
-github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6 h1:WPFXlAEU73fbBQzYuCxLoFAD/wn7QSAZ7CDTjd05GWo=
-github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6/go.mod h1:1Fpa1TONSlckpcWHR/1QV79SvG8E6+4LMUFxEMYYI10=
+github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6 h1:OXAn9a1dhdluj5olg6Gou7q5oN5J7CaTYS7SJPqHP/0=
+github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6/go.mod h1:1X8T39iiKfCimEhzNaUrEeq0Pmafu7cjgYJetUbRXYc=
 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
@@ -32,8 +32,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
 github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A=
-github.com/quic-go/qtls-go1-20 v0.3.2 h1:rRgN3WfnKbyik4dBV8A6girlJVxGand/d+jVKbQq5GI=
-github.com/quic-go/qtls-go1-20 v0.3.2/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
+github.com/quic-go/qtls-go1-20 v0.3.3 h1:17/glZSLI9P9fDAeyCHBFSWSqJcwx1byhLwP5eUIDCM=
+github.com/quic-go/qtls-go1-20 v0.3.3/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
 github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
diff --git a/extras/go.mod b/extras/go.mod
index f10620b..b054df6 100644
--- a/extras/go.mod
+++ b/extras/go.mod
@@ -14,7 +14,7 @@ require (
 )
 
 require (
-	github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6 // indirect
+	github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
 	github.com/golang/mock v1.6.0 // indirect
@@ -24,7 +24,7 @@ require (
 	github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	github.com/quic-go/qpack v0.4.0 // indirect
-	github.com/quic-go/qtls-go1-20 v0.3.2 // indirect
+	github.com/quic-go/qtls-go1-20 v0.3.3 // indirect
 	github.com/stretchr/objx v0.5.0 // indirect
 	github.com/txthinking/runnergroup v0.0.0-20210608031112-152c7c4432bf // indirect
 	github.com/zhangyunhao116/fastrand v0.3.0 // indirect
diff --git a/extras/go.sum b/extras/go.sum
index 46c0a66..9995570 100644
--- a/extras/go.sum
+++ b/extras/go.sum
@@ -1,5 +1,5 @@
-github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6 h1:WPFXlAEU73fbBQzYuCxLoFAD/wn7QSAZ7CDTjd05GWo=
-github.com/apernet/quic-go v0.38.1-0.20230822203707-92df5dd68dd6/go.mod h1:1Fpa1TONSlckpcWHR/1QV79SvG8E6+4LMUFxEMYYI10=
+github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6 h1:OXAn9a1dhdluj5olg6Gou7q5oN5J7CaTYS7SJPqHP/0=
+github.com/apernet/quic-go v0.38.2-0.20230902022200-c0e542a00ce6/go.mod h1:1X8T39iiKfCimEhzNaUrEeq0Pmafu7cjgYJetUbRXYc=
 github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6 h1:4NNbNM2Iq/k57qEu7WfL67UrbPq1uFWxW4qODCohi+0=
 github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6/go.mod h1:J29hk+f9lJrblVIfiJOtTFk+OblBawmib4uz/VdKzlg=
 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
@@ -38,8 +38,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
 github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A=
-github.com/quic-go/qtls-go1-20 v0.3.2 h1:rRgN3WfnKbyik4dBV8A6girlJVxGand/d+jVKbQq5GI=
-github.com/quic-go/qtls-go1-20 v0.3.2/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
+github.com/quic-go/qtls-go1-20 v0.3.3 h1:17/glZSLI9P9fDAeyCHBFSWSqJcwx1byhLwP5eUIDCM=
+github.com/quic-go/qtls-go1-20 v0.3.3/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
 github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=