Commit graph

479 commits

Author SHA1 Message Date
Dreamacro
f1cf7e9269 Style: use gofumpt for fmt 2021-10-10 23:44:09 +08:00
Dreamacro
4ce35870fe Chore: remove deprecated ioutil 2021-10-09 20:35:06 +08:00
Dreamacro
66cb0b1218 Fix: cache kv db should not block on init 2021-10-05 22:47:26 +08:00
Dreamacro
4f1fac02ab Chore: add remove TODO 2021-10-05 12:42:21 +08:00
Dreamacro
537b672fcf Change: use bbolt as cache db 2021-10-04 19:20:11 +08:00
yaling888
6ddd9e6fb8 Merge from remote branch 2021-09-08 04:42:56 +08:00
Kr328
a5b950a779
Feature: add dhcp type dns client (#1509) 2021-09-06 23:07:34 +08:00
yaling888
48aef1829f Merge from remote branch 2021-09-01 00:38:43 +08:00
Dreamacro
571d2a0075 Migration: go 1.17 2021-08-18 13:26:23 +08:00
yaling888
ba2fd00f01 Merge from remote branch 2021-07-28 22:13:21 +08:00
Dreamacro
46f4f84442 Chore: use iife replace init in some cases 2021-07-11 19:43:25 +08:00
yaling888
d7732f6ebc Code: refresh code 2021-07-01 22:49:29 +08:00
Dreamacro
c35cb24bda Chore: use unix.ByteSliceToString transform cstring 2021-06-15 21:03:47 +08:00
Rusty Pen
0778591524
Feature: dns resolve domain through nameserver-policy (#1406) 2021-05-19 11:17:35 +08:00
Dreamacro
f96ebab99f Chore: split component to transport 2021-05-13 22:19:34 +08:00
Kaming Chan
df5112175f
Fix: io timeout when snell v2 reuse connection (#1362) 2021-04-19 14:36:06 +08:00
Dreamacro
4e9e4b6cde Fix: grpc transport concurrent write 2021-04-14 21:46:05 +08:00
Rusty Pen
936b7012ba
Feature: PROCESS-NAME support freebsd 13, fix panic on unsupported platforms (#1351) 2021-04-14 17:57:17 +08:00
Dreamacro
a9cbd9ec98 Fix: use bufio.Reader on grpc to avoid panic 2021-04-14 00:16:59 +08:00
Dreamacro
c9943fb857 Fix: grpc implementation SetDeadline for udp issue 2021-04-13 23:34:33 +08:00
sprov
a40274e2a2
Fix: vmess aead writer concurrent write (#1350) 2021-04-13 23:32:53 +08:00
Dreamacro
586bb91c0c Fix: grpc transport panic 2021-04-09 18:11:07 +08:00
Dreamacro
baf03b81e3 Fix: remove unused function 2021-04-08 22:27:41 +08:00
Dreamacro
3d5a0d9f73 Fix: trojan/vmess grpc broken 2021-04-07 22:57:46 +08:00
Dreamacro
3aefa1d924 Chore: some chores 2021-04-05 13:31:10 +08:00
Dreamacro
42e21b3733 Chore: refine go import 2021-04-05 13:00:49 +08:00
Dreamacro
d0c829c578 Fix: domain dns should follow hosts config, close #1318 2021-04-01 21:20:44 +08:00
Dreamacro
4ad9761b32 Fix: don't resolve AAAA record when ipv6 is false and use go dns resolver 2021-04-01 18:03:30 +08:00
Dreamacro
109bfcb0f9 Feature: add vmess aead header support 2021-03-30 17:34:16 +08:00
Dreamacro
d759d16944 Style: cleanup code 2021-03-24 01:00:21 +08:00
Dreamacro
1355196b7c Fix: grpc connection panic 2021-03-18 23:19:00 +08:00
ShinyGwyn
573316bcde
Feature: add gRPC Transport for vmess/trojan (#1287)
Co-authored-by: eMeab <32988354+eMeab@users.noreply.github.com>
Co-authored-by: Dreamacro <8615343+Dreamacro@users.noreply.github.com>
2021-03-18 19:40:34 +08:00
Dreamacro
784c28266c Fix: vmess http broken 2021-03-18 17:11:10 +08:00
Dreamacro
a37243cf30 Fix: store cache correctly 2021-02-21 01:07:22 +08:00
Dreamacro
14bbf6eedc Feature: support store group selected node to cache (enable by default) 2021-02-18 23:41:50 +08:00
goomadao
9eb98e399d
Improve: refactor ssr and fix #995 (#1189)
Co-authored-by: goomada <madao@DESKTOP-IOEBS0C.localdomain>
2021-02-15 14:32:03 +08:00
goomadao
ff430df845
Fix: connectivity of ssr auth_chain_(ab) protocol (#1180) 2021-01-13 23:35:41 +08:00
Dreamacro
e4cdea2111 chore: use singleDo to get interface info 2021-01-13 17:30:54 +08:00
Keyi Xie
02d029dd2d
Fix: close http Response body on provider (#1154) 2020-12-29 11:28:22 +08:00
Dreamacro
09c28e0355 Fix: fallback bind fn should not bind global unicast 2020-12-28 22:24:58 +08:00
icpz
532396d25c
Fix: PROCESS-NAME rule for UDP sessions on Windows (#1140) 2020-12-22 15:13:44 +08:00
Dreamacro
4b1b494164 Chore: move find process name to a single part 2020-12-17 22:17:27 +08:00
Jason Lyu
2cd1b890ce
Fix: tunnel UDP race condition (#1043) 2020-10-28 21:26:50 +08:00
Dreamacro
ba060bd0ee Fix: should not bind interface on local address 2020-10-25 20:31:01 +08:00
Dreamacro
76c9820065 Fix: undefined variable 2020-10-23 17:49:34 +08:00
Dreamacro
50b3d497f6 Feature: use native syscall to bind interface on Linux and macOS 2020-10-22 22:32:03 +08:00
Dreamacro
d3bb4c65a8 Fix: missing fake-ip record should return error 2020-10-17 12:52:43 +08:00
Dreamacro
e09931dcf7 Chore: remove broken test temporarily 2020-09-26 20:36:52 +08:00
小傅Fox
5bd189f2d0
Feature: support VMess HTTP/2 transport (#903) 2020-09-26 20:33:57 +08:00
Dreamacro
8766287e72 Chore: sync necessary changes from premium 2020-09-21 22:22:07 +08:00
Dreamacro
10f9571c9e Fix: pool gc test 2020-09-21 00:44:47 +08:00
Kaming Chan
96a8259c42
Feature: support snell v2 (#952)
Co-authored-by: Dreamacro <8615343+Dreamacro@users.noreply.github.com>
2020-09-21 00:33:13 +08:00
Dreamacro
68dd0622b8 Chore: code style 2020-09-20 15:53:27 +08:00
Kr328
558ac6b965
Chore: split enhanced mode instance (#936)
Co-authored-by: Dreamacro <305009791@qq.com>
2020-09-17 10:48:42 +08:00
Dreamacro
5805334ccd Chore: pass staticcheck 2020-08-25 22:19:59 +08:00
goomadao
8b7c731fd6
Fix: ssr broken (#895) 2020-08-12 20:50:56 +08:00
maddie
4f61c04519
Fix: ssr typo (#887) 2020-08-11 10:35:30 +08:00
goomadao
4ba6f248bc
Fix: ssr bounds out of range panic (#882) 2020-08-11 10:17:40 +08:00
icpz
77d6f9ae6f
Fix: handle snell server reported error message properly (#848) 2020-07-30 15:54:26 +08:00
goomadao
33a6579a3a
Feature: add ssr support (#805)
* Refactor ssr stream cipher to expose iv and key

References:
https://github.com/Dreamacro/go-shadowsocks2
https://github.com/sh4d0wfiend/go-shadowsocksr2

* Implement ssr obfs

Reference:
https://github.com/mzz2017/shadowsocksR

* Implement ssr protocol

References:
https://github.com/mzz2017/shadowsocksR
https://github.com/shadowsocksRb/shadowsocksr-libev
https://github.com/shadowsocksr-backup/shadowsocksr
2020-07-22 23:02:15 +08:00
Dreamacro
ee72865f48 Fix: recycle buf on http obfs 2020-07-22 20:29:39 +08:00
Dreamacro
acd51bbc90 Fix: obfs host should not have 80 port 2020-07-01 00:01:36 +08:00
Birkhoff Lee
93c987a6cb
Fix: typo in dialer.go (#767) 2020-06-28 10:59:04 +08:00
Kr328
14c9cf1b97
Fix: domain trie crash if not match in #758 (#762) 2020-06-24 19:46:37 +08:00
Kr328
3dfff84cc3
Fix: domain trie should backtrack to parent if match fail (#758) 2020-06-24 18:41:23 +08:00
Dreamacro
60bad66bc3 Change: ipv6 logic 2020-06-18 18:11:02 +08:00
Dreamacro
fb628e9c62 Feature: add default hosts localhost 2020-06-07 17:25:51 +08:00
Dreamacro
2dece02df6 Chore: code adjustments 2020-06-07 16:54:41 +08:00
Dreamacro
147a7ce779 Fix: panic of socks5 client missing authentication 2020-06-03 18:49:57 +08:00
Dreamacro
71d30e6654 Feature: support vmess tls custom servername 2020-06-01 00:27:04 +08:00
Dreamacro
8d0c6c6e66 Feature: domain trie support wildcard alias 2020-05-28 12:13:05 +08:00
bytew021
3a27cfc4a1
Feature: add Mixed(http+socks5) proxy listening (#685) 2020-05-12 11:29:53 +08:00
Dreamacro
0e56c195bb Improve: pool buffer alloc 2020-04-25 00:30:40 +08:00
Dreamacro
3fc6d55003 Fix: domain wildcard behavior 2020-04-24 23:49:19 +08:00
Dreamacro
8eddcd77bf Chore: dialer hook should return a error 2020-04-24 23:48:55 +08:00
Dreamacro
84f627f302 Feature: verify mmdb on initial 2020-04-16 19:12:25 +08:00
Dreamacro
65dab4e34f Feature: domain trie support dot dot wildcard 2020-04-08 15:45:59 +08:00
Dreamacro
5591e15452 Fix: vmess pure TLS mode 2020-04-03 16:04:24 +08:00
Dreamacro
19f809b1c8 Feature: refactor vmess & add http network 2020-03-31 16:07:21 +08:00
Dreamacro
e54f51af81 Fix: trojan split udp packet 2020-03-20 00:02:05 +08:00
Dreamacro
b068466108 Improve: add session cache for trojan 2020-03-19 22:39:09 +08:00
Dreamacro
b562f28c1b Feature: support trojan 2020-03-19 20:26:53 +08:00
Dreamacro
7b48138ad0 Fix: vmess udp crash 2020-02-17 17:34:19 +08:00
Dreamacro
d75cb069d9 Feature: add default-nameserver and outbound interface 2020-02-15 21:42:46 +08:00
Dreamacro
afc9f3f59a Chore: use custom dialer 2020-02-09 17:02:48 +08:00
Dreamacro
26ce3e8814 Improve: udp NAT type 2020-01-31 14:43:54 +08:00
Kr328
9071351022 Chore: aggregate mmdb (#474) 2020-01-11 21:07:01 +08:00
Comzyh
93ea037230 Improve: UDP relay refactor (#441)
Co-authored-by: Dreamacro <Dreamacro@vip.qq.com>
2019-12-28 18:44:01 +08:00
Dreamacro
3f592988a9 Fix: fake pool test 2019-12-28 00:19:40 +08:00
Dreamacro
96f490f84a Feature: add fake-ip-filter 2019-12-28 00:10:06 +08:00
Dreamacro
ad53b42a68 Fix: vmess websocket udp crash 2019-12-05 14:12:29 +08:00
Dreamacro
207371aeae Feature: add experimental connections API 2019-10-27 21:44:07 +08:00
Kirill Motkov
f4326daaa4 Chore: code style improvements (#361) 2019-10-14 17:13:23 +08:00
Jason Lyu
4cd8b6f24f Fix: some UDP issues (#265) 2019-10-11 20:11:18 +08:00
Dreamacro
52125a3992 Fix: fakeip missing host 2019-10-11 14:01:16 +08:00
Dreamacro
06c9dfdb80 Feature: experimental support snell 2019-10-09 18:46:23 +08:00
Dreamacro
1a8a6d0b5d Feature: v2ray-plugin support disable mux 2019-09-21 23:49:00 +08:00
Dreamacro
3dd9ea52d8 Fix(domain-trie): crash when insert 2019-09-14 21:42:40 +08:00
Dreamacro
48a2013d9c Fix: socks address stringify buffer overflow 2019-08-16 21:38:27 +08:00
Dreamacro
85128a634d Fix(vmess): set current server name in tls 2019-07-31 11:13:49 +08:00
X. Jason Lyu
f6acbaac7b Fix(vmess): typo (#248) 2019-07-29 12:25:29 +08:00
Dreamacro
271ed2b9c1 Improve(fakeip): use lru cache to avoid outdate 2019-07-26 19:09:13 +08:00
X. Jason Lyu
1fd8f690fe Fix(socks5): fully udp associate support (#233) 2019-07-25 17:47:39 +08:00
Dreamacro
9e77c650d9 Fix(domain-trie): domain could without dot 2019-07-16 00:57:08 +08:00
Dreamacro
3497fdaf45 Fix(domain-trie): Incorrect result 2019-07-15 18:00:51 +08:00
Dreamacro
1a21c8ebfd Feature(dns): support custom hosts 2019-07-14 19:29:58 +08:00
bobo liu
1c792b46c9 Feature: local socks5/http(s) auth (#216) 2019-06-27 17:04:25 +08:00
Dreamacro
ad13ad8dba Fix: add mutex for fake ip pool 2019-05-23 23:27:29 +08:00
Dreamacro
cff4841f3e Chore: fix socks reader overflow & update dependencies 2019-05-06 21:00:29 +08:00
Dreamacro
f352f4479e Feature: support fakeip 2019-05-03 00:05:14 +08:00
Dreamacro
762f227512 Feature: support vmess udp 2019-04-25 16:32:15 +08:00
Dreamacro
936ea3aa55 Feature: support outbound socks5 udp 2019-04-25 13:48:47 +08:00
Dreamacro
c92cda6980 Feature: socks5 udp associate 2019-04-23 23:30:13 +08:00
Rico
8c608f5d7a Feature: add custom headers support in v2ray-plugin (#137) 2019-03-15 09:43:46 +08:00
beyondkmp
287ad5bc53 Fix: vmess handshake block (#117) 2019-02-15 21:55:15 +08:00
Dreamacro
2383cca2ce Feature: add v2ray-plugin 2019-02-11 15:25:39 +08:00
Dreamacro
532ec88964 Chore: make a consistent code style 2018-12-23 00:42:08 +08:00
Dreamacro
1607d3253f Feature: add websocket headers support in vmess 2018-12-11 00:25:05 +08:00
beyondkmp
f5715c4f42 Fix: chunk size limit in tls obfs (#54)
* Fix: add chunkSize limit in TLSObfs

* Chore: add length var for len(b)
2018-12-01 09:32:02 +08:00
Dreamacro
dc24dd4d89 Fix: tls server name missing in vmess 2018-11-28 23:24:57 +08:00
Dreamacro
da391356dd Fix: simple-obfs tls 2018-11-07 16:57:21 +08:00
Dreamacro
502aa61c0e Fix: vmess small probability invalid auth 2018-11-06 17:34:19 +08:00
beyondkmp
cc6d496143 Chore: optimize code structure in vmess websocket (#28)
* Chore: move conn process of ws to websocket.go

* Chore: some routine adjustment
2018-11-04 21:36:20 +08:00
changx
fd63707399 Optimization: use client session cache for TLS connection (#26) 2018-11-01 11:54:45 +08:00
beyondkmp
c5757a9b11 Chore: delete redundant print 2018-10-30 10:50:57 +08:00
Dreamacro
ce7cb138d4 Chore: unified naming "skip-cert-verify" 2018-10-29 20:16:43 +08:00
Dreamacro
d2174149c1 Feature: vmess add websocket support 2018-10-28 23:46:32 +08:00
Dreamacro
1f556d4ae5 Fix: vmess alterId can be 0 2018-10-23 11:28:41 +08:00
Dreamacro
2fd59cb31c Chore: make the code more semantic 2018-09-30 12:25:52 +08:00