Commit Graph

1169 Commits

Author SHA1 Message Date
Allo 4f2fc729ce
fix(app/log): prevent close of closed channel
The close of `done` channel may be called many times.
And the handler will be blocked when the log client exists and the
closure func is still not be called.
So use context to resolve those two problems.
2023-02-06 20:15:49 +00:00
mydogshitgold 75ece5b6f6
fix: dns.Hostmapping in JSONv5 config treats ip as Base64 (#2107) 2023-02-05 20:42:16 +00:00
秋のかえで 07ed4e0d29
Chore: use Go 1.20 (#2297) 2023-02-03 17:08:53 +08:00
Shelikhoo 001aace748
Fix Server Name not Supplied to Security Engine for TCP Transport 2023-01-14 15:27:16 +00:00
Shelikhoo de55f3a675 Use security engine for (tls like) security client without transport 2022-12-24 21:52:23 +00:00
Vigilans f8ac919d66
[app/dns] Support per-client configuration for fakedns (#2212)
* Move `filterIP` from `hosts.go` to `dnscommon.go`

* Implement adding pools for fakedns.HolderMulti

* Implement per-client fakedns for DNS app

* Remove `dns.ClientWithIPOption` and replace with new programming model

* Implement JSON config support for new fakedns config

* Fix lint and tests

* Fix some codacy analysis
2022-12-15 10:38:28 +08:00
Vigilans 32475d9239
[app/dns] Add tests for idn support (#2213)
Co-authored-by: kallydev <kallydev@gmail.com>

Co-authored-by: kallydev <kallydev@gmail.com>
2022-12-15 10:26:53 +08:00
Vigilans ac0d9480bd
[app/dispatcher] [proxy/dns] Support domain string validation (#2188) 2022-12-10 17:07:59 +08:00
Vigilans 5604863859
DNS: Support specifying domain matcher (#1979) 2022-11-30 14:34:24 +08:00
Vigilans d3b50bb989
Feat: [app/dns] Support per-client configuration (#1977)
* DNS: Support per-client configuration

* Add deprecated feature warnings for `skipFallback`, `disableCache`, `disableFallback`, `disableFallbackIfMatch`
2022-11-30 08:43:39 +08:00
秋のかえで 3c0aff73e8
Fix: logic of domain override 2022-11-29 09:55:55 +08:00
秋のかえで 82c42fc32c
Fix: HTTP sniff 2022-11-29 09:27:28 +08:00
秋のかえで 294efeefd7
Test: fix leastload strategy unit test 2022-11-03 20:30:28 +08:00
Jebbs f9422d60aa
fix selectLeastLoad() returns wrong number of nodes (#2083) 2022-10-20 12:00:21 +08:00
Bernd Eichelberger 5bc04f3269
feat: Replace default Health Ping URL to HTTPS (#1991) 2022-09-19 16:03:43 +08:00
Loyalsoldier 1643b486cb
Refactor: replace netaddr package with netipx (#1994) 2022-09-18 10:26:33 +08:00
Hork 1b0e046c99 Fix erroneous prefix checking 2022-09-07 10:51:00 +01:00
Huang-Huang Bao ddc6312c5d Fix: guard against nil pointer dereference of (*NetworkList) 2022-09-07 10:50:17 +01:00
Shelikhoo 137cd7093c
chore: regenerate protobuf file 2022-09-06 20:36:27 +01:00
秋のかえで adb7871f82
Feat: refine cipher and network config (#1436) 2022-08-19 20:41:18 +08:00
秋のかえで 7e1f461b74
Fix: length of DNS over QUIC (#1888) 2022-07-27 10:04:52 +08:00
秋のかえで e4cacab9d1 feat: change ALPN of DNS over QUIC 2022-07-21 21:55:17 +08:00
simpleandstupid 2614dd7383 Change the default port of Dns over Quic 2022-07-21 21:55:17 +08:00
世界 fc6ae4d4e7
Fix lint 2022-06-28 21:36:12 +08:00
世界 ebee459f1f
Fix ticker usage
ticker.Close does not close ticker.C
2022-06-28 20:13:30 +08:00
Huang-Huang Bao 5d3915c751 Fix: build routing condition for geo domain 2022-06-25 19:42:40 +01:00
Loyalsoldier d9125f91af
Fix: gci command for formatting code (#1757)
* Fix: gci command for formatting code
* Chore: format code
2022-05-01 00:47:14 +08:00
Shelikhoo dae391fa41 Fix Simplified Router Bug in Processing Rules 2022-04-28 19:32:55 +01:00
秋のかえで 84c31ba87f
Chore: bump github.com/lucas-clemente/quic-go from 0.26.0 to 0.27.0 (#1716) 2022-04-06 12:59:25 +08:00
秋のかえで b76b10b529
Fix: failure of cache expired DNS record querying over DoQ 2022-04-02 13:02:03 +08:00
秋のかえで 975f78a7ce
Feat: refine find IPs logic for DoH 2022-04-02 13:01:00 +08:00
KujouRinka 2dc4ee2d51
Fix: fix failure of cache expired DNS record querying over DoH (#1706) 2022-04-02 12:59:21 +08:00
秋のかえで dc69c9502d
Fix: context of DNS simplified config (#1665)
* Fix: context of DNS simplified config

* Lint: remove nolint flag
2022-03-09 10:59:18 +08:00
yuhan6665 6f8af37568
fix: a concurrency issue in fakedns (#1666)
In rare cases different domains asking for dns will return the same IP, Add a mutex.
2022-03-09 10:58:49 +08:00
Shelikhoo 1df432218e
fix fakedns is nil 2022-01-23 20:38:18 +00:00
Shelikhoo 17a5aaebe2 fix fakedns instance resolution leak by avoid using require 2022-01-14 11:21:52 +00:00
Shelikhoo 0f2da63f0c fix lint warnings in packetaddr 2022-01-03 15:55:18 +00:00
Shelikhoo c3b51710de disable fullcone capture packetaddr capture on connection with forward proxy 2022-01-03 15:55:18 +00:00
Shelikhoo c4f850f1a9 fullcone bug fixes 2022-01-03 15:55:18 +00:00
Shelikhoo 552a15085d add packet addr support in outbound handler 2022-01-03 15:55:18 +00:00
Shelikhoo bf8a0b7290 apply dispatcher interface 2022-01-03 15:55:18 +00:00
Shelikhoo ac65036808 refactor UDP dispatcher to support fullcone dispatcher 2022-01-03 15:55:18 +00:00
Shelikhoo 3ef7feaeaf
update version: auto replacement to v5 path 2022-01-02 15:16:23 +00:00
Machtergreifung 25ae87aad2
fix typo (#1512)
* fix typo

* fix typo

* fix typo

* fix typo

* fix typo

* fix typo

* fic typo
2022-01-02 13:36:07 +00:00
KujouRinka d24c276cc5
fix typo (#1503) 2022-01-02 17:16:12 +08:00
秋のかえで 36cfbed180
Fix: context of reverse (#1502) 2022-01-01 08:11:33 +08:00
秋のかえで 423d566024
fix typo 2021-12-23 13:14:43 +08:00
XGFan e3610870d1
replace same tag default outbound handler (#1437)
* replace old default handler with same tag

Signed-off-by: Guofan Xu <xuguofan@live.com>

* add warning log when replace outbound

* fix lint

Signed-off-by: Guofan Xu <xuguofan@live.com>
2021-12-11 11:22:38 +08:00
Loyalsoldier dce8764fd7
Lint: fix lint (#1427)
* Lint: replace golint with revive
* Lint: fix lint
2021-11-27 17:16:41 +08:00
Loyalsoldier 43447aa2e4
Chore: format code to fix lint (#1426) 2021-11-27 14:32:07 +08:00
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