Commit Graph
380 Commits
Author SHA1 Message Date
Shelikhoo 85b04d1af9 Fix coding style lints 2024-03-15 20:19:18 +00:00
Shelikhoo 353326b432 Allow setting permission on CopyFile helper 2024-03-15 20:18:55 +00:00
Mark MaandGitHub a339721af8 feat: RandomStrategy AliveOnly (#2850)
* feat: strategy_randomalive

* feat: RandomStrategy AliveOnly

* fix: unobserved candidate not alive

* fix: StrategySettings nil panic

* fix: TestRouterConfig

* fix: alive_only typo
2024-03-10 11:00:06 +00:00
AlloandXiaokang Wang (Shelikhoo) 527a12d24e fix(conf): add Windows support for Unix Domain Socket 2024-03-10 10:56:34 +00:00
Xiaokang Wang (Shelikhoo)andGitHub b6da3e86a5 Shadowsocks2022 Client Implementation Improvements (#2770)
* Shadowsocks2022 Client Implementation Improvements

1. Added UDP Replay Detection
2. Added UDP Processor State Cache
3. Added More Detailed Output for Time Difference Error
4. Replaced Mutex with RWMutex for reduced lock contention
5. Added per server session tracking of decryption cache and anti-replay window
6. Adjust server session track time
7. Increase per session buffer to 128
8. Fix client crash when EIH is not enabled
9. Fix client log contains non-human-friendly content
10.Remove mark and remove for trackedSessions
11. Fixed packet size uint16 overflow issue
2023-11-24 00:40:07 +00:00
Shelikhoo b583ef45b1 make domain strategy in v5 less forgiving to reduce complexity 2023-11-19 00:55:39 +00:00
57a4c324e742andXiaokang Wang (Shelikhoo) 1f449e2014 Add DomainStrategy for JSONv5 outbound 2023-11-19 00:55:39 +00:00
57a4c324e742andXiaokang Wang (Shelikhoo) 620c2c1e37 Add DomainStrategy for JSONv5 outbound 2023-11-19 00:55:39 +00:00
pathCandXiaokang Wang (Shelikhoo) 1ef0ee170d Chore: support the new versioning scheme of Protobuf
Protobuf has changed their versioning scheme to language-specific one. For Golang, the first version applied the scheme would be 4.21.0 which followed the preceding version,3.20.1. Basically the major part is language-specific and no longer important.
Check more:
https://protobuf.dev/news/2022-05-06/
https://github.com/protocolbuffers/protobuf/issues/11440
https://github.com/protocolbuffers/protobuf/issues/11123
2023-10-24 19:47:14 +01:00
OurebiKitsuandXiaokang Wang (Shelikhoo) b0919678b3 fix: improve error messages when parsing config in jsonv5 2023-10-23 20:29:30 +01:00
guangwuandGitHub 39d2f293c6 chore: remove refs to deprecated io/ioutil (#2717)
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-10-16 10:23:50 +08:00
VigilansandShelikhoo 882a363b85 DomainStrategy support for all outbounds 2023-02-19 13:34:15 +00:00
mydogshitgoldandShelikhoo 5893d2f3a6 feat: add option to override destination of access log
When SystemPolicy.OverrideAccessLogDest is enabled, destination host
in access log will be replaced with sniffed host. (#866)
2023-02-19 12:26:33 +00:00
VigilansandGitHub 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
VigilansandGitHub 5604863859 DNS: Support specifying domain matcher (#1979) 2022-11-30 14:34:24 +08:00
VigilansandGitHub 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
JebbsandGitHub 9bbc3af6cd Fix: config merger fixes (#2084) 2022-11-05 19:12:11 +08:00
Huang-Huang BaoandXiaokang Wang (Shelikhoo) f0236233f3 Fix: json.Reader: fill output bytes as much as possible
Fix JSON parsing state machine so Read([]byte) can accept byte array of any length.

This fixes a infinite read with io.ReadFull().
2022-09-07 10:50:17 +01:00
Shelikhoo e3424a5ec8 chore: normalize generated .pb.go file to reduce unnecessary change 2022-09-06 20:26:52 +01:00
秋のかえでandGitHub 8c6dfb2b6f Fix: V5 config register (#1879) 2022-07-21 22:05:30 +08:00
秋のかえでandGitHub 5157e5fffe Fix: load auto format config with io.Reader (#1773) 2022-07-21 21:56:50 +08:00
秋のかえでandGitHub 79320d34d4 Chore: bump gopkg.in/yaml.v2 to gopkg.in/yaml.v3 (#1828)
* Chore: bump gopkg.in/yaml.v2 to gopkg.in/yaml.v3

* Test: fix YAML test

* Test: refine json_test style
2022-07-13 21:21:32 +08:00
世界 fc6ae4d4e7 Fix lint 2022-06-28 21:36:12 +08:00
秋のかえでandXiaokang Wang (Shelikhoo) 2e1d542a5c Feat: add bytes support to v5 configuration 2022-06-25 19:43:51 +01:00
秋のかえでandXiaokang Wang (Shelikhoo) 28d197b6f3 Feat: add JSONC support to v5 configuration 2022-06-25 19:43:51 +01:00
Shelikhoo 3673ed2be8 Fix: Support both dokodemo inbound config types 2022-06-25 19:41:45 +01:00
Huang-Huang BaoandXiaokang Wang (Shelikhoo) 4ea9a5638e Fix: correct a type assertion of dokodemo simplified config
Fixes tproxy not working with jsonv5 config
2022-06-25 19:40:08 +01:00
LoyalsoldierandGitHub 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 f965d25af2 add jsonConf support for bindToDevice, bufSize 2022-01-23 20:33:01 +00:00
Shelikhoo 3ef7feaeaf update version: auto replacement to v5 path 2022-01-02 15:16:23 +00:00
Bo HeandGitHub b057a37fd6 fix some typo (#1482) 2021-12-27 12:33:08 +08:00
Shelikhoo 4cf9992f89 add TCP Keep Alive support in config 2021-11-28 22:49:02 +00:00
秋のかえで 801d4a1d60 Chore: fix lint 2021-11-28 16:55:37 +08:00
LoyalsoldierandGitHub dce8764fd7 Lint: fix lint (#1427)
* Lint: replace golint with revive
* Lint: fix lint
2021-11-27 17:16:41 +08:00
LoyalsoldierandGitHub 43447aa2e4 Chore: format code to fix lint (#1426) 2021-11-27 14:32:07 +08:00
世界andShelikhoo dbc26775c9 Add quic sniffer 2021-11-13 14:21:57 +00:00
世界 a66bb28aee Reformat code 2021-10-28 18:34:19 +08:00
Shelikhoo 37f1b98cb2 relax test for mixed type content
Whether to allow mixed type data is contested. Since V2Ray does not use this kind of mix content in array by design, relaxing this test to avoid test break.
https://github.com/toml-lang/toml/issues/553
2021-10-21 23:34:53 +01:00
Shelikhoo f7ba3d0341 fix test break for TOML JSON convertion
Based on https://github.com/pelletier/go-toml/blob/352072d51afc24d769bd644d0ee25b5f77749fa7/cmd/tomljson/main.go#L56

Commit 0f7345ba76 updated toml library version, however, the library have changed its check logic for input. This issue is now fixed.
2021-10-21 23:30:35 +01:00
世界andShelikhoo cdb14de63e Apply timeout to dns outbound (#1330)
Cherry-pick from 7b0699e8a5
2021-10-20 23:22:42 +01:00
Shelikhoo ee185a5824 rework protocol buffer log settings 2021-10-02 22:29:37 +01:00
Shelikhoo a9979057dc fix torjan protobuf version
We could migrate to v2 version of protobuf interface now, but it would cause additional trouble. A quick fix is applied.
2021-09-28 18:34:56 +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
秋のかえでandShelikhoo be4dd56ac7 Feat: custom TCP Fast Open queue length (#1293)
* Feat: custom TCP Fast Open queue length

* Feat: change default TFO queue length to 4096
2021-09-27 22:49:08 +01:00
世界andShelikhoo f383f896ed Add disableFallbackIfMatch dns option 2021-09-27 22:10:54 +01:00
世界andShelikhoo 9ee66f7efe Add socks4/4a support 2021-09-27 21:54:29 +01:00
Ye ZhihaoandShelikhoo 1919d47649 cherry-pick adjustment for uint socket mask 2021-09-27 21:39:29 +01:00
Shelikhoo 89d9eba1a9 use custom loading rules for router 2021-09-09 14:45:19 +01:00
Shelikhoo e314b1ef2f Revert "rename gun, ws to full name"
This reverts commit d4d6e16295.
2021-09-07 16:36:26 +01:00