1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-29 07:16:29 -04:00
Commit Graph

1358 Commits

Author SHA1 Message Date
database64128
29f16cd054
🎳 Refine socks5 server UdpAssociate response behavior (#523)
- Previously, without specifying the server IP, the remote address in the response to a UdpAssoicate command is `127.0.0.1`, which might break UDP for non-localhost clients.
- This commit changes it so that, localhost clients get responses with the corresponding loopback IP, non-localhost clients get responses with the corresponding `net.AnyIP` or `net.AnyIPv6`.
- The new behavior is also consistent with many other implementations. So the compatibility is guaranteed. It also makes specifying server IP optional.
2020-12-16 16:39:14 +08:00
database64128
0eccf52399
🧦 Fix socks client UDP outbound's wrong destination (#522)
- When you connect to a non-localhost socks5 server, in the response of a UdpAssociate from a socks5 server, the remote address may be `::` or `0.0.0.0`. The previous behavior is to connect to the remote address in the response, which obviously fails.
- This commit changes the behavior to dial to the outbound server's address when the remote address in the response is `::` or `0.0.0.0`.
- Rename `cmdUDPPort` to `cmdUDPAssociate` for clarity.
2020-12-16 04:23:40 +08:00
Loyalsoldier
5e99737c12
Fix: close response body (#484) 2020-12-03 16:07:41 +08:00
Loyalsoldier
8cb2db5321
Fix: security issues & overflow potentiality (#465) 2020-11-28 21:56:20 +08:00
Loyalsoldier
b68f943c78
Fix lint according to golangci-lint (#439) 2020-11-22 05:05:01 +08:00
Kslr
623cb24644
Remove XTLS (#431)
* remove xtls

* generate pb

* Update protoc

* Clean up go.mod & go.sum

* format code

* restore vless flow

* fix codacy

* do NOT interfere with pb.go files

Co-authored-by: loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
2020-11-20 15:53:10 +08:00
Chinsyo
2ac380788b
Some minor fixes (#433) 2020-11-20 01:02:52 +08:00
Chinsyo
32e0e6e484
Some minor fix (#430)
* fix typo pading to padding

* reorder common/buf/buffer.go code layout

* delete unused common/stack

Co-authored-by: Chinsyo <chinsyo@sina.cn>
2020-11-18 04:23:30 +08:00
Chinsyo
dc78733196
Refactor common/antireplay, unexport unnecessary public fields. (#422)
* rename AuthIDDecoderHolder private fields

* ignore unused return value more clear

* change PoolSwap to private fields

* refactor Unlock to defer

* use const capacity, reorder code layout

* replace mismatch field name poolX with type Filter

* change AntiReplayTime to private fileds, protect to modify

* rename lastSwapTime to lastSwap

* merge duplicate time.Now.
Since the current unit is in seconds, there is no need to repeat the call

* refine negate expression

* rename antiReplayTime to interval

* add docs

* fix lint stutter issue, rename antireplay.AntiReplayWindow to antireplay.ReplayFilter

* rename fileds m,n to poolA,poolB

* rename antireplay.go to replayfilter.go

* fix build issue

Co-authored-by: Chinsyo <chinsyo@sina.cn>
2020-11-17 21:05:26 +08:00
RPRX
f06ede1bc1
Fix stat 2020-11-12 08:45:03 +00:00
Arthur Morgan
e2392491d6
Add V2RAY_TROJAN_XTLS_SHOW (#391)
When using trojan, you can set the environment variable V2RAY_TROJAN_XTLS_SHOW=true to display the output of XTLS
2020-11-07 14:32:42 +00:00
RPRX
e8361016ae
VLESS XTLS ReadV 2020-11-03 14:32:17 +00:00
RPRX
21739e6f38
32 -> 0 2020-11-02 11:00:08 +00:00
單dar 于ɦʷa
e3b96a1b56
Disable 0-rtt mechanism for http/1 outbound (#372)
Fix #357

Co-authored-by: August Njam Brong <longran1989@gmail.com>
2020-10-31 11:03:46 +08:00
lucifer
770b994337
Refine unix domain socket (#367) 2020-10-29 07:30:38 +00:00
Loyalsoldier
f17063a08a
Update vprotogen (#366)
* Refine vprotogen
* Regenerate pb.go files
2020-10-29 09:27:05 +08:00
RPRX
3e87b187c4
Adjust VLESS & Trojan Validator 2020-10-22 04:53:27 +00:00
maskedeken
24f688cc20
Trojan Protocol Handler implements UserManager (#344)
* Trojan Protocol Handler implements UserManager

* Update validator.go

Co-authored-by: RPRX <63339210+rprx@users.noreply.github.com>
2020-10-22 04:01:26 +00:00
RPRX
c325faef38
Adjust Trojan over XTLS 2020-10-21 09:32:16 +00:00
RPRX
13ae4c25ac
Add flow to Trojan config.proto 2020-10-21 03:12:44 +00:00
ekenchan
3fc985dd0e
Add trojan over xtls support (#334)
* Add trojan over xtls support

* Add comments

* improve PR quality

* improve PR quality

* add xtls-rprx-origin-udp443 and xtls-rprx-direct-udp443

Co-authored-by: Eken Chan <maskedeken@yahoo.com>
2020-10-20 10:44:31 +00:00
Kslr
f7ed96f5d4
Merge pull request #292 from Loyalsoldier/refine-code
Refine code according to golangci-lint results
2020-10-13 13:50:04 +08:00
RPRX
95e7e0dee7
AtWarning() -> AtInfo() 2020-10-13 04:53:34 +00:00
loyalsoldier
784775f689
Refine code according to golangci-lint results 2020-10-11 19:22:46 +08:00
Loyalsoldier
bb44d01096
Format proto files using clang-format according to google style (#264)
* Format proto files using clang-format according to google style
* Regenerate pb.go files
2020-10-05 08:36:40 +08:00
RPRX
a308620073
Fix 2020-10-05 00:52:03 +08:00
RPRX
b8a78038a2
VLESS PREVIEW 2.3 2020-10-04 10:51:29 +00:00
loyalsoldier
b181045b0c
Errorgen: support to run outside of GOPATH 2020-10-04 13:06:12 +08:00
loyalsoldier
7a789fed37
Run go fmt 2020-10-04 06:29:21 +08:00
RPRX
36f0b7d6e4
Fix Trojan inbound access log (#255) 2020-10-03 15:24:04 +00:00
RPRX
271532fc84
Add full VLESS fallbacks support to Trojan (#254)
* Add full VLESS fallbacks support to Trojan

* Adjustments according to linter

* Use common.Must2() for pro.Write()
2020-10-03 13:12:35 +00:00
RPRX
60909dad31
VLESS PREVIEW 2.2 2020-10-03 03:23:24 +00:00
Kslr
9f344fa1c9
remove shadowsosks ota (#238)
* remove shadowsosks ota

* remove unused buf.Reader
2020-10-02 16:13:31 +08:00
RPRX
65565572d3
VLESS UDP over TCP struct breaking change (#239)
具体改变:每个 UDP 载荷前加两字节长度的 length,最大值为 2048-2=2046。若不使用 Mux,服务端与客户端均需升级至 v4.30.0+。这是 VLESS 公测版(0)协议结构本身唯一一次 breaking change,正式版(1)的服务端预计会长期同时支持该版本,第三方客户端的实现应当尽快跟进。
2020-09-30 01:39:03 +00:00
maskedeken
e445d21f4b
Add trojan protocol support (#181)
* Add trojan protocol support

Co-authored-by: Eken Chan <ekenchan@msn.com>
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2020-09-26 23:31:24 +08:00
RPRX
f55e05c166
int -> int32 2020-09-24 12:18:11 +00:00
RPRX
4b0aea1dca
Fix bug 2020-09-24 11:22:12 +00:00
RPRX
0e8e23897c
Tiny adjustment 2020-09-24 11:09:14 +00:00
RPRX
3072cdccf4
Add return 2020-09-24 11:02:27 +00:00
RPRX
648d4180aa
VLESS PREVIEW 2 2020-09-24 01:59:14 +00:00
RPRX
010fbf4d8b
Make isAEAD more efficient 2020-09-21 03:20:04 +00:00
RPRX
470dc8523b
Make isAEAD more efficient 2020-09-21 01:10:56 +00:00
Kslr
0cbed7e265
Merge pull request #187 from wwqgtxx/master
support disable vmess aead by os environ
2020-09-14 18:04:12 +08:00
wwqgtxx
43174d6951 support disable vmess aead by os environ 2020-09-14 17:49:59 +08:00
Darhwa
d2d4f48815 Fix the coarse-grained mutex in http outbound
fix v2ray#2731
2020-09-13 02:07:22 +08:00
Shelikhoo
e2e266114a
Fix incorrect IV usage which slightly reduced security 2020-09-12 16:27:40 +08:00
RPRX
ee1e18df24
Schedulers -> Flow 2020-09-11 03:37:23 +00:00
RPRX
2237528d1e
fix 2020-09-10 16:05:02 +00:00
RPRX
8c2e8e9db9
Add defer 2020-09-10 15:58:38 +00:00
Kslr
2a3fe11952
VMess AEAD will be used when alterId is 0 2020-09-09 00:02:53 +08:00
RPRX
16fe0b03f6
Do not convert @ to \x00 2020-09-07 16:39:53 +08:00
loyalsoldier
f12f76582f
Fix according to staticcheck result
staticcheck repo: https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck
2020-08-30 23:41:15 +08:00
loyalsoldier
1fa89b32d4
Format: run go fmt ./... 2020-08-30 21:17:22 +08:00
RPRX
84aaf3a1e3
VLESS PREVIEW 1.5 2020-08-28 07:51:09 +00:00
loyalsoldier
f9175e3bc8
Fix according to go vet results 2020-08-26 19:35:33 +08:00
Shelikhoo
a40727a3dc
added drain for ss and improved vmess drain 2020-08-26 13:51:23 +08:00
Loyalsoldier
ef460f68f8
Adjust Protocol Buffers (#109)
* Update protoc binary executable files to v3.13.0

* Write proto files in more standard way

* Make go generate & vprotogen compatible with protoc-gen-gofast

* Regenerate pb.go files according to new proto files

* Clean go.sum by running go mod tidy

* Implement mustEmbedUnimplementedServiceServer for gPRC services
2020-08-24 12:10:26 +00:00
Darhwa
d05ddc8f78 Make http outbound 0-rtt 2020-08-15 23:58:58 +08:00
RPRX
5708edd117
VLESS PREVIEW 1.3 2020-08-04 13:08:35 +00:00
RPRX
070e72f581
unexpected -> invalid 2020-08-03 19:16:14 +00:00
RPRX
1cfc02e720
VLESS PREVIEW 1.2 2020-08-03 06:13:26 +00:00
RPRX
2c49559c61
Merge pull request #76 from Vigilans/vigilans/tproxy-sockopt
Apply sockopt from inbound config to dokodemo tproxy's response connection
2020-08-02 03:02:36 +00:00
Vigilans
30e312f72b Apply sockopt from inbound config to dokodemo tproxy's response connection 2020-08-01 02:04:06 +08:00
Darhwa
cae278dd00 Fix http outbound
Get correct TLS negotiated protocol when stats setting exists
2020-07-31 23:51:08 +08:00
Darhwa
1acb2fd854 Some cleaning and linting 2020-07-31 23:49:54 +08:00
RPRX
bad7e2cfd8
VLESS PREVIEW 1.1 2020-07-28 15:00:23 +00:00
lucifer9
9da4339d8a Add access log for dokodemo inbound 2020-07-13 21:02:19 +08:00
Shelikhoo
437a66b7de
Added Unit Test for VMessAEAD 2020-07-04 13:48:47 +08:00
Agioi Theodoroi
bbd3988f3d
clean up code 2020-06-27 07:51:42 +08:00
rprx
1432278c2c
Fix typo (#36) 2020-06-26 21:27:23 +08:00
Shelikhoo
f19f95af35
Update AEAD design to rely more on AEAD 2020-06-26 20:15:37 +08:00
Xiaokang Wang
327a6ee1f7
Merge pull request #18 from darhwa/enhance_http_outbound
使http outbound支持连接https与http/2代理服务器
2020-06-25 16:25:44 +08:00
Roger Shimizu
90af5f19ba
Apply Debian's patch to upstream 2020-06-24 12:57:03 +08:00
Darhwa
d29370a654 Enhance http outbound
1. Enables http outbound to set up a HTTP tunnel above HTTP/1.1,
  HTTP/1.1 over TLS, or HTTP/2 over TLS. Previously it only works for
  plain HTTP/1.1
2. In setting up CONNECT tunnel, replaces handcrafted request with
  standard http.Request
2020-06-20 23:03:44 +08:00
Shelikhoo
38868e0469
Fix context layering in Shadowsocks UDP 2020-06-19 17:52:39 +08:00
Shelikhoo
3e13d79af7
Fix TProxy Process Logic 2020-06-18 13:40:48 +08:00
Shelikhoo
73616ab9e2
branch context instead of layer it 2020-06-18 12:01:37 +08:00
Shelikhoo
d06a4d1f50
Added TestsEnabled Settings to enable VMessAEAD test 2020-06-08 16:50:50 +08:00
Shelikhoo
09b81b78c3
regenerate pb data 2020-06-08 16:16:32 +08:00
Shelikhoo
da0b63bc12
allow user to define tests enable for this server 2020-06-08 14:20:31 +08:00
Shelikhoo
870ff52775
Apply Coding Style 2020-06-08 13:25:33 +08:00
Shelikhoo
8c886b4b46
Apply Coding Style 2020-06-08 13:21:59 +08:00
Shelikhoo
a58b20b5b8
Reserve sign bit 2020-06-08 10:23:59 +08:00
Shelikhoo
78d7b4f183
Check replay only for AEAD connection, and later 2020-06-06 20:54:29 +08:00
Shelikhoo
9fc37646b6
Check replay only for AEAD connection 2020-06-06 20:51:01 +08:00
Shelikhoo
6a29fa5fe2
Enable AEAD by Default 2020-06-06 20:37:30 +08:00
Shelikhoo
8d489f6c7c
Make taint acquire lesser lock 2020-06-06 19:22:27 +08:00
Shelikhoo
6007e4cc6f
Detailed AEAD Auth Error 2020-06-06 18:57:49 +08:00
Shelikhoo
9bf07b1f26
VMess AEAD Experiment 2020-06-06 17:11:30 +08:00
Shelikhoo
38e89bd2c7
VMess will Drain Connection On Auth failure 2020-06-03 11:25:47 +08:00
Shelikhoo
8f45736dd3
drain replayed connection 2020-06-02 20:02:08 +08:00
Shelikhoo
34c13f3b27
Detailed code and output 2020-06-02 18:18:31 +08:00
Shelikhoo
944c45a776
Fix not update behavior seed 2020-06-02 18:01:43 +08:00
Shelikhoo
5e59534333
Fix when rolled number is zero 2020-06-02 17:30:48 +08:00
Shelikhoo
13cef19430
Increase Drain Pool 2020-06-02 17:11:51 +08:00
Shelikhoo
ca032dd00f
Drain Connection Based on uuid based behavior seed(skip auth info drain for now) 2020-06-02 15:16:17 +08:00
Shelikhoo
d671780804
Drain Connection Based on Uuid based Behavior seed 2020-06-02 14:47:54 +08:00
Shelikhoo
e0aa18b6f3
Drain Connection with invalid checksum before closing. Emergency fix for weakness described in https://github.com/v2ray/v2ray-core/issues/2523 2020-06-01 16:40:54 +08:00
Kslr
cfbb875546 Revert "Reduce http proxy client overhead by 1RTT" 2020-03-19 19:11:17 +08:00
Anonymous-Someneese
99cf401867 http: send HTTP Connect if no content is written after 5ms. 2020-03-12 00:42:29 +08:00
Anonymous-Someneese
a5caa01cb6 Optimize HTTP tunnel setup in TFO environment 2020-03-12 00:42:29 +08:00
Anonymous-Someneese
197fe15d5a Fix code quality 2020-03-12 00:42:29 +08:00
Anonymous-Someneese
f0e63c6e3c Reduce http proxy client overhead by 1RTT 2020-03-12 00:42:29 +08:00
tnextday
ad3bcd2c07 pass username to inbound.User.Email in http/socks server 2020-03-12 00:42:29 +08:00
vcptr
60603abee7 fix: dns test default timeout too short 2019-11-27 13:06:08 +08:00
Kslr
876e2fcc73
Merge pull request #1904 from hex2tan/master
fixed add new vmess user bug
2019-10-27 15:27:03 +08:00
fcying
fa926a1d1d access log add detour tag 2019-10-27 14:24:50 +08:00
hex2tan
3d63ec4e78
fixed add new user bug
fixed add new user bug.
when add new user, just add the key(u.email) to the map(v.cache), the value of map is nil.
2019-09-26 13:48:52 +08:00
vcptr
ad4a1a3dc2 show vmess decode errors at warning level 2019-08-27 09:29:29 +08:00
aaaaa
5ab4f5ab9a fix a crash problem of fetching user from a nil request which returned by shadowsocks failed to read IV 2019-08-19 18:03:35 +08:00
yuanmomo
95f1a4d466 blank row between build and package 2019-08-08 12:27:39 +08:00
vcptr
27da2d139f fix: !confonly missing in http client 2019-08-07 14:49:29 +08:00
wuxiaolong
acde5a55b6 Rewrite comments in English 2019-07-24 22:08:21 +08:00
wuxiaolong
97764114ea Support http outbound 2019-07-24 09:15:05 +08:00
Kslr
2451eedbc4
Merge pull request #1767 from Gondnat/addEmailIntoAccessLog
Add email into access log for shadowsocks and vmess
2019-07-13 22:50:35 +08:00
Gondnat
dd048bfb29 add email into access log for shadowsocks, vmess and mux 2019-07-02 10:43:34 +08:00
Kirill Motkov
0401a91ef4 Some code improvements
* Rewrite empty string checks more idiomatically.
* Change strings.ToLower comparisons to strings.EqualFold.
* Rewrite switch statement with only one case as if.
2019-06-28 17:53:44 +03:00
Darien Raymond
8de236b08c
upper case http method 2019-02-28 14:36:31 +01:00
Darien Raymond
888494aac8
support attributes in session.Content 2019-02-28 11:45:06 +01:00
Darien Raymond
39835e8da2
specify protocol in http inbound 2019-02-28 10:37:27 +01:00
Darien Raymond
9957c64b4a
correctly propagate dns errors all the way through.
the internal dns system can correctly handle the cases where:
1) domain has no A or AAAA records
2) domain doesn't exist
fixes #1565
2019-02-21 13:43:48 +01:00
Darien Raymond
1531642768
benchmark test for user validator 2019-02-20 22:56:17 +01:00
Darien Raymond
c072d38e2c
refine tls connection 2019-02-17 00:58:02 +01:00
Darien Raymond
b488c42453
set recursive bits 2019-02-15 23:13:41 +01:00
Darien Raymond
2a6cad2f9b
fix inbound user in dekodemo door and http 2019-02-15 00:46:19 +01:00
Darien Raymond
634bba0f8a
fix user level in socks inbound 2019-02-15 00:28:26 +01:00
Darien Raymond
114ec4c74b
support dest override in dns outbound 2019-02-12 22:34:43 +01:00
Darien Raymond
69e8db7bbe
include question section in dns response 2019-02-12 13:29:12 +01:00
Darien Raymond
5530ead381
fix broken test 2019-02-10 19:47:26 +01:00
Darien Raymond
98950d5ada
remove dep of assert lib 2019-02-10 15:02:28 +01:00
Darien Raymond
b234cfb4c4
unify NewPacketReader 2019-02-07 19:14:37 +01:00
Darien Raymond
4f08b7c795
fix reading udp packets 2019-02-07 16:36:54 +01:00
Darien Raymond
2aa0c08709
check domain name 2019-02-06 21:02:03 +01:00
Darien Raymond
fae47083c2
set response bit in dns 2019-02-06 19:41:55 +01:00
Darien Raymond
836440c61a
dns outbound proxy 2019-02-06 10:21:04 +01:00
Darien Raymond
9d7efdd2e1
confonly 2019-02-02 22:19:40 +01:00
Darien Raymond
bdd71a44b4
remove dep on assert lib 2019-02-02 22:19:30 +01:00
Darien Raymond
2a0f3591f4
add confonly tag for blackhole 2019-02-01 21:00:08 +01:00
Darien Raymond
1ab94fed79
optimize v2ctl size 2019-02-01 20:08:21 +01:00
Darien Raymond
28189197b3
remove dependency of assert lib 2019-02-01 14:38:14 +01:00
Darien Raymond
c9958681f7
remove dependency on assert lib 2019-01-31 20:57:01 +01:00
Darien Raymond
b05514b02c
wait for both requests to finish before changing timeout 2019-01-30 21:38:25 +01:00
Darien Raymond
bb5a959876
refactor tproxy handling in dokodemo 2019-01-27 22:30:34 +01:00
SAPikachu
c89828e1fb Fix potential memory leak 2019-01-27 20:14:22 +08:00
SAPikachu
d8285161ba Properly handle TPROXY UDP connections 2019-01-25 15:49:34 +08:00
Darien Raymond
35432832c4
don't use new address if not in redirect mode 2019-01-14 22:57:53 +01:00
Darien Raymond
163776b182
remove dependency on assert lib 2019-01-08 23:27:02 +01:00
Darien Raymond
d26700a2fe
remove common/compare package 2019-01-07 00:12:04 +01:00
Darien Raymond
b52725cf65
DialUDP function 2019-01-05 21:43:22 +01:00
Darien Raymond
3de8389361
rename CloseError() to Interrupt() 2018-12-31 21:25:10 +01:00