hax0r31337
f67167bb3b
refactor(deps): replace github.com/golang/protobuf with google.golang.org/protobuf
1 year ago
cty123
7aeca33729
fix: revert previous change on IsValid() function; add validation in getUoTConnection();
1 year ago
yuhan6665
a6c5c57930
Support regex matching with attr ( #2258 )
...
* Support regex matching with attr
* Add test case
* Optimizing regex parsing at core start
* simpliy
1 year ago
RPRX
ee21763928
Run "go fmt ./..."
1 year ago
RPRX
62e881b01a
5*60 -> 2*60
1 year ago
yuhan6665
bf4b1fab3c
Simplify http attrabute matching
...
In the past, we use Starlark script, it is over engineered and barely used.
By switching to simple key value string contains logic we can reduce core size about 0.7MB
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
yuhan6665
a4e80f01e4
Add tls serverName to DoQ
1 year ago
dependabot[bot]
86b4b81f1d
Bump github.com/quic-go/quic-go from 0.34.0 to 0.35.1
...
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go ) from 0.34.0 to 0.35.1.
- [Release notes](https://github.com/quic-go/quic-go/releases )
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md )
- [Commits](https://github.com/quic-go/quic-go/compare/v0.34.0...v0.35.1 )
---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Zeyu Chen
bfd5da2f00
fix: dns empty response
2 years 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
f176ec54ee
v1.7.3
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
c4fbdf1b78
Run core/format.go
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
yuhan6665
5e323958b6
Unify dns log
2 years ago
世界
c3505632fd
Add udp over tcp support for shadowsocks-2022
3 years ago
世界
6f93ef7736
Remove useless error log
3 years ago
世界
398375d76f
Reformat code (quic sniffers)
3 years ago
yuhan6665
3f64f3206c
Quic sniffer ( #1074 )
...
* Add quic sniffer
* Fix quic sniffer
* Add uTP sniffer
* rename buf pool membership status to unmanaged
* rename buf type adaptor into FromBytes
Co-authored-by: 世界 <i@sekai.icu>
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
3 years ago
世界
f046feb9ca
Reformat code
3 years ago
pocketW
dcba88e511
fix fakedns is nil
3 years ago
pocketW
244db57398
fix proto file name conflict by adding package name
3 years ago
pocketW
3bfd6853f4
Fix memory leak caused by requiring component.
3 years ago
yuhan6665
b413066012
Fakedns fix xUDP destination override ( #1011 )
...
* Fix UDP destination override
* Fix code style
* Fix fakedns object init
Do type convertion at runtime in case if user don't use fakedns in config.
Since dispatcher now depend on fakedns object, move the injection order of
fakedns to top (As a temporary solution)
* Amend logic for handing fakedns client
A map is used by server side when client turn on fakedns
Client will send domain address in the buffer.UDP.Address, server record all possible target IP addrs.
When target replies, server will restore the domain and send back to client.
Co-authored-by: hmol233 <82594500+hmol233@users.noreply.github.com>
3 years ago
yuhan6665
4fb4dacae7
Reapply optimized log
3 years ago
yuhan6665
393d211d1e
Rename quic session to connection
...
Co-authored-by: 秋のかえで <autmaple@protonmail.com>
3 years ago
yichya
755268b7d4
fix: expvar error when observatory is not enabled & various typos
3 years ago
yichya
35eb165f63
feat: metrics including pprof, expvars
3 years ago
yuhan6665
c1a54ae58e
Fix a concurrency issue in fakedns
...
In rare cases different domains asking for dns will return the same IP. Add a mutex.
3 years ago
yuhan6665
496b2c02c5
Fix context api and document ( #727 )
...
* Fix Dial function crash instance when there is no instance context in the ctx
* check ctx to fix. (#841 )
* Feat: core.ToContext(ctx, v) for ctx initialization (#852 )
* remove exported API: toContext
* Remove unnecessary API
* rework document for API
* fix: make sure the ctx is propagated to connections by detached connection
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
Co-authored-by: rurirei <72071920+rurirei@users.noreply.github.com>
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
Machtergreifung
800b3bd3fe
chore fixed ( #895 )
...
* 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
yuhan6665
7c240e8630
Fix null pointer exception for observatory
...
Core setup router object first, when InjectContext() is called, observatory object is still null,
so observatory need to be injected after InjectContext()
3 years ago
lucifer9
d6ae4e9ba2
Make it easier to configure multiple listening ports
3 years ago
Zhu Sheng Li
28b17b529d
Add concurrency option for outbound observation
...
Add `enableConcurrency` option, false by default.
If it's set as `true`, start probing outbounds concurrently in every
circle of observation. Wait `probeInterval` between observation circles.
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
世界
5c366db847
Add observatory / latestPing balancing strategy
...
Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
3 years ago
Loyalsoldier
3fe61ed4a2
Feat: add reverse match for GeoIP
...
(cherry picked from commit 3a50affa0a7316a9ad249f1b2b2996cb88948551)
3 years ago
yuhan6665
0f0a424e8c
Fix: use sorted cidr list ( #1156 ) ( #773 )
...
Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
3 years ago