A1lo
a994bf8b04
chore: fix some errors detected by staticcheck ( #3089 )
...
* chore: fix some errors detected by staticcheck
* feat: remove `rand.Seed()` usage for possibly using "fastrand64" runtime to avoid locking
ref: https://pkg.go.dev/math/rand#Seed
2024-03-03 10:52:22 -05:00
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>
2024-02-17 22:51:37 -05:00
Iain Lau
3a99520370
Add PROXY Protocol support for freedom outbound
2024-02-05 10:08:51 -05:00
nobody
961cf9d3b1
Remove slices dependency. ( #2930 )
...
* Remove slices dependency.
* Fix nil pointer dereference bug.
---------
Co-authored-by: nobody <nobody@nowhere.mars>
2024-01-11 10:34:26 -05:00
Lars Lehtonen
2fc4b31fcf
common/singbridge: fix dropped context
2024-01-02 19:56:14 -05:00
nobody
44bb83033f
Add sub-command "-dump" to "run". ( #2854 )
...
* Add MarshalToJson().
* Add cmd arg -dump for printing out merged multiple json configs.
---------
Co-authored-by: nobody <nobody@nowhere.mars>
2023-12-29 11:16:48 -05:00
Lars Lehtonen
06734d6f08
common/ocsp: fix dropped error
2023-12-09 19:52:50 -05:00
yuhan6665
2fd765ea4c
Delay XUDP Basekey read
2023-12-03 22:10:10 -05:00
yuhan6665
d9fd3f8eb1
Freedom xdomain strategy ( #2719 )
...
* 统一 `domainStrategy` 行为.
* aliases NG.
* 化简.
* 调整.
* Let it crash.
* Update proto
---------
Co-authored-by: rui0572 <125641819+rui0572@users.noreply.github.com>
2023-11-12 16:27:39 -05:00
yuhan6665
d24a636c75
Move some log from stdout to ray log
2023-10-28 21:31:54 -04:00
yuhan6665
11b61b02c8
Refine environment var
...
Address some review comments
2023-10-28 18:22:44 -04:00
yuhan6665
4f05e0ac2b
Unify environment var readers
2023-10-29 15:16:57 -04:00
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
2023-09-07 14:17:39 -04:00
dyhkwong
b8bd243df5
Fix buffer.UDP destination override ( #2356 )
2023-08-29 07:12:36 +00:00
mengskysama
fce86aad33
fix(common): strmatcher match domain safety
2023-08-24 11:06:08 -04:00
hax0r31337
f67167bb3b
refactor(deps): replace github.com/golang/protobuf with google.golang.org/protobuf
2023-08-10 10:43:27 -04:00
cty123
b68a43f4fc
fix: correct the logic of converting SocksAddr into net.Destination.
2023-07-19 16:01:35 -04:00
cty123
7aeca33729
fix: revert previous change on IsValid() function; add validation in getUoTConnection();
2023-07-19 15:53:01 -04:00
cty123
2df418abf1
fix: Check if address is nil for IsValid() function.
2023-07-16 20:06:52 -04:00
RPRX
667279af57
Add "nonIPQuery" to DNS outbound ("drop" by default)
...
And fixed a memory leak
And regenerated *.pb.go
2023-06-18 09:45:32 -04:00
yuhan6665
9112cfd39c
Clean legacy vmess ( #2199 )
...
* Remove legacy Vmess
* validators
* protos
2023-06-12 10:32:25 -04:00
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."
2023-06-11 13:36:06 -04:00
Zeyu Chen
bfd5da2f00
fix: dns empty response
2023-05-01 10:19:50 -04:00
世界
18e5b0963f
Update dependencies
2023-04-23 19:32:07 +08:00
yichya QC
90d915ea05
feat: add tcp_user_timeout
...
```json
{"streamSettings":{"sockopt": {"tcpUserTimeout": 10000}}}
```
run `gofmt -w -s .` as well
2023-04-22 20:41:43 -04:00
Vigilans
039e5f2078
Correctly implement quic sniffer's frame parsing
2023-04-17 11:55:35 -04:00
RPRX
b4c1a56026
XUDP practice: MUST check the flag first & Add more comments
2023-04-16 21:15:27 +00:00
yuhan6665
9f8e9e8e64
Add xudp buffer test
2023-04-15 20:22:10 -04:00
RPRX
b33b0bc89d
Allow multiple XUDP in Mux when using XTLS Vision (server side)
2023-04-12 23:20:38 +08:00
RPRX
01b7e5e9be
XUDP Global ID should be empty if "cone" is disabled (client side)
2023-04-12 23:20:26 +08:00
RPRX
24a2be43ef
Replace "only" with "xudpConcurrency" in Mux config
2023-04-10 10:36:07 +08:00
yuhan6665
05d24d6827
Amend XUDP related logs
...
- Useful for debug XUDP improvements
- Move XUDP log in core log
- Freedom connection log show local port
2023-04-09 13:29:39 -04:00
RPRX
76b27a37cb
Update common/xudp/xudp.go and common/mux/server.go
2023-04-07 19:13:20 +08:00
RPRX
be23d5d3b7
XUDP protocol: Add Global ID & UoT Migration
...
The first UoT protocol that supports UoT Migration
Thank @yuhan6665 for testing
2023-04-06 10:21:35 +00:00
世界
55efac7236
Reformat code
2023-03-17 13:17:08 +08:00
RPRX
00c9576118
Use go:linkname in qtls_go118.go
...
Once and for all, whatever
2023-02-04 21:27:13 +08:00
RPRX
f176ec54ee
v1.7.3
2023-02-02 05:50:21 +00:00
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
2023-01-30 04:35:30 +00:00
Hellojack
717518cb5f
Refine the logic of security type AUTO ( #1509 )
2023-01-09 11:14:03 +00:00
RPRX
7b8ff01114
Make sure that 0 <= b.start <= b.end
...
Fixes https://github.com/XTLS/Xray-core/issues/1501
2023-01-09 08:51:51 +00:00
RPRX
ff5ce767df
Revert "add file soft link path resolve support ( #1482 )" ( #1495 )
...
This reverts commit eaf401eda9
.
2023-01-07 15:11:23 +00:00
Nanyu
eaf401eda9
add file soft link path resolve support ( #1482 )
...
* add file soft link path resolve
* add configuration file soft link path resolve support
2023-01-03 10:52:11 -05:00
renahita6
3e4e050313
Fixed a bug that mux.Session could not be properly closed when receiving an End status.
2022-12-10 18:59:51 -05:00
degfw
d3efd2d24f
fix: Replace "math/rand" with "crypto/rand" in padding generation( #2032 ) ( #1337 )
...
Co-authored-by: NaLan ZeYu <nalanzeyu@gmail.com>
2022-11-14 09:24:24 -05:00
yuhan6665
5e695327b1
Add XTLS RPRX's Vision ( #1235 )
...
* Add XTLS RPRX's Vision
* Add helpful warning when security is wrong
* Add XTLS padding (draft)
* Fix number of packet to filter
* Xtls padding version 1.0 and unpadding logic
2022-10-29 00:51:59 -04:00
yuhan6665
8117b66949
Generate all protos
2022-10-10 13:17:32 -04:00
yuhan6665
debd2e3ba8
Remove compatibility code
...
The minimum support go version is already 1.18
2022-09-16 20:39:07 -04:00
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 提交
2022-08-22 10:33:58 -04:00
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>
2022-08-20 09:02:18 -04:00
世界
c4a307e84d
Refactor to stdlib error unwrap method
2022-06-01 11:03:06 +08:00