Commit Graph

128 Commits

Author SHA1 Message Date
Aubrey Yang
828ba83ef3
Optimizations on the Round Robin strategies
Implemented optimizations on the Round Robin proxy selection strategies to enhance performance and stability under varying network conditions and proxy availabilities.

Dynamic Update Mechanism: Integrated an event-driven approach that triggers the proxy list update process when significant changes in proxy status are detected, rather than on every touch.

Memory and Performance: Optimized the management of the available proxies list to update in-place where possible.

Load Distribution: Improved the fairness in proxy usage by introducing a weighted round-robin mechanism that accounts for proxy response times and error rates, ensuring a more balanced load across the proxies.
2024-04-17 18:20:30 +09:00
Larvan2
19f7220c0b chore: adjust testURL priority 2024-04-06 11:49:46 +08:00
riolurs
90bf158e9f fix(group.parser): set default TestURL if empty 2024-04-05 01:51:18 +08:00
xishang0128
04886761a2
chore: Add max-failed-times 2024-03-07 03:35:11 +08:00
Larvan2
8d9eb1e534 chore: get HealCheckURL from pd if groupOption URL is empty 2024-02-25 14:28:27 +08:00
Larvan2
d2a5376cb8 revert: "modify default url"
This reverts commit 3d643cb95a.
2024-02-24 13:50:53 +08:00
xishang0128
1025101954
chore: add timeout option 2024-01-24 12:45:35 +08:00
xishang0128
e86567ead2
chore: limit the default url 2024-01-20 19:43:10 +08:00
wwqgtxx
0e1bdb07d4 chore: rewrite IntRanges constructor 2024-01-20 11:00:06 +08:00
xishang0128
ffcd672ebf
chore: return more information for the api 2024-01-07 23:32:22 +08:00
xishang0128
1d3e9f4889
feat: add include-all to proxy-groups 2023-12-31 09:43:52 +08:00
xishang0128
3d643cb95a
chore: modify default url 2023-12-31 07:39:17 +08:00
PuerNya
1701e4715d fix: stop using insert url when get urltest delay 2023-12-27 14:24:21 +08:00
xishang0128
0d07cf40b8
fix: try fixing automatic policy 2023-12-26 03:49:00 +08:00
Larvan2
ac381736a5 chore: restore function name to AliveForTestUrl 2023-12-22 21:18:17 +08:00
Larvan2
08a1f10af4 Merge PR #860 into Alpha 2023-12-22 21:11:07 +08:00
Larvan2
d80fcb77f6 chore: health check for compatible providers after startup 2023-12-09 18:58:36 +08:00
tommytag
f63acc0202 healthcheck latency of the provider is also stored in the extra, without compromising rest api compatibility 2023-12-06 17:11:24 +08:00
Larvan2
1a0932c210 feat: support ARC for DNS cache 2023-12-03 08:37:05 +08:00
wzdnzd
cc6429722a return expected status through Rest API and clean useless code 2023-12-01 23:16:55 +08:00
Larvan2
117228fa8c feat: support REJECT-DROP 2023-11-18 13:17:15 +08:00
H1JK
1479b449df chore: Cleanup code 2023-11-17 23:12:10 +08:00
Steve Johnson
b73382f60a fix: fix android-arm64 build 2023-11-17 10:53:57 +08:00
Steve Johnson
9e96d70840 feat: share more code from android branch 2023-11-17 01:21:02 +08:00
Larvan2
7d222b1b71 fix: health check available for 'selector' if configured 2023-11-15 19:06:20 +08:00
xishang0128
288c0c27d6 feat: add include-all-providers to proxy-groups 2023-11-11 22:15:57 +08:00
wwqgtxx
17c9d507be chore: hello mihomo 2023-11-03 21:58:21 +08:00
wwqgtxx
7ed25ddc74 chore: better atomic using 2023-10-10 21:28:46 +08:00
Larvan2
73fa79bf3f feat: configurable TCPKeepAlive interval 2023-09-02 16:45:16 +08:00
H1JK
64b23257db chore: Replace murmur3 with maphash 2023-06-10 17:35:19 +08:00
wzdnzd
767aa182b9
When testing the delay through REST API, determine whether to store the delay data based on certain conditions instead of discarding it directly (#609) 2023-06-07 11:04:03 +08:00
タイムライン
dafecebdc0
chore: Something update from clash :) (#606) 2023-06-06 09:45:05 +08:00
wzdnzd
3c1f9a9953
ProxyProvider health check also supports specifying expected status (#600)
Co-authored-by: wwqgtxx <wwqgtxx@gmail.com>
2023-06-04 14:00:24 +08:00
wzdnzd
3ef81afc76
[Feature] Proxy stores delay data of different URLs. And supports specifying different test URLs and expected statue by group (#588)
Co-authored-by: Larvan2 <78135608+Larvan2@users.noreply.github.com>
Co-authored-by: wwqgtxx <wwqgtxx@gmail.com>
2023-06-04 11:51:30 +08:00
Larvan2
26acaee424 fix: handle manually select in url-test 2023-06-02 18:26:51 +08:00
wwqgtxx
89ae640487 fix: ensure group not empty 2023-05-19 19:57:55 +08:00
wwqgtxx
72a67ac534 chore: force set SelectAble when start load cache 2023-04-24 08:07:17 +08:00
wwqgtxx
7f1b7e7521 fix: smux should show its support udp and uot 2023-04-23 21:50:42 +08:00
wwqgtxx
40da1911d9 chore: using sync/atomic replace uber/atomic 2023-04-22 15:37:57 +08:00
wwqgtxx
7beb09153e chore: proxyDialer can add inner conn to statistic 2023-04-11 21:42:16 +08:00
wwqgtxx
90f95d7c78 chore: wireguard dns can work with domain-based server 2023-04-11 14:10:57 +08:00
wwqgtxx
92cc268209 chore: proxyDialer can limited support old dial function 2023-04-11 12:51:24 +08:00
wwqgtxx
87b9e3d977 feat: wireguard add dialer-proxy config to support chain forwarding 2023-04-10 08:54:10 +08:00
metacubex
2c09ce44f6 feat: urltest can be select by user 2023-04-08 02:04:16 +08:00
wwqgtxx
cd95cf4849 fix: firstWriteCallBackConn can pass N.ExtendedConn too 2023-04-01 20:56:49 +08:00
wwqgtxx
fe298bd53f fix: strategyRoundRobin not begin with zero 2023-03-10 12:47:01 +08:00
wwqgtxx
a454a7f736 fix: load-balance's touch not effected 2023-03-09 11:09:36 +08:00
wwqgtxx
e7613e4f8b fix: loadbalance panic 2023-03-01 14:04:42 +08:00
wwqgtxx
c1199f1a8a chore: add early conn interface to decrease unneeded write 2023-02-27 00:26:49 +08:00
wwqgtxx
75680c5866 chore: use early conn to support real ws 0-rtt 2023-02-24 09:54:54 +08:00