55 Commits

Author SHA1 Message Date
Toby
a5985c5b6f chore: reduce udp buffer sizes to 4k & pipe buffer size to 32k 2022-11-02 22:47:38 -07:00
Toby
21b2830289 feat: dynamic client IP for server logs (connection migration) 2022-10-31 17:03:14 -07:00
Toby
8b0a157e0b chore: hy client should not force UDP addr for quic Dial 2022-10-24 22:47:12 -07:00
Toby
919fbb7152 chore: rename wrappedQUICStream -> qStream 2022-10-23 16:31:30 -07:00
Toby
b247919a03 chore: renames (HyTCPConn, HyUDPConn) 2022-10-23 16:19:57 -07:00
Toby
cf970f09e4 chore: various renames, server packet conn adjustment 2022-10-23 11:07:54 -07:00
Toby
83764ba9de chore: renames 2022-10-23 10:10:04 -07:00
Toby
c98c7eca4e chore: better quic close error codes 2022-10-22 12:17:10 -07:00
Toby
b1d9ab6c6a chore: rename "cs" to "cc" (client session -> client connection) 2022-10-22 12:02:41 -07:00
Toby
223a9a4203 cleanup: drop legacy v2 protocol support 2022-10-22 11:59:15 -07:00
Toby
e3c3088596 wip: core client & server rework 2022-10-22 11:45:46 -07:00
Toby
ca3de154ba chore: remove congestion factory 2022-10-21 15:48:00 -07:00
Haruue Icymoon
4cd18e6685
feat: add quic_settings into client config
fix: #420

allow user to disable auto reconnect when quic disconnected, along with
quic handshake & idle timeout.

an extra failed request would be required to make the client exit in
case of quic disconnected, but i don't think this would be a problem in
the common usage.
2022-08-31 16:34:51 +08:00
Toby
8960aefca3 chore: update module names (hysteria & quic-go fork) 2022-08-20 11:44:12 -07:00
Toby
1462cadfdc format: gofumpt 2022-08-13 11:04:28 -07:00
Toby
e9974b0398 ACL protocol & port support 2022-05-11 17:26:39 -07:00
Toby
877affec42 feat: update quic-go to 0.27.0 2022-04-14 19:51:08 -07:00
Toby
fba6cf7a1c feat: server SOCKS5 outbound domain passthrough 2022-04-14 00:11:44 -07:00
Toby
d4117504eb fix: incorrect UDP frag sendErr handling 2022-02-28 14:26:52 -08:00
Toby
97ef033b65 feat: server SOCKS5 outbound 2022-02-26 20:45:20 -08:00
Toby
c0f53ea712 feat: v2 compatibility 2022-02-25 17:59:01 -08:00
Toby
1789db9ade feat: full frag support 2022-02-25 17:08:54 -08:00
Toby
6efa976a56 feat wip: bump protocol version & quic-go version, frag & defrag implementation 2022-02-25 00:14:22 -08:00
Toby
7466b69cce feat: re-enable PMTUD on Windows & Linux 2022-02-19 23:21:13 -08:00
Toby
858d36cf30 chore: remove useless laddr from ListenUDP 2022-01-23 17:40:59 -08:00
Toby
841810d6ca feat: transport refactorization 2022-01-23 17:00:02 -08:00
Toby
013e44a9c5 feat: client connect & disconnect log for server 2022-01-21 17:21:56 -08:00
Toby
1c06b66cdc feat: transport & obfs refactoring 2021-12-27 18:07:01 -08:00
Toby
4cb4ca5e96 feat: make quic-go happy about buffer stuff 2021-12-27 16:42:10 -08:00
Toby
9e5483c11b feat: reduce obfs gc overhead by reusing buffers 2021-12-23 17:25:11 -08:00
Toby
4872004a5c feat: experimental faketcp implementation 2021-12-15 16:46:20 -08:00
Toby
97c83dc935 wrappedQUICStream to handle stream close properly 2021-08-02 22:42:25 -07:00
Toby
c32ac17f62 Bump quic-go to v0.22.0 & remove SetDontFragment (as it's implemented in quic-go already) 2021-07-28 21:18:43 -07:00
Toby
c0e46ee937 Remove obsolete test 2021-04-28 16:42:08 -07:00
Toby
214f1cf72c Fix ConnGauge nil crash 2021-04-27 23:10:09 -07:00
Toby
8c5b701a4b Prometheus Active Conn Gauge 2021-04-27 20:38:43 -07:00
Toby
3667778ca7 Fix import cycles 2021-04-27 20:18:43 -07:00
Toby
5ac95d987a Use core.Transport 2021-04-27 20:14:43 -07:00
Toby
4da73888f4 Transport WIP 2021-04-26 17:34:08 -07:00
Toby
70fd2ffc0d ACL for TCP TProxy 2021-04-24 15:36:19 -07:00
Toby
444bb5daec handleControlStream should not always return true 2021-04-22 18:09:48 -07:00
Toby
b80db1fc19 XPlus obfs & don't frag 2021-04-19 20:52:50 -07:00
Toby
b09880a050 Split host & port in the protocol, and make each domain resolves only once even when ACL is enabled, improving performance and ensuring consistency of connection destinations 2021-04-19 00:20:22 -07:00
Toby
7b841aa203 Protocol version check 2021-04-18 18:07:01 -07:00
Toby
6ddcbdc01d Implement Prometheus metrics 2021-04-10 18:01:56 -07:00
Toby
ede94df103 Passthrough required methods for quic-go to increase the buffer size (https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size) 2021-04-02 14:20:48 -07:00
Toby
4bb5982960 Implemented UDP for both server & client 2021-03-27 16:51:15 -07:00
Toby
565d659338 Relay & better logging 2021-02-05 01:00:44 -08:00
Toby
7d280393a3 Most things work fine now, except:
- UDP support has been temporarily removed, pending upstream QUIC library support for unreliable messages
- SOCKS5 server needs some rework
- Authentication
2021-01-29 00:01:32 -08:00
Toby
d9d07a5b2a use new quic-go mod version 2021-01-26 21:34:49 -08:00