57 Commits

Author SHA1 Message Date
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
03d530776c Fix stubs 2021-04-27 20:21:01 -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
b3d149a72f UDP TProxy ACL & Fix SOCKS5 hijack bug 2021-04-25 23:45:45 -07:00
Toby
7b3e1a5b41 UDP TProxy implementation, no ACL support yet 2021-04-25 00:38:07 -07:00
Toby
2b4e660324 Remove pointless udpMinTimeout 2021-04-24 18:13:30 -07:00
Toby
3b7aefb10d Improve UDP Relay timeout handling 2021-04-24 17:37:50 -07:00
Toby
70fd2ffc0d ACL for TCP TProxy 2021-04-24 15:36:19 -07:00
Toby
787ed14c4d TCP TProxy implementation, no UDP or ACL support yet 2021-04-24 02:56:17 -07:00
Toby
444bb5daec handleControlStream should not always return true 2021-04-22 18:09:48 -07:00
Toby
b3f0306c13 Merge branch 'master' into wip-udp-relay 2021-04-21 21:54:28 -07:00
Toby
98ddad22f6 Close stopChan on exit 2021-04-21 21:42:35 -07:00
Toby
bca98ef4da Implement UDP relay 2021-04-21 21:40:43 -07:00
Toby
78f6eece9f Remove unnecessary closures 2021-04-21 17:43:24 -07:00
Toby
3b6a2bc56e Use correct address for packets from localRelayConn 2021-04-21 17:08:01 -07:00
Toby
d8b198ca31 Rename the original relay to TCPRelay 2021-04-21 16:38:08 -07:00
Toby
51abb06911 Adjustable saltLen 2021-04-21 14:23:40 -07:00
Toby
b80db1fc19 XPlus obfs & don't frag 2021-04-19 20:52:50 -07:00
Toby
eb9006bd0d Add missing file 2021-04-19 00:20:39 -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
461b16f07f External HTTP auth implementation 2021-04-04 14:47:07 -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
65c26cdfe4 Small tweak to brutal CC 2021-03-31 16:01:59 -07:00
Toby
ed5442de15 SOCKS5 UDP ACL 2021-03-27 20:50:08 -07:00
Toby
8530211287 Implement SOCKS5 UDP (ACL not yet integrated) 2021-03-27 18:50:12 -07:00
Toby
4bb5982960 Implemented UDP for both server & client 2021-03-27 16:51:15 -07:00
Toby
01c7d18211 Update to support quic-go v0.20.0 APIs 2021-03-21 15:08:48 -07:00
Toby
244d0d43a9 PipePairWithTimeout 2021-03-02 16:25:36 -08: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
Toby
05a34f8f92 Simplify code 2020-10-02 18:23:47 -07:00
Toby
becf5893f4 TQUIC 3 2020-08-29 16:03:17 -07:00
Toby
c456079be1 Have to use Dial (not DialContext) to make goproxy happy 2020-08-07 18:40:33 -07:00
Toby
d3ad171761 Disable HTTP auth when no username/password is set 2020-08-07 18:36:13 -07:00
mritd
fad7cf0206
feat(client): support https proxy
support https proxy
use the built-in basic auth extension

ref tobyxdd/hysteria#14 tobyxdd/hysteria#15

Signed-off-by: mritd <mritd@linux.com>
2020-08-07 18:11:44 +08:00
mritd
ca1f1fdcab
feat(client): add http basic auth
add http basic auth

ref tobyxdd/hysteria#15

Signed-off-by: mritd <mritd@linux.com>
2020-08-07 14:12:01 +08:00
Toby
59767dfaff Add disable UDP option for both proxy client & server 2020-07-02 17:24:25 -07:00
Toby
f65e532957 HTTP proxy implementation 2020-05-13 20:43:46 -07:00
Toby
654787cebd Implement client side ACL for SOCKS5 UDP 2020-04-26 15:32:55 -07:00
Toby
5d14a34414 Cache default action too 2020-04-26 15:11:03 -07:00
Toby
127e9e1b6c Implement client side ACL for SOCKS5 TCP 2020-04-26 14:58:50 -07:00
Toby
ee8558f2fb ACL engine & tests 2020-04-25 22:56:49 -07:00
Toby
6cd960ea41 ACL entry 2020-04-25 18:58:27 -07:00
Toby
e02ede3076 SOCKS5 UDP implementation 2020-04-24 19:47:56 -07:00