Commit Graph
50 Commits
Author SHA1 Message Date
Shelikhoo 3ef7feaeaf update version: auto replacement to v5 path 2022-01-02 15:16:23 +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 98ee44befd update test for router refactor 2021-09-07 13:43:28 +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
Loyalsoldier 6f8979d017 Style: format code by gofumpt (#1022) 2021-05-20 05:28:52 +08: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
Loyalsoldier 7e876709fe Refactor: memory-efficient geo file decoder (#934) 2021-05-01 07:59:29 +08:00
Loyalsoldier 7790d33185 Fix: v2ray.location.asset env not working (#889) 2021-04-12 10:01:30 +08:00
Loyalsoldier 10ca68f277 Feat: remove geo files from repo & refine tests (#869) 2021-04-07 03:08:03 +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
DarthVader a31a8e6f89 A memory-efficient and fast hybrid matcher (#639)
* a faster DomainMatcher implementation

* rename benchmark name

* fix linting errors

* add hybrid matcher

* add rabin-karp algorithm

* rename test & fix linting errors

* add more comment

* format code

* revert `MatcherGroup` match func

* fix linting errors
2021-03-04 05:39:51 +08: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
Chinsyo 2ac380788b Some minor fixes (#433) 2020-11-20 01:02:52 +08:00
Vigilans 5a497890e6 Routing Context: Fix GetUser() & Use string for Attributes Value 2020-09-13 00:34:35 +08:00
Vigilans f9d37b724c Extract session information during routing as routing context 2020-09-04 11:32:19 +08:00
Felix Yan 7001483b62 Don't copy assets if they are already present
They can now reside in system path (like /usr/share/v2ray), so it's not
possible to copy into there.
2020-09-03 16:17:44 +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 7e5e080488 move sniffing result to session 2019-02-22 16:58:16 +01:00
Darien Raymond 4eb2b5e607 merge ext into core 2019-02-10 19:04:11 +01:00
Darien Raymond c9958681f7 remove dependency on assert lib 2019-01-31 20:57:01 +01:00
Darien Raymond 58221ebae1 optimize multi-geoip matcher 2018-11-07 23:57:06 +01:00
Darien Raymond c73e899f54 prototype for high performance geoip matcher 2018-11-01 09:10:41 +01:00
Darien Raymond ed2779e333 more test case for router 2018-10-22 20:59:01 +02:00
Darien Raymond 39134c1b82 remove unnecessary sleep 2018-10-22 16:14:00 +02:00
Darien Raymond 595f3d685e merge user info inbound metadata 2018-10-15 08:36:50 +02:00
Darien Raymond 94b880d060 move session based info into session package 2018-09-18 23:09:54 +02:00
Darien Raymond 54e1bb96cc introduce in-memory user 2018-08-27 00:11:32 +02: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 ef679bddbd test case 2018-08-02 13:28:13 +02:00
Darien Raymond cb0eb91f2b strmatcher 2018-06-26 21:57:41 +02:00
Darien Raymond a82ca019b2 release script relocation 2017-12-25 21:54:44 +01:00
Darien Raymond 5e27e3d260 gofmt 2017-12-03 01:04:38 +01:00
Darien Raymond 57648c145c cachable domain matcher: step 2 2017-11-06 22:30:56 +01:00
Darien Raymond 6b77e14bf6 cachable domain matcher, step 1 2017-11-06 21:12:28 +01:00
Darien Raymond 74cf833758 fully migrate to new assertion lib 2017-10-24 16:15:35 +02:00
Darien Raymond 661c0fc237 more test cases for router config 2017-05-17 21:46:57 +02:00
Darien Raymond fcafd4e8f8 test case for email 2017-05-17 13:28:22 +02:00
Darien Raymond 069837417f test case for routing rule 2017-05-17 13:24:53 +02:00
Darien Raymond 52216d0204 test case for domain matcher 2017-05-09 13:39:09 +02:00
Darien Raymond a0bde091d4 sub domain matcher 2017-05-08 12:18:13 +02:00