Commit Graph

553 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
xishang0128
e3b69b8ae2
chore: Make SubScriptioninfo query also follow Proxy 2024-04-12 04:58:07 +08:00
wwqgtxx
de38fa882c fix: dns outbound udp timeout 2024-04-09 14:26:14 +08:00
xishang0128
f3e23b1128 feat: Allow providers to set individual proxy and headers 2024-04-08 01:27:17 +08: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
wwqgtxx
c893e3c462 fix: IN-PORT not work in http inbound
https://github.com/MetaCubeX/mihomo/issues/1162
2024-04-04 21:25:27 +08:00
wwqgtxx
40f5c5b987 chore: don't retry when rejected loopback connection 2024-04-03 08:42:15 +08:00
wwqgtxx
eae1f05e88 fix: wireguard multi peers public key parse 2024-03-28 21:57:48 +08:00
wwqgtxx
9c08e936f9 fix: unmap 4in6 ip in wireguard 2024-03-22 00:33:38 +08:00
wwqgtxx
e1a5b93cce chore: rebuild wireguard server address resolve 2024-03-20 12:34:55 +08:00
wwqgtxx
7fd5902e6b chore: wireguard outbound only can set ip and ipv6 outside peers
https://github.com/MetaCubeX/mihomo/issues/522
2024-03-20 12:34:54 +08:00
wwqgtxx
5fdfde6a07 chore: ssh outbound add private-key-passphrase,host-key,host-key-algorithms
rename `privateKey` to `private-key` and support direct write private key value in config file
2024-03-13 08:30:41 +08:00
wwqgtxx
81c832ef9e chore: code cleanup 2024-03-12 15:14:56 +08:00
wwqgtxx
012e448562 fix: when hysteria2 set ports, port can be empty 2024-03-12 15:06:41 +08:00
wwqgtxx
7ad37ca0e3 fix: hysteria2 server domain resolve 2024-03-10 23:49:54 +08:00
keakon
feedc9ec66 feat: implement port hopping (#1064)
* implement port hopping using sing and sing-quic

* 更新quic-go

* 更新sing

* Update go.sum

---------

Co-authored-by: wwqgtxx <wwqgtxx@gmail.com>
2024-03-08 22:54:24 +08:00
wwqgtxx
5702d28cda chore: rebuild ssh outbound 2024-03-08 22:43:41 +08:00
TreviD
0bb5568de9 feat: add ssh outbound (#1087)
* feat: add ssh outbound

* fix: Modify the way to get dstAddr

---------

Co-authored-by: trevid <trevidmy@gmail.com>
2024-03-08 22:43:41 +08:00
wwqgtxx
fad1a08378 chore: dns outbound support tcp 2024-03-07 13:12:40 +08:00
xishang0128
04886761a2
chore: Add max-failed-times 2024-03-07 03:35:11 +08:00
wwqgtxx
8b9813079b chore: share RelayDnsPacket function code 2024-03-04 22:12:27 +08:00
wwqgtxx
69bf434e2c chore: vlessPacketConn should wrap ThreadSafePacketConn 2024-03-04 19:14:40 +08:00
wwqgtxx
e867497315 chore: rebuild DNS outbound code 2024-03-04 19:00:19 +08:00
sduoduo233
3ec23c1fc5
feat: Add DNS outbound to hijack DNS packets (#1078) 2024-03-04 18:21:50 +08:00
wwqgtxx
7eb16a098a chore: upgrade dependencies 2024-02-28 11:14:10 +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
6399347a63 chore: add some fields for override 2024-02-20 21:52:31 +08:00
wwqgtxx
e6011301b2 chore: rebuild slowdown code 2024-01-30 19:41:50 +08:00
tommy
947ad9b308
chore: store latency data more reasonably (#964) 2024-01-30 15:51:12 +08:00
wwqgtxx
d1337f39ed chore: slowdown wireguard dial retry 2024-01-30 15:29:48 +08:00
xishang0128
1025101954
chore: add timeout option 2024-01-24 12:45:35 +08:00
wwqgtxx
5c1404f78e chore: hysteria2 add udp-mtu option
default value is `1200-3` to match old version quic-go's capability
2024-01-22 20:56:28 +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
pretze
25d6ad220d
feat: add DSCP rule for Tproxy UDP packets (#996)
* feat: add `DSCP` rule for Tproxy UDP packets

* fix: fix compatibility issue with non_linux platform

* chore: remove redundant lines for DSCP
2024-01-20 10:19:42 +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
xishang0128
41a05d96a5
chore: add some fields for override 2023-12-26 01:45:32 +08:00
Larvan2
997663a4ad chore: avoid return nil. fix #930 2023-12-23 13:11:10 +08:00
Larvan2
59ab4fe745 chore: better Reject-Drop for UDP 2023-12-22 21:28:54 +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
wwqgtxx
429a03d986 chore: add loopback detect for direct outbound 2023-12-20 13:11:00 +08:00
H1JK
78e5d3229e chore: Remove the use of curve25519 package 2023-12-16 17:02:52 +08:00
Kuingsmile
7ee6809257 feat: Add LAN allowed and disallowed IP configurations (#861) 2023-12-13 00:13:17 +08:00