wwqgtxx
69454b030e
chore: allow disabled overrideAndroidVPN by environment variable DISABLE_OVERRIDE_ANDROID_VPN
2024-11-05 09:15:30 +08:00
wwqgtxx
e6d1c8cedf
chore: update sing-tun to v0.4.0-rc.5
2024-11-05 09:12:20 +08:00
wwqgtxx
fabd216c34
chore: update quic-go to 0.48.1
2024-11-05 08:58:41 +08:00
xishang0128
a86c562852
chore: Increase support for other format of ASN
2024-11-04 19:31:43 +08:00
wwqgtxx
3e966e82c7
chore: update quic-go to 0.48.0
2024-10-21 09:38:21 +08:00
wwqgtxx
b9171ade7f
chore: update sing-tun to v0.4.0-rc.4
2024-10-21 09:17:37 +08:00
xishang0128
95af5f7325
chore: change subscription-userinfo retrieval
2024-10-20 06:01:02 +08:00
xishang0128
ca3f1ebae6
fix: sticky-sessions may not be effective
2024-10-12 08:26:37 +08:00
ForestL
4437c8861c
chore: better getUpdateTime() for iterating all Geofiles ( #1570 )
2024-10-11 08:46:31 +08:00
xishang0128
57725078e0
chore: Adjust the error log for the search process
2024-10-11 07:35:51 +08:00
wwqgtxx
08dcef80bf
fix: mistaken using net.Dialer
...
https://github.com/MetaCubeX/mihomo/issues/1572
2024-10-09 12:04:56 +08:00
wwqgtxx
9fd63fe938
chore: update dependencies
2024-10-06 10:34:54 +08:00
wwqgtxx
8e6eb70e71
chore: temporary update general in ParseRawConfig and rollback before its retur
2024-10-06 00:21:00 +08:00
wwqgtxx
9937ae1002
fix: defaultNS not working in system dns
2024-10-05 14:20:54 +08:00
wwqgtxx
8f5a86410c
chore: cleanup unneeded setting in parseGeneral, move to executor
2024-10-05 13:58:49 +08:00
wwqgtxx
9286e21026
chore: rebuild external ui updater
2024-10-05 13:40:00 +08:00
wwqgtxx
c63a851bba
feat: add direct-nameserver
and direct-nameserver-follow-policy
in dns
section
2024-10-04 14:20:10 +08:00
wwqgtxx
4a16d22398
chore: no longer used net.DefaultResolver when dns
section is disabled, now is equally only "system://"
2024-10-02 14:45:06 +08:00
wwqgtxx
990de84391
chore: better atomic using
2024-10-02 14:45:06 +08:00
Skyxim
ecd8facd81
chore: add warning for unified delay test when second failed
2024-10-01 03:14:37 +00:00
wwqgtxx
a330fa1506
chore: disallow some restful api for CMFA
2024-09-30 13:08:50 +08:00
wwqgtxx
fc9d5cfee9
feat: add external-controller-cors
can config allow-origins
and allow-private-network
2024-09-29 17:13:43 +08:00
wwqgtxx
264713571d
chore: set 0o666 to unix socket file
2024-09-27 22:36:19 +08:00
wwqgtxx
a67c379884
chore: code cleanup
2024-09-27 21:42:06 +08:00
xishang0128
af5ad3254b
chore: Use DELETE to clear the proxy group fixed
2024-09-27 21:14:04 +08:00
wwqgtxx
acfc9f8baa
chore: reset resolver's connection after default interface changed
2024-09-27 20:36:00 +08:00
wwqgtxx
1633885794
chore: update dependencies
2024-09-27 20:36:00 +08:00
wwqgtxx
2afa2798b1
chore: allow set security descriptor of namedpipe by environment variable LISTEN_NAMEDPIPE_SDDL
2024-09-27 18:31:50 +08:00
wwqgtxx
cd2d1c6bb0
fix: skip-auth-prefixes
not apply on listeners when users
is unset
2024-09-27 18:10:05 +08:00
wwqgtxx
88bfe7cffe
feat: add external-controller-pipe
for windows
...
maybe useful for electron and tauri client, node.js and rust still not support AF_UNIX on windows
2024-09-27 16:09:03 +08:00
wwqgtxx
43cb48231a
cache: add dns cache in udp packet sender
...
reduce the cost of re-resolving DNS for each packet received and prevent the target IP from jumping between multiple resolution results
2024-09-26 22:21:59 +08:00
wwqgtxx
4fa15c6334
chore: ensures packets can be sent without blocking the tunnel
2024-09-26 11:21:07 +08:00
wwqgtxx
5812a7bdeb
chore: simplify the code
2024-09-25 21:37:15 +08:00
HamsterReserved
3922b17067
chore: deliver UDP packets from same connection in receiving order ( #1540 )
...
All UDP packets are queued into a single channel, and multiple
workers are launched to poll the channel in current design.
This introduces a problem where UDP packets from a single connection
are delivered to different workers, thus forwarded in a random order
if workers are on different CPU cores. Though UDP peers normally
have their own logic to handle out-of-order packets, this behavior will
inevitably cause significant variance in delay and harm connection quality.
Furthermore, this out-of-order behavior is noticeable even if the underlying
transport could provide guaranteed orderly delivery - this is unacceptable.
This commit takes the idea of RSS in terms of NICs: it creates a distinct
queue for each worker, hashes incoming packets, and distribute the packet
to a worker by hash result. The tuple (SrcIP, SrcPort, DstIP, DstPort, Proto)
is used for hashing (Proto is always UDP so it's dropped from final
implementation), thus packets from the same connection can be sent to
the same worker, keeping the receiving order. Different connections can be
hashed to different workers to maintain performance.
Performance for single UDP connection is not affected, as there is already
a lock in natTable that prevents multiple packets being processed in different
workers, limiting single connection forwarding performance to 1 worker.
The only performance penalty is the hashing code, which should be neglectable
given the footprint of en/decryption work.
Co-authored-by: Hamster Tian <haotia@gmail.com>
2024-09-25 21:28:30 +08:00
wwqgtxx
a4e84f0479
chore: better apply tcp keepalive to listeners
2024-09-25 15:10:53 +08:00
wwqgtxx
6c0383026e
fix: AmneziaWG not working
2024-09-24 13:25:13 +08:00
wwqgtxx
59a2b24593
chore: save etag in bbolt by msgpack
2024-09-23 19:25:35 +08:00
wwqgtxx
966eeae41b
chore: rewrite bbolt cachefile implements
...
never use returned byte slices outside the transaction, ref:
https://pkg.go.dev/go.etcd.io/bbolt#hdr-Caveats
2024-09-23 09:35:48 +08:00
wwqgtxx
150c6ccd25
chore: skip duplicates nameserver when parse
2024-09-23 08:54:07 +08:00
wwqgtxx
33823f1728
chore: sync internal interface
2024-09-22 22:45:55 +08:00
wwqgtxx
781b783346
feat: add amnezia-wg-option
to wireguard outbound
2024-09-22 22:07:14 +08:00
wwqgtxx
ddfa9e8671
feat: add etag-support
to let user can disable this feature manually
2024-09-22 14:41:45 +08:00
wwqgtxx
b7cb6774bf
chore: support ETag for update geo
2024-09-22 13:57:57 +08:00
wwqgtxx
5d242510c8
chore: support ETag for providers
2024-09-22 11:42:29 +08:00
wwqgtxx
223eae0e06
chore: force refresh provider in background
2024-09-22 00:24:49 +08:00
wwqgtxx
7dafe7889e
chore: disallow space at begin or end in DomainTrie
2024-09-21 21:03:59 +08:00
wwqgtxx
d80e8bb0c2
chore: remove some confusing restrictions on comma separation in NameServerPolicy configuration
2024-09-21 20:03:17 +08:00
wwqgtxx
f52fe6aa74
fix: tun.device not shown in restful api
2024-09-21 19:46:39 +08:00
wwqgtxx
a08aa10630
chore: some internal types support encoding.TextUnmarshaler
2024-09-19 18:36:24 +08:00
wwqgtxx
794645b7f8
chore: direct using structure package decode proxy-name
2024-09-19 18:26:05 +08:00