Commit Graph

58 Commits

Author SHA1 Message Date
Shelikhoo ba2dd5995d
replace TypedMessage with anypb.Any 2021-09-04 11:13:28 +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 ea5bb04acf
incorporate changes in router implementation 2021-09-04 11:12:32 +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
Jebbs b05a469488
v5: Remove v2ctl & wv2ray (rebased from 7c1ab06206) 2021-09-04 11:09:55 +01: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
Shelikhoo d7c9a98d76
apply coding style 2021-04-13 16:06:48 +01:00
Shelikhoo 459a914ab7
apply coding style 2021-04-08 23:18:23 +01:00
loyalsoldier cb4dd644fc
Chore: fix MphDomainMatcher log 2021-03-16 19:21:14 +08:00
kslr 68f04295f9 Route: mph add alias hybrid 2021-03-15 15:27:40 +08:00
DarthVader ac1e5cd925
Add minimal perfect hash domain matcher (#743)
* rename to HybridDomainMatcher & convert domain to lowercase

* refactor code & add open hashing for rolling hash map

* fix lint errors

* update app/dns/dns.go

* convert domain to lowercase in `strmatcher.go`

* keep the original matcher behavior

* add mph domain matcher & conver domain names to loweercase when matching

* fix lint errors

* fix lint errors
2021-03-15 15:21:38 +08:00
Loyalsoldier e46204f828
Chore: fix lint according to golangci-lint errors (#781)
* Chore: fix lint according to golangci-lint errors
* Chore: regenerate pb.go files
2021-03-14 07:44:47 +08:00
Shelikhoo e24ddf588e
Create a name for linear domain matcher 2021-03-07 13:39:36 +00:00
Shelikhoo 0043dd6685
rename config for NewACAutomatonDomainMatcher to hybrid 2021-03-05 18:36:36 +00:00
Shelikhoo e65f96fa6b
output debug message when ACAutomatonDomainMatcher is enabled. 2021-03-03 22:56:12 +00:00
Shelikhoo 9d653dc708
Apply domain selector choice 2021-03-03 22:27:23 +00:00
Loyalsoldier f94dd11a8c
Chore: change module name (#677) 2021-02-17 04:31:50 +08:00
DarthVader de618121ad
Refactor: A faster DomainMatcher implementation (#587)
* a faster DomainMatcher implementation

* rename benchmark name

* fix linting errors
2021-01-20 15:53:07 +08:00
Vigilans f9d37b724c Extract session information during routing as routing context 2020-09-04 11:32:19 +08:00
Vigilans 40c0bcc3ab Support source port matching in routing config 2020-08-09 16:53:45 +08:00
Darien Raymond 02d8845093
add scripting support for attributes matching 2019-02-28 14:04:43 +01:00
Darien Raymond 0d31a68694
extract all session context before checking conditions 2019-02-28 09:28:55 +01:00
Darien Raymond 95583b5031
support range list in routing rule 2019-02-24 23:43:00 +01:00
Darien Raymond 1ab94fed79
optimize v2ctl size 2019-02-01 20:08:21 +01:00
Darien Raymond 769f770cf7
migrate NetworkList to []Network 2018-11-20 16:58:26 +01:00
Darien Raymond 7b80322b60
fix function signature 2018-11-20 16:12:14 +01:00
Darien Raymond 2cc92920fa
test case for balancer 2018-11-07 21:25:43 +01:00
Darien Raymond 73d3be424b
prototype for balancing rules 2018-11-07 21:08:20 +01:00
Darien Raymond 41956e92a5
migrate to the new geoip matcher 2018-11-01 21:43:16 +01:00
Darien Raymond 15cd999ed3
comments 2018-11-01 10:39:03 +01:00
Darien Raymond c73e899f54
prototype for high performance geoip matcher 2018-11-01 09:10:41 +01:00
Darien Raymond ee74256aac
sort.Interface for CIDR list 2018-11-01 08:44:11 +01:00
Iskander Sharipov 4dfe45ec19 app/router: rewrite if-else chain to switch
From effective Go: https://golang.org/doc/effective_go.html#switch

> It's therefore possible—and idiomatic—to write an if-else-if-else chain as a switch.
2018-10-01 12:07:19 +03:00
Darien Raymond fca324a399
fix build break 2018-08-19 22:28:02 +02:00
Darien Raymond edcf564dd7
improve performance of domain matcher 2018-08-19 21:04:15 +02:00
Darien Raymond ecd45ffb65
propagate error when adding domain condition 2018-07-17 17:53:24 +02:00
Darien Raymond c0e37ef34a
prototype for new sniffing mechanism 2018-07-16 13:47:00 +02:00
Darien Raymond 758723516e
reorder condition list to short circuit IP resolution if possible.
Fix #1021
2018-04-06 15:56:53 +02:00
Darien Raymond 2bf5a008f0
fix error levels 2017-12-27 22:25:12 +01:00
Darien Raymond 6b77e14bf6 cachable domain matcher, step 1 2017-11-06 21:12:28 +01:00
Darien Raymond 52ad41cda3 completely move away from net package 2017-08-29 14:32:54 +02:00
Darien Raymond 815019f6da rename IPNet to IPNetTable 2017-08-29 13:51:09 +02:00
Darien Raymond 069837417f
test case for routing rule 2017-05-17 13:24:53 +02:00
Darien Raymond a0bde091d4
sub domain matcher 2017-05-08 12:18:13 +02:00
Darien Raymond a0ac334703
refactor 2017-05-08 11:48:41 +02:00
Darien Raymond 68bc9ea8e4
cleanup error messages 2017-04-09 15:04:04 +02:00
Darien Raymond 35248497d2
refactor error messages 2017-04-09 01:43:25 +02:00
Darien Raymond ca721230e1
split listening settings from inbound proxies and apply context 2017-01-26 20:46:44 +01:00
Darien Raymond efb24a4d21
rewrite error lib 2016-12-04 09:10:47 +01:00