Commit Graph

1169 Commits

Author SHA1 Message Date
Bo He f2b1b79283
Fix: raising no route matched log level to Warning (#1424) 2021-11-27 13:11:38 +08:00
世界 d781cc0cfd
Add uTP sniffer 2021-11-13 14:22:36 +00:00
世界 dbc26775c9
Add quic sniffer 2021-11-13 14:21:57 +00:00
Ye Zhihao d4da365c5f
Refactor: strmatcher module (#1333)
* Reorganize strmatcher's package structure

* Rename types in strmatcher package according to their file names

* Stablize strmatcher's Matcher interface

* Implement []matcherEntry as SimpleMatcherGroup

* Implement mph algorithm extracted from MphIndexMatcher as MphMatcherGroup

* Implement AddMatcher/AddFullMatcher/AddDomainMatcher/AddSubstrMatcher for each MatcherGroup

* Stablize strmatcher's MatcherGroup interface

* Stablize strmatcher's IndexMatcher interface

* Update strmatcher's benchmark

* Compatibility fix for app/router's DomainMatcher condition

* Fix code quality issue

* Fix basic matcher issues

* Update priority specification for Substr matcher
2021-10-31 18:01:13 +08:00
世界 a66bb28aee
Reformat code 2021-10-28 18:34:19 +08:00
Shelikhoo ee185a5824
rework protocol buffer log settings 2021-10-02 22:29:37 +01:00
Ovear 36df3b035c
Remove unnecessary log.
(cherry picked from commit b3e0d54630)
2021-09-30 15:30:21 +01:00
Ovear 9a8e113ad3
Fix: Remove udp conn twice
(cherry picked from commit 75eead5a6e)

See Also: https://github.com/v2fly/v2ray-core/pull/1305
https://github.com/v2fly/v2ray-core/issues/1297
2021-09-30 15:29:51 +01:00
Shelikhoo 2fcddf1966
return error if the tag is not found
The previous routine cause panic if the tag is not found. Thanks for report from mzz
2021-09-29 09:14:23 +01:00
Shelikhoo 82e730bb70
fix: switch away from ioutil 2021-09-28 18:12:40 +01:00
Shelikhoo 0c3105691f
refactor: move from io/ioutil to io and os package (#1298)
Author: Eng Zer Jun <engzerjun@gmail.com>
Date:   Mon Sep 27 00:56:31 2021 +0800

    refactor: move from io/ioutil to io and os package (#1298)
2021-09-27 23:02:19 +01:00
世界 8cc6fbc6f9
Fix queryStrategy ignored (#1285) 2021-09-27 22:13:40 +01:00
世界 f383f896ed
Add disableFallbackIfMatch dns option 2021-09-27 22:10:54 +01:00
Loyalsoldier 41ae53e60d
Fix: IP length not deterministic (#1267)
The length of IPv4 address in Go standard library could be 16
if it is in IPv6-mapped-IPv4 format.

(cherry picked from commit c58a372d93)
2021-09-27 21:53:49 +01:00
Shelikhoo 0f7345ba76
adjustment: ♻️ refactor geoip match logic (#1157)
cherry-pick f1902165c7
2021-09-27 21:50:18 +01:00
Loyalsoldier a86415cb43
♻️ refactor geoip match logic (#1157)
cherry-pick f1902165c7
2021-09-27 21:43:05 +01:00
Shelikhoo 2fcc0ba1bb
add ip preprocessor logic 2021-09-18 21:04:30 +01:00
kslr 6216bd0acb
🎨 refine restful-api 2021-09-15 19:48:46 +01:00
Shelikhoo 6dc2dfb6c7
use custom loading rules for dns 2021-09-10 20:35:02 +01:00
Shelikhoo 89d9eba1a9
use custom loading rules for router 2021-09-09 14:45:19 +01:00
Shelikhoo e0c76fd1e6
integrate chi restful api 2021-09-08 19:37:06 +01:00
kslr c96096aa72
gin move to chi 2021-09-08 19:37:02 +01:00
Shelikhoo 434d9e8700
add grpc service register 2021-09-07 14:43:45 +01:00
Shelikhoo 8ed83b6d0a
register commander 2021-09-07 14:33:00 +01:00
Shelikhoo eeaa1e96e4
add register for reverse, instman, fakedns 2021-09-07 14:19:56 +01:00
Shelikhoo 98ee44befd
update test for router refactor 2021-09-07 13:43:28 +01:00
Shelikhoo 3c56a7f947
register observatory: auto generated 2021-09-07 13:19:43 +01:00
Shelikhoo 62eaa9a8cc
register observatory 2021-09-07 13:19:31 +01:00
Shelikhoo 68c8759f4b
add custom jsonpb unmarshaler for multi-observatory 2021-09-07 13:16:47 +01:00
Shelikhoo df03970c22
register multi observatory 2021-09-07 13:03:03 +01:00
Shelikhoo 6c934f9db0
register strategy config 2021-09-07 11:48:24 +01:00
Shelikhoo 30648c3e07
added custom balancer settings processing logic 2021-09-07 11:42:45 +01:00
Shelikhoo 5182727054
fix CountryCode not set 2021-09-07 11:09:34 +01:00
Shelikhoo 68f28b1913
refactor common router structure into separate package 2021-09-07 09:13:58 +01:00
Shelikhoo fd63ad7160
added simplified config register 2021-09-07 08:42:34 +01:00
Shelikhoo cbdb3113a3
fix dns register as log 2021-09-07 08:05:18 +01:00
Shelikhoo 350ac46b41
update dns to adapt to protobuf change 2021-09-07 08:03:29 +01:00
Shelikhoo 935cf69fb1
update router to adapt to protobuf change 2021-09-07 08:01:40 +01:00
Shelikhoo aa17eacc8d
register dns 2021-09-07 08:00:17 +01:00
Shelikhoo b819ac60b9
added simplified config for dns and router 2021-09-06 22:34:28 +01:00
Shelikhoo 845d031357
register log: auto generated 2021-09-06 16:54:20 +01:00
Shelikhoo 28e01f38bb
register log 2021-09-06 16:54:01 +01:00
Shelikhoo 6246b97494
rename reverse match to inverse match 2021-09-06 15:37:47 +01:00
Shelikhoo 31f3edd481
add service registration for policy: auto generated 2021-09-06 14:49:14 +01:00
Shelikhoo 72059d42a6
add service registration for policy 2021-09-06 14:49:01 +01:00
Shelikhoo 9f8f420ed3
return on prefix mismatch 2021-09-06 14:16:21 +01:00
Shelikhoo 07c96195cf
added instance state to restful controller 2021-09-06 14:04:30 +01:00
Shelikhoo 8c857858dc
added implementation registration for stats: auto generated 2021-09-06 14:02:13 +01:00
Shelikhoo 78ef0c89b5
added implementation registration for stats 2021-09-06 14:02:00 +01:00
Shelikhoo 13f05c1b9d
added service registration 2021-09-06 13:42:05 +01:00
Shelikhoo 779a7c84ed
added service initialization 2021-09-06 13:40:44 +01:00
Shelikhoo ea1099d924
integrate restful api with v2 service: auto generated 2021-09-06 13:11:50 +01:00
Shelikhoo 75a571a4ce
integrate restful api with v2 service 2021-09-06 13:11:30 +01:00
kslr d277e566e0
add restful-api 2021-09-06 12:27:29 +01:00
Shelikhoo 7b4b661d6f
register browser forwarder: auto generated 2021-09-05 11:36:00 +01:00
Shelikhoo 0aa7e26b5a
register browser forwarder 2021-09-05 11:35:04 +01:00
Shelikhoo b90ae53c7d
updated converter support for v5json 2021-09-05 11:27:56 +01:00
Shelikhoo 1f70ab99e8
fix error typo for browser forwarder(Sec-Websocket-Protocol) 2021-09-05 10:31:40 +01:00
Shelikhoo b8e81f01fa
Reapply typo fix from becbc3a3e2 2021-09-04 11:54:34 +01:00
Shelikhoo db19747d96
reverting use pointer for small data structure 2021-09-04 11:53:05 +01:00
Shelikhoo becbc3a3e2
Revert "DNS: fix typo & refine code (#1183)"
This reverts commit 73470e8dd8.
2021-09-04 11:49:10 +01:00
Shelikhoo 9b0f8b7747
Revert "Fix: DNS return value (#1242)"
This reverts commit 46fa8f7480.
2021-09-04 11:47:13 +01:00
Shelikhoo 484dc4e488
reverting commit 50bcb683 2021-09-04 11:46:14 +01:00
Shelikhoo e0700ccc4b
regenerate protobuf file 2021-09-04 11:26:13 +01:00
Shelikhoo c7c4effbd2
instance manager: create instance with API(fix) 2021-09-04 11:13:52 +01:00
Shelikhoo 3940b6f156
instance manager: create instance with API 2021-09-04 11:13:52 +01:00
Shelikhoo 1531cb0ca4
update protobuf version 2021-09-04 11:13:51 +01:00
Shelikhoo a4e6fe5a94
reference google version of protobuf library 2021-09-04 11:13:31 +01:00
Shelikhoo 881571374d
rename Router Enum name Domain to prevent name collision
This creates build break in C++ environment.
2021-09-04 11:13:31 +01:00
Shelikhoo ba2dd5995d
replace TypedMessage with anypb.Any 2021-09-04 11:13:28 +01:00
Shelikhoo b61d55c6a7
fix strategy least load 2021-09-04 11:12:36 +01:00
Shelikhoo 8adb3dc5a6
fix strategy selector 2021-09-04 11:12:36 +01:00
Shelikhoo fc8d23bcc5
added apply least ping strategy 2021-09-04 11:12:35 +01:00
Shelikhoo ab803000e7
bug fix for observer 2021-09-04 11:12:35 +01:00
Shelikhoo 9f984cade0
observer: auto generated 2021-09-04 11:12:35 +01:00
Shelikhoo e38839aaf9
remove duplicated targeted dispatch 2021-09-04 11:12:35 +01:00
Shelikhoo 44040ca684
return zero length value when observer is not found 2021-09-04 11:12:35 +01:00
Shelikhoo 1de2466c60
add support for tagged observer: fix 2021-09-04 11:12:35 +01:00
Shelikhoo 89a82ece8b
add support for tagged observer 2021-09-04 11:12:34 +01:00
Shelikhoo 44a11b5352
add tagged observer support in api: auto generated 2021-09-04 11:12:34 +01:00
Shelikhoo 871373c450
add tagged observer support in api 2021-09-04 11:12:34 +01:00
Shelikhoo 4c42396ca0
log: auto generated 2021-09-04 11:12:34 +01:00
Shelikhoo 4b89f9085f
multi-observer aware load balancer strategy 2021-09-04 11:12:33 +01:00
Shelikhoo 3401963b57
multi-observer 2021-09-04 11:12:33 +01:00
Shelikhoo 775b9f54df
update API command 2021-09-04 11:12:33 +01:00
Shelikhoo 81462f7b65
added unstable declaration for follow log 2021-09-04 11:12:33 +01:00
Shelikhoo b122200c2a
support principle target output 2021-09-04 11:12:32 +01:00
Shelikhoo ea5bb04acf
incorporate changes in router implementation 2021-09-04 11:12:32 +01:00
Shelikhoo 24a5e34ce0
add initialization for health ping 2021-09-04 11:12:32 +01:00
Shelikhoo b797eb427a
moving health ping to observatory as a standalone component: auto generated file 2021-09-04 11:12:32 +01:00
Shelikhoo 9cb1566a78
moving health ping to observatory as a standalone component 2021-09-04 11:12:30 +01:00
Shelikhoo 718d6f32bf
update coding style 2021-09-04 11:12:04 +01:00
loyalsoldier a5224a2bb7
Chore: remove build tag !confonly 2021-09-04 11:12:02 +01:00
Jebbs 2523d77919
improve commands
(rebased from ebbf31f07e)
2021-09-04 11:11:45 +01:00
Jebbs fa0cf6db26
v5: Health Check & LeastLoad Strategy (rebased from 2c5a714903)
Some changes will be necessary to integrate it into V2Ray
2021-09-04 11:11:45 +01:00
loyalsoldier a95bb95267
Remove !confonly build tag 2021-09-04 11:11:43 +01:00
young-zy 12dfbc78a3
Update protobuf version (rebased from 6d25d51519)
Some change is not adopted since it would break the code base. These changes will be reintroduced at a later date.
2021-09-04 11:09:58 +01:00
Jebbs b05a469488
v5: Remove v2ctl & wv2ray (rebased from 7c1ab06206) 2021-09-04 11:09:55 +01:00
Loyalsoldier 46fa8f7480
Fix: DNS return value (#1242) 2021-08-29 16:24:10 +08:00
秋のかえで 50bcb6831c
Fix: response AAAA records in TypeA query (#1235) 2021-08-26 23:39:59 +08:00
朱聖黎 (Zhu Sheng Li) 67cd3ac40e
Fix: keep probeInterval consistent for the same outbound (#1230) 2021-08-25 20:16:10 +08:00
秋のかえで 4f9415d001
Fix: DoQ local mode compatible with IP destination (#1226) 2021-08-23 19:46:19 +08:00
database64128 c78ee5aac7
🏡 Housekeeping: Update to Go 1.17 (#1215)
* ⬆ Update to Go 1.17

* 🏗 Update workflows and add windows-arm64

* 💾 Update generated files

* 📛 Update not-so-friendly filenames
2021-08-21 13:20:40 +08:00
ihotte 8f429c35cb
Fix: observatory log & JSON config(#1211)
Co-authored-by: ihotte <ihotte@yeah.net>
2021-08-19 13:40:47 +08:00
Loyalsoldier a783cd5f08
DNS: refine code (#1193) 2021-08-10 11:08:05 +08:00
rurirei 73470e8dd8
DNS: fix typo & refine code (#1183)
Co-authored-by: loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
2021-08-10 10:49:56 +08:00
Loyalsoldier 470acefef6
Fix: use sorted cidr list (#1156) 2021-07-22 10:43:21 +08:00
Shelikhoo e2d526cd8b
fix concurrent access crash for handler creator 2021-07-19 16:13:11 +01:00
朱聖黎 8fed55f69f
Fix: routing rule not applied for TCP DNS (#1144) 2021-07-16 15:13:58 +08:00
Shelikhoo 1409be04c2
regenerate protobuf files 2021-07-01 18:58:48 +01:00
Shelikhoo 54fc21e537
add custom probe interval for observer 2021-06-30 19:33:37 +01:00
Shelikhoo 4773e3a1ed
add custom probe URL support for observatory 2021-06-30 17:47:29 +01:00
Shelikhoo cf3688729e
show explicit error to users with a incorrect fake DNS setting. 2021-06-28 16:59:50 +01:00
Loyalsoldier d7a202a705
Lint: update linter config & fix code style (#1089)
* Lint: update linter config
* Fix: code style
2021-06-22 22:36:23 +08:00
Shelikhoo 9a03b425c9
apply coding style 2021-06-22 12:56:35 +01:00
秋のかえで f84a401704
Feat: DNS transport over TCP (#983)
* feat: DNS over TCP

* fix: DNS over TCP misbehaving

* fix: add a blank line after +build tag

* style: rename NewTCPLNameServer to NewTCPLocalNameServer

* style: add some comments

* style: format

Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
2021-06-04 20:09:06 +01:00
fanyiguan 09d900c753
Update strategy_leastping.go (#1019) 2021-05-25 14:48:13 +01:00
Loyalsoldier 6f8979d017
Style: format code by gofumpt (#1022) 2021-05-20 05:28:52 +08:00
Loyalsoldier 1cb9fd2999
Chore: little refinements (#973) 2021-05-05 07:28:09 +08:00
Shelikhoo 44514ebc1a
Merge branch 'dev-wsearlydatadiverse' 2021-05-04 22:50:06 +01:00
Shelikhoo 03b0c8efd9
use correct function for to context 2021-05-04 20:41:09 +01:00
Shelikhoo 758290314f
fix context related test issue 2021-05-04 20:34:06 +01:00
Shelikhoo 620d8f1fb5
remove context public interface 2021-05-04 20:22:13 +01:00
loyalsoldier 40f8e82204
refine 2021-05-04 19:19:43 +01:00
Shelikhoo 3ba9a5b4f5
Refine geodata related tests (#967)
(cherry picked from commit 7805ca2ac1)
2021-05-04 19:13:52 +01:00
Shelikhoo 9458963b5a
Revert "Refactor: memory-efficient geo file decoder (#934)"
This reverts commit 7e876709
2021-05-04 19:07:54 +01:00
Shelikhoo ace2c44c2b
Revert "Refine geodata related tests (#967)"
This reverts commit 7805ca2a
2021-05-04 19:07:35 +01:00
Loyalsoldier 7805ca2ac1
Refine geodata related tests (#967) 2021-05-04 16:30:23 +08:00
Shelikhoo fd203a2b54
debug issue with browser forwarder http header name checking 2021-05-01 16:07:03 +01:00
Shelikhoo af4eb8852a
update browser forwarder support 2021-05-01 15:50:20 +01:00
Loyalsoldier 980fb59878
Fix: observatory starts with empty config & fails to close (#957) 2021-05-01 22:28:23 +08:00
Loyalsoldier 411a50c8fa
Fix: multi FakeDNS Close method (#956) 2021-05-01 22:20:33 +08:00
Loyalsoldier 0d4479a72a
Fix: FakeDNS prints error with empty config (#955) 2021-05-01 21:44:12 +08:00
秋のかえで b68411f460
Fix: browserforwarder panics with empty config (#954)
Co-authored-by: loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
2021-05-01 20:50:30 +08:00
Loyalsoldier 625a15e03b
Chore: format code by new customized goimports (#950) 2021-05-01 11:15:39 +08:00
Loyalsoldier 7e876709fe
Refactor: memory-efficient geo file decoder (#934) 2021-05-01 07:59:29 +08:00
Shelikhoo 6af537ad32
apply coding style 2021-05-01 00:40:32 +01:00
Shelikhoo 7a6f887fe3
relocated browser forwarder interface 2021-05-01 00:06:10 +01:00
Shelikhoo dbfc2138e4
fix: make sure the ctx is propagated to connections by detached connection for udp dns 2021-04-28 16:44:01 +01:00
Shelikhoo d48cf1a648
fix: make sure the ctx is propagated to connections by detached connection 2021-04-28 16:29:19 +01:00
Shelikhoo 2e26cf6587
fix: make sure the ctx is propagated to connections 2021-04-28 15:43:43 +01:00
sixg0000d bad6cdfb88
Fix: fakedns return ErrEmptyResponse without result (#926) 2021-04-22 08:12:05 +08:00
Shelikhoo 8ba4ac15ac
fixed a panic issue caused by not checking type of input address in fake dns 2021-04-18 23:45:51 +01:00
Shelikhoo d7c9a98d76
apply coding style 2021-04-13 16:06:48 +01:00
Shelikhoo 8323add330
apply coding style 2021-04-13 15:50:29 +01:00
Shelikhoo 1e282944a6
apply coding style 2021-04-13 15:39:10 +01:00
Shelikhoo f5d2ddedb4
Merge branch 'dev-fakednsimprovement' 2021-04-13 15:14:47 +01:00
Shelikhoo 6dcdd2afad
Merge branch 'dev-advloadblancer-2' 2021-04-13 15:09:32 +01:00
Loyalsoldier 7790d33185
Fix: v2ray.location.asset env not working (#889) 2021-04-12 10:01:30 +08:00
Shelikhoo f5ac3741e9
fix building issue for v2ctl 2021-04-12 01:24:10 +01:00