yuhan6665
fa5d7a255b
Least load balancer ( #2999 )
...
* v5: Health Check & LeastLoad Strategy (rebased from 2c5a71490368500a982018a74a6d519c7e121816)
Some changes will be necessary to integrate it into V2Ray
* Update proto
* parse duration conf with time.Parse()
* moving health ping to observatory as a standalone component
* moving health ping to observatory as a standalone component: auto generated file
* add initialization for health ping
* incorporate changes in router implementation
* support principle target output
* add v4 json support for BurstObservatory & fix balancer reference
* update API command
* remove cancelled API
* return zero length value when observer is not found
* remove duplicated targeted dispatch
* adjust test with updated structure
* bug fix for observer
* fix strategy selector
* fix strategy least load
* Fix ticker usage
ticker.Close does not close ticker.C
* feat: Replace default Health Ping URL to HTTPS (#1991 )
* fix selectLeastLoad() returns wrong number of nodes (#2083 )
* Test: fix leastload strategy unit test
* fix(router): panic caused by concurrent map read and write (#2678 )
* Clean up code
---------
Co-authored-by: Jebbs <qjebbs@gmail.com>
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
Co-authored-by: 世界 <i@sekai.icu>
Co-authored-by: Bernd Eichelberger <46166740+4-FLOSS-Free-Libre-Open-Source-Software@users.noreply.github.com>
Co-authored-by: 秋のかえで <autmaple@protonmail.com>
Co-authored-by: Rinka <kujourinka@gmail.com>
9 months ago
nobody
d20a835016
Fix concurrent map writes error in ohm.Select(). ( #2943 )
...
* Add unit test for ohm.tagsCache.
* Fix concurrent map writes in ohm.Select().
---------
Co-authored-by: nobody <nobody@nowhere.mars>
10 months ago
nobody
7f7f57d3b6
Add tags cache to app.proxyman.ohm.Select() ( #2927 )
...
* Add tags cache to ohm.Select().
* Refactor round-robin.
* Fix a bug.
---------
Co-authored-by: nobody <nobody@nowhere.mars>
11 months ago
Hossin Asaadi
81f9f567ff
sort Outbound selector output ( #2914 )
...
* clean code
* sort oubound selector output
* clean up
* fix duplicate outbound
11 months ago
yuhan6665
d60281d0a5
Add DestIpAddress() in Dialer interface
...
Android client prepares an IP before proxy connection is established. It is useful when connecting to wireguard (or quic) outbound with domain address. E.g. engage.cloudflareclient.com:2408
11 months ago
yuhan6665
d9fd3f8eb1
Freedom xdomain strategy ( #2719 )
...
* 统一 `domainStrategy` 行为.
* aliases NG.
* 化简.
* 调整.
* Let it crash.
* Update proto
---------
Co-authored-by: rui0572 <125641819+rui0572@users.noreply.github.com>
1 year ago
yuhan6665
efd32b0fb2
Enable splice for freedom outbound (downlink only)
...
- Add outbound name
- Add outbound conn in ctx
- Refactor splice: it can be turn on from all inbounds and outbounds
- Refactor splice: Add splice copy to vless inbound
- Fix http error test
- Add freedom splice toggle via env var
- Populate outbound obj in context
- Use CanSpliceCopy to mark a connection
- Turn off splice by default
1 year ago
dyhkwong
b8bd243df5
Fix buffer.UDP destination override ( #2356 )
1 year ago
cty123
7aeca33729
fix: revert previous change on IsValid() function; add validation in getUoTConnection();
1 year ago
RPRX
62e881b01a
5*60 -> 2*60
1 year ago
yuhan6665
d11d72be6c
Update proto file and fix protoc version parsing
...
The new protoc cli return version v23.1,
so we parse the file version v4.23.1 without "4."
1 year ago
世界
18e5b0963f
Update dependencies
2 years ago
RPRX
06c9e50c52
Add "xudpProxyUDP443" to Mux config & XUDP rejects UDP/443 traffic by default (client side, excluding reverse proxy)
2 years ago
RPRX
24a2be43ef
Replace "only" with "xudpConcurrency" in Mux config
2 years ago
RPRX
29d7865d78
Refine "only" in Mux config
2 years ago
RPRX
be23d5d3b7
XUDP protocol: Add Global ID & UoT Migration
...
The first UoT protocol that supports UoT Migration
Thank @yuhan6665 for testing
2 years ago
世界
f57ec13880
Update UoT protocol
2 years ago
RPRX
b70912799b
Generate *.pb.go files with protoc v3.21.12
...
https://github.com/protocolbuffers/protobuf/releases/tag/v21.12
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
go run ./infra/vprotogen
2 years ago
yuhan6665
8117b66949
Generate all protos
2 years ago
yuhan6665
debd2e3ba8
Remove compatibility code
...
The minimum support go version is already 1.18
2 years ago
Mocking
4140bcd11a
Enhancement of "redirect" function, adding support for MacOS
...
Added the function of "MacOS" FreeBSD firewall traffic forwarding and resolving destination address
example:
"inbounds": [
{
"listen": "127.0.0.1",
"port": 1122,
"protocol": "dokodemo-door",
"tag": "dokodemo",
"settings": {
"network": "tcp",
"followRedirect": true,
"userLevel": 0
},
"streamSettings": {
"sockopt": {
"tproxy": "Redirect"
}
}
}
]
还原#1189 提交
2 years ago
S-Mocking
59602db02d
Add "tproxy" option ( #1189 )
...
* Add "tproxy" option
Added the function of "MacOS" FreeBSD firewall traffic forwarding and resolving destination address
example:
"inbounds": [
{
"listen": "127.0.0.1",
"port": 1122,
"protocol": "dokodemo-door",
"tag": "dokodemo",
"settings": {
"network": "tcp",
"followRedirect": true,
"userLevel": 0
},
"streamSettings": {
"sockopt": {
"tproxy": "pf"
}
}
}
]
* Add "tproxy" option
Added the function of "MacOS" FreeBSD firewall traffic forwarding and resolving destination address
example:
"inbounds": [
{
"listen": "127.0.0.1",
"port": 1122,
"protocol": "dokodemo-door",
"tag": "dokodemo",
"settings": {
"network": "tcp",
"followRedirect": true,
"userLevel": 0
},
"streamSettings": {
"sockopt": {
"tproxy": "pf"
}
}
}
]
* Add "tproxy" option
Added the function of "MacOS" FreeBSD firewall traffic forwarding and resolving destination address
example:
"inbounds": [
{
"listen": "127.0.0.1",
"port": 1122,
"protocol": "dokodemo-door",
"tag": "dokodemo",
"settings": {
"network": "tcp",
"followRedirect": true,
"userLevel": 0
},
"streamSettings": {
"sockopt": {
"tproxy": "pf"
}
}
}
]
Co-authored-by: Mocking <fanhaiwang0817@gmail.com>
2 years ago
世界
c3505632fd
Add udp over tcp support for shadowsocks-2022
3 years ago
世界
6f93ef7736
Remove useless error log
3 years ago
世界
f046feb9ca
Reformat code
3 years ago
yuhan6665
41ce6ccf9f
Make reverse proxy compatible with v2fly ( #924 )
...
* Make reverse proxy compatible with v2fly
* Fix gitignore
* Regenerate proto files
- fix v2ray name in loopback
* Fix fly.org in unit tests
3 years ago
Machtergreifung
9ad26fa049
chore fixed ( #897 )
...
* chore fixed
3 years ago
yuhan6665
e93da4bd02
Fix some tests and format code ( #830 )
...
* Increase some tls test timeout
* Fix TestUserValidator
* Change all tests to VMessAEAD
Old VMess MD5 tests will be rejected and fail in 2022
* Chore: auto format code
3 years ago
lucifer9
d6ae4e9ba2
Make it easier to configure multiple listening ports
3 years ago
yuhan6665
abb8ba8b0e
Observatory related fixes ( #788 )
...
* fix:observatory not supported by multi-json
* Fix: observatory starts with empty config & fails to close (#957 )
* Update strategy_leastping.go (#1019 )
* add custom probe URL support for observatory
* add custom probe interval for observer
* apply coding style
* Fix: observatory log & JSON config(#1211 )
Co-authored-by: ihotte <ihotte@yeah.net>
* Change default probe url from api.v2fly.org to www.google.com
* Cherry-pick missing code from branch 'dev-advloadblancer-2'
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
Co-authored-by: fanyiguan <52657276+fanyiguang@users.noreply.github.com>
Co-authored-by: ihotte <3087168217@qq.com>
Co-authored-by: ihotte <ihotte@yeah.net>
3 years ago
Ovear
3c7189a3e7
Fix: Remove udp connection twice
3 years ago
世界
a3023e43ef
Add routeOnly sniffing option
3 years ago
yuhan6665
e286cdcaa8
Style: format code by gofumpt ( #761 )
3 years ago
hmol233
7033f7cf5f
Fix: protobuf file ( #724 )
3 years ago
Arthur Morgan
24b637cd5e
Fix: CounterConnection with ReadV/WriteV ( #720 )
...
Co-authored-by: JimhHan <50871214+JimhHan@users.noreply.github.com>
3 years ago
yuhan6665
42d158bd85
vprotogen refine ( #717 )
...
* Update all proto files with existing vprotogen
* Chore: remove protoc-gen-gofast
* Feat: vprotogen adds version detector to block generation code from old protobuf version
* Feat: vprotogen refine logic
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
3 years ago
yuhan6665
f50eff5ebb
Add Fake DNS support ( #309 )
...
Co-authored-by: Xiaokang Wang <xiaokangwang@outlook.com>
Co-authored-by: loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
Co-authored-by: kslr <kslrwang@gmail.com>
4 years ago
Jim Han
9aa49be703
Restrict tag to be unique ( #258 )
4 years ago
秋のかえで
0b4858d016
Feature: Exclude some domains in sniffing destOverride ( #151 )
...
Co-authored-by: RPRX <63339210+rprx@users.noreply.github.com>
4 years ago
Jim Han
7f5e34c857
Regenerate .pb.go files ( #187 )
...
Co-authored-by: RPRX <63339210+rprx@users.noreply.github.com>
4 years ago
RPRX
ee15cc253f
Improve configuration detector (cone or symmetric)
4 years ago
RPRX
43eb5d1b25
16 -> 60, 8 -> 300
...
https://github.com/XTLS/Xray-core/issues/129#issuecomment-757355137
十分感谢 @GleenJi 等协助测试
4 years ago
RPRX
310a938511
VLESS & VMess are not ready to accept FullCone yet
4 years ago
RPRX
2da07e0f8a
Refactor: FullCone TPROXY Inbound & Socks Outbound
...
https://t.me/projectXray/116037
4 years ago
RPRX
6bcac6cb10
Move common/net/connection.go into cnc folder
4 years ago
RPRX
f8faf3c8b8
Removal: confonly
4 years ago
RPRX
ee19bcc08c
Add comments for additional code
4 years ago
JimhHan
9c0f0a0cd5
Fix: Code generator & API ( #52 )
4 years ago
RPRX
0d772cd800
Adjust Splice panic strategy
4 years ago
RPRX
16544c18ab
v1.1.0
4 years ago