Releases: MetaCubeX/mihomo
Releases · MetaCubeX/mihomo
v1.18.3
What's Changed
BUG & Fix
- 11f0983 fix: resolve by ProxyServerHostResolver should not retry with DefaultResolver when error occurs by @wwqgtxx
- 4542fc0 fix: tun lookback when don't have an activated network by @wwqgtxx
- 72d0948 fix: atomic.TypedValue panic by @wwqgtxx
- 914bc8a fix: Fix
DOMAIN-REGEX
parsing by @xishang0128 - eae1f05 fix: wireguard multi peers public key parse by @wwqgtxx
Maintenance
- 06b5121 chore: embed ca-certificates.crt by @wwqgtxx
- 367a287 chore: don't lookup process when Type==INNER by @wwqgtxx
- 82517e6 chore: include short commit ID in release note by @Larvan2
- 89d7b81 chore: turned off ECN by default by @wwqgtxx
Full Changelog: v1.18.2...v1.18.3
v1.18.2
Breaking Change
Before:
proxies:
- name: wg
type: wireguard
peers:
- server: server
port: port
ip: 192.168.1.9/32
...
Now:
proxies:
- name: wg
type: wireguard
ip: 192.168.1.9/32
peers:
- server: server
port: port
...
What's Changed
- 0bb5568 feat: add ssh outbound (#1087) by @TreviD
- 234a4bf feat: add
DOMAIN-REGEX
rule by @xishang0128 - 3ec23c1 feat: Add DNS outbound to hijack DNS packets (#1078) by @sduoduo233
- 44d8a14 feat: add
IP-ASN
rule by @xishang0128 - e0248fa feat: Experimental supports dialer IP4P address convert form https://github.com/heiher/natmap/wiki/faq by @xishang0128
- feedc9e feat: implement port hopping (#1064) by @keakon
BUG & Fix
- 012e448 fix: when hysteria2 set
ports
,port
can be empty by @wwqgtxx - 0619c75 fix: url format error when host is IPv6 by @Skyxim
- 0b4662e fixed: invalid argument to Intn (#1133) by @落心
- 0c384b1 fix: tproxy start error by @wwqgtxx
- 1c7e011 fix: api does not return configuration value by @xishang0128
- 20658f6 fix:
lan-allowed-ips
does not take effect by @xishang0128 - 284b01c fix: wireguard client bind by @wwqgtxx
- 7754b46 fix: MaxMind MMDB code character case by @H1JK
- 7ad37ca fix: hysteria2 server domain resolve by @wwqgtxx
- 9c08e93 fix: unmap 4in6 ip in wireguard by @wwqgtxx
- 9e57e7d fix: fix
lan-allowed-ips
does not take effect by @wwqgtxx - 9e7eaf7 fix: ipv6 http host addr by @wwqgtxx
- cd9e9cd fix: fix timezone for Android by @xishang0128
- d2ae94f fix: iface panic #1130 by @wwqgtxx
- d56a439 fix: dns truncate not work by @wwqgtxx
- dceb8ee fix: resolve atomic.Value usages with interface types by @wwqgtxx
- f8295a0 fix: update mmdb fail by @Larvan2
Maintenance
- 0488676 chore: Add
max-failed-times
by @xishang0128 - 080d316 chore: update gvisor by @wwqgtxx
- 143fe84 chore: update gvisor by @wwqgtxx
- 23e3f12 chore: better timer using by @wwqgtxx
- 288899a chore: stylish d2ae94f (#1132) by @bobo liu
- 31d3614 chore: upgrade dependencies by @wwqgtxx
- 324c0bd chore: update golang to 1.22 by @wwqgtxx
- 37b02b1 chore: Temporarily abandon pkg.tar.zst package building by @xishang0128
- 3d833ef chore: don't panic when set deadline error by @Larvan2
- 5702d28 chore: rebuild ssh outbound by @wwqgtxx
- 5af7f4e chore: allow config
table-index
for tun #1128 by @wwqgtxx - 5fdfde6 chore: ssh outbound add
private-key-passphrase
,host-key
,host-key-algorithms
renameprivateKey
toprivate-key
and support direct write private key value in config file by @wwqgtxx - 6399347 chore: add some fields for override by @xishang0128
- 69bf434 chore: vlessPacketConn should wrap ThreadSafePacketConn by @wwqgtxx
- 77c10d9 chore: Replace android timezone implementation kanged from https://github.com/SagerNet/sing-box/blob/dev-next/include/tz_android.go by @xishang0128
- 78b4b11 chore: Update workflow by @xishang0128
- 7eb16a0 chore: upgrade dependencies by @wwqgtxx
- 8040885 chore: update quic-go to 0.42.0 by @wwqgtxx
- 81c832e chore: code cleanup by @wwqgtxx
- 823f59b chore: Add
dns-redirect
options toiptables
by @xishang0128 - 8b98130 chore: share RelayDnsPacket function code by @wwqgtxx
- 8d9eb1e chore: get HealCheckURL from pd if groupOption URL is empty by @Larvan2
- 90d0ef0 chore: Check regex rule expression when initializing by @H1JK
- 93b48a9 chore: Update workflow by @H1JK
- 974332c chore: rebuild sync.Once visit code by @wwqgtxx
- 985b884 chore: add power event code for windows by @wwqgtxx
- b3db113 chore: allow disabled system hosts by environment variable
DISABLE_SYSTEM_HOSTS
by @wwqgtxx - c80dd5d chore: retry DNS over TCP when receive a truncated UDP response #1117 by @wwqgtxx
- d273408 chore: Add GeoIP result to metadata by @H1JK
- e1a5b93 chore: rebuild wireguard server address resolve by @wwqgtxx
- e582941 chore: Distinguish between abi1.0 and abi2.0 of loongarch64 by @xishang0128
- e867497 chore: rebuild DNS outbound code by @wwqgtxx
- f0bc685 chore: Update workflow by @xishang0128
- f0ff654 chore: Correct android update name by @xishang0128
- fad1a08 chore: dns outbound support tcp by @wwqgtxx
- fe4aceb chore: Supplement type by @xishang0128
Full Changelog: v1.18.1...v1.18.2
New Contributors
- @sduoduo233 made their first contribution in #1078
- @Luoxin made their first contribution in #1133
Full Changelog: v1.18.1...v1.18.2
v1.18.1
📣
预祝大家新年快乐!
What's Changed
BUG & Fix
- fix(ntp): simplify NTP service initialization and error handling by @riolurs
- fix: Converter SIP002 parameters parse (#976) by @snakem982
- fix: exclude loopback on darwin by @wwqgtxx
- fix: flush dns cache in android and cmfa build. (#971) by @ahmad Nazari
- fix: h2mux udp not working by @wwqgtxx
- fix: hy2's rawConn not closed by @wwqgtxx
- fix: resolve IPv6 rule-set issue #959. by @Larvan2
- fix: SUB-RULE with PROCESS-NAME rule payload not working (#953) by @cesaryuan
- fix: tfo not working with smux/yamux by @wwqgtxx
- fix: trigger-cmfa-update by @Larvan2
Maintenance
- chore: add
timeout
option by @xishang0128 - chore: better IPSet code by @wwqgtxx
- chore: cleanup IPSet code by @wwqgtxx
- chore: dscp support range too by @wwqgtxx
- chore: generate release note automatically by @Larvan2
- chore: hysteria2 add
udp-mtu
option default value is1200-3
to match old version quic-go's capability by @wwqgtxx - chore: ipcidr direct using go4.org/netipx by @wwqgtxx
- chore: limit the default url by @xishang0128
- chore: modify initial resource update by @xishang0128
- chore: read waiter for pipe by @wwqgtxx
- chore: rebuild slowdown code by @wwqgtxx
- chore: Redundant function calls. (#956) by @Vincent.Shi
- chore: replace IpCidrTrie with binary search by @Larvan2
- chore: return more information for the api by @xishang0128
- chore: rewrite IntRanges constructor by @wwqgtxx
- chore: slowdown wireguard dial retry by @wwqgtxx
- chore: stop retry when
couldn't find ip
by @wwqgtxx - chore: store latency data more reasonably (#964) by @tommy
- chore: trigger ci by @Larvan2
- chore: update dependencies by @wwqgtxx
- chore: update quic-go to 0.41.0 by @wwqgtxx
- chore: update release note by @Larvan2
- docs: README.md by @Larvan2
Full Changelog: v1.18.0...v1.18.1
v1.18.0
What's Changed
- feat: Add GeoAutoUpdate and GeoUpdateInterval to config (#857) by @Kuingsmile
- feat: Add LAN allowed and disallowed IP configurations (#861) by @Kuingsmile
- feat: Add succinct matcher support for GeoSite by @H1JK
- feat: add
include-all
to proxy-groups by @xishang0128 - feat: support external api extensions (#852) by @snakem982
BUG & Fix
- fix: add backgroundRead for plain http inbound (#952) by @hunshcn
- fix: avoid gobwas/ws pbytes.GetLen panic by @wwqgtxx
- fix: CopyExtendedOnce can't exit loop by @wwqgtxx
- fix: GSO support for TUN by @wwqgtxx
- fix: gvisor stack's dns hijack not working by @wwqgtxx
- fix: hy2 missing UDP timeout by @wwqgtxx
- fix: let input prefix to lower case when parsing. Fix #868 by @Larvan2
- fix: missing insertTriePolicy when process rule-set by @wwqgtxx
- fix: mount cache by @Larvan2
- fix: only using xsync with pointer to avoid unaligned 64-bit atomic operation closed #783 by @wwqgtxx
- fix: remove unneeded health check by @wwqgtxx
- fix: sing vectorised writer by @wwqgtxx
- fix: ss uot add thread safe wrapper by @wwqgtxx
- fix: stop using insert url when get urltest delay by @PuerNya
- fix: system stack's dns hijack not working by @wwqgtxx
- fix: the right way to get process in win32 format (#909) by @fakeboboliu
- fix: try fixing automatic policy by @xishang0128
- fix: udp nat handle by @PuerNya
Maintenance
- chore: adapt new ReadWait interfaces by @wwqgtxx
- chore: add a new cors response header by @PuerNya
- chore: add GSO support for TUN lwip had been dropped, also cgo build will be removed by @wwqgtxx
- chore: add leading slash to ws-path by @wwqgtxx
- chore: add loopback detect for direct outbound by @wwqgtxx
- chore: add some fields for
override
by @xishang0128 - chore: avoid return nil. fix #930 by @Larvan2
- chore: better Reject-Drop for UDP by @Larvan2
- chore: change DefaultTestUrl by @PuerNya
- chore: cleanup code by @Larvan2
- chore: Cleanup unused GeoSite matchers by @H1JK
- chore: code cleanup by @wwqgtxx
- chore: do not always trigger upload on PR #912 by @Larvan2
- chore: don't force output color in log but you can set
CLICOLOR_FORCE=1
environment variable by @wwqgtxx - chore: fix typo by @giveup
- chore: health check for compatible providers after startup by @Larvan2
- chore: limit max CopyExtendedOnce execute times to 10 by @wwqgtxx
- chore: modify default url by @xishang0128
- chore: Remove the use of curve25519 package by @H1JK
- chore: reslove udp host after rule matching by @PuerNya
- chore: restore function name to AliveForTestUrl by @Larvan2
- chore: support waitRead in windows by @wwqgtxx
- chore: Update bandwidth convertor by @H1JK
- chore: Update dependencies by @wwqgtxx
- chore: update docs by @xishang0128
- chore: update gvisor by @wwqgtxx
- chore: update uTLS to 1.5.4 by @wwqgtxx
- chore: using stable api by @wwqgtxx
- chore: windows process will return DOS format instead of NT format by @wwqgtxx
Full Changelog: v1.17.0...v1.18.0
v1.17.0
Breaking Changes
Binary file name changes to mihomo
, along with most of the const such as default config path, check and update these file/path before update to this version.
What's Changed
- feat(sniffer): add quic sniffer by @5aaee9
- feat: Add outbound sing-mux tcp-brutal support by @H1JK
- feat: add reload signal support (#780) by @andrei Shevchuk
- feat: Add v2ray httpupgrade fast open support by @H1JK
- feat: add
certificate
andprivate-key
to vmess listener by @wwqgtxx - feat: add
include-all-providers
to proxy-groups by @xishang0128 - feat: add
override
to proxy-providers by @Larvan2 - feat: add
skip-auth-prefixes
by @wwqgtxx - feat: add
v2ray-http-upgrade
support by @wwqgtxx - feat: add
ws-path
to vmess listener by @wwqgtxx - feat: cancel RULE-SET nested SUB-RULE restrictions by @Skyxim
- feat: share more code from android branch by @Steve Johnson
- feat: support ARC for DNS cache by @Larvan2
- feat: support clash premium's structured log stream (#735) by @NyaMisty
- feat: support REJECT-DROP by @Larvan2
- feature: add environs startup option support (#2909) by @septs
- feature: add xdg base support (#2913) by @septs
- Merge pull request #810 from 5aaee9/Alpha by @Larvan2
BUG & Fix
- fix: avoid tls panic by @wwqgtxx
- fix: BBR bandwidth estimation edge case by @wwqgtxx
- fix: BBR memory leak by @wwqgtxx
- fix: build error by @wwqgtxx
- fix: dhcp not working on windows by @wwqgtxx
- fix: DNS NCACHE TTL and OPT RRs (#2900) by @jiahao Lu
- fix: fix android-arm64 build by @Steve Johnson
- fix: fix package name rules match by @Steve Johnson
- fix: gvisor panic by @wwqgtxx
- fix: gVisor UDP 6to4 check by @wwqgtxx
- fix: health check at startup by @Skyxim
- fix: health check available for 'selector' if configured by @Larvan2
- fix: hy2/tuic inbound cert isn't path by @Larvan2
- fix: improve feature check and add missing patches by @Steve Johnson
- fix: method in vmess http-opts is not used by @sduoduo233
- fix: Mux missing sing logger & initializing race by @H1JK
- fix: only force health check compatible providers by @Skyxim
- fix: parsing override by @Larvan2
- fix: Pool panic when putting small buffer by @H1JK
- fix: quic-go min MTU by @wwqgtxx
- fix: reality panic by @wwqgtxx
- fix: remote logic rules cannot be parsed (#837) by @HolgerHuo
- Fix: should check all ips need to fallback (#2915) by @yaling888
- fix: sing listener panic by @wwqgtxx
- fix: socks5 udp associate by @Dreamacro
- fix: ssr panic by @wwqgtxx
- fix: Trojan websocket header panic by @H1JK
- fix: unmap 4in6 ip by @wwqgtxx
- fix: v2ray http upgrade
Hosts
header not working by @wwqgtxx
Maintenance
- chore: add android feature and patch by @Steve Johnson
- chore: add CMFA auto update-dependencies trigger by @Steve Johnson
- chore: add labels to issue template by @Steve Johnson
- chore: add new bbr implementation by @wwqgtxx
- chore: add route exclude support by @wwqgtxx
- chore: add SetupContextForConn for common/net by @wwqgtxx
- chore: add some warning log by @wwqgtxx
- chore: better atomic using by @wwqgtxx
- chore: better bufio.Reader warp by @wwqgtxx
- chore: better dns batchExchange by @wwqgtxx
- chore: better tls handshake by @wwqgtxx
- chore: Cleanup code by @H1JK
- chore: cleanup error using of dialer.DefaultInterface by @wwqgtxx
- chore: code cleanup by @wwqgtxx
- chore: decrease goroutine used in core tunnel by @wwqgtxx
- chore: decrease memory copy in quic sniffer by @wwqgtxx
- chore: decrease memory copy in sing listener by @wwqgtxx
- chore: direct append data to bufio.Reader's internal buffer as much as possible by @wwqgtxx
- chore: do websocket client upgrade directly instead of gobwas/ws by @wwqgtxx
- chore: fix bbr bugs by @wwqgtxx
- chore: fix sniffer log error by @xishang0128
- chore: fix subscription_info by @xishang0128
- chore: geo link replaced with github by @xishang0128
- chore: improve subscription userinfo parsing (#781) by @septs
- chore: inMemoryAuthenticator unneed sync map by @wwqgtxx
- chore: listeners can set
mux-option
by @wwqgtxx - chore: merge some quic-go fix by @wwqgtxx
- chore: migrate from gorilla/websocket to gobwas/ws by @wwqgtxx
- chore: modify configuration fields by @xishang0128
- chore: modify some fields by @xishang0128
- chore: modify ua by @xishang0128
- chore: NameServerPolicy will match inorder by @wwqgtxx
- chore: netip.Prefix should not using pointer by @wwqgtxx
- chore: Pool allocate arrays instead of slices by @H1JK
- chore: print colored log by @Larvan2
- chore: reduce memory alloc by @Larvan2
- chore: reduce string split immediately after string concat (#773) by @kiva
- chore: reorder atomic TypedValue see: https://gfw.go101.org/article/unofficial-faq.html#final-zero-size-field by @wwqgtxx
- chore: Replace stack collection with list by @H1JK
- chore: revert default global ua by @Steve Johnson
- chore: share dnsClient in NewResolver by @wwqgtxx
- chore: share some code by @wwqgtxx
- chore: Shrink allocator pool range by @H1JK
- chore: simplify fast open code by @wwqgtxx
- chore: support reject proxy type by @wwqgtxx
- chore: support relative path for hy2/tuic inbound cert by @Larvan2
- chore: support v2ray http upgrade server too by @wwqgtxx
- chore: system resolver can autoupdate by @wwqgtxx
- chore: temporary seal by @Larvan2
- chore: Update dependencies by @H1JK
- chore: update dependencies by @Larvan2
- chore: Update dependencies by @wwqgtxx
- chore: update gvisor by @wwqgtxx
- chore: update quic-go to 0.39.0 by @wwqgtxx
- chore: Update quic-go to v0.40.0 by @wwqgtxx
- chore: update sing-tun by @wwqgtxx
- chore: upgrade xsync to v3 by @wwqgtxx
- chore: using wk8/go-ordered-map/v2 replace internal StringMapSlice by @wwqgtxx
- docs: support reload in service by @Larvan2
- docs: update about quic sniffer by @5aaee9
- docs: update readme.md by @Larvan2
Full Changelog: v1.16.0...v1.17.0
v1.16.0
What's Changed
- feat: Add disable quic-go GSO to experimental by @H1JK
- feat: add provider proxies api by @xishang0128
- feat: add
udp-over-stream
for tuic only work with meta tuic server or sing-box 1.4.0-beta.6 by @wwqgtxx - feat: bump restls to v0.1.6 (utls v1.4.3) (#692) by @3andne
- feat: configurable TCPKeepAlive interval by @Larvan2
- feat: converter support hysteria2 by @Larvan2
- feat: Converter unofficial TUIC share link support by @H1JK
- feat: download/upgrade XD to external-ui by @Larvan2
- feat: inbound support Hysteria2 by @wwqgtxx
- feat: ntp service by @riolu.rs
- feat: proxies support
direct
type by @wwqgtxx - feat: recovering
preHandleMetadata
failure from sniffing (#769) by @kiva - feat: support Hysteria2 by @wwqgtxx
- feat: support users to customize download ua by @xishang0128
- feat: update external-ui by @Larvan2
BUG & Fix
- fix: caceh dns result by @Skyxim
- fix: call shutdown before restart (#709) by @Alpha
- fix: concurrent map writes #707 by @Larvan2
- fix: dualStack confusing error on ipv4 failed connect by @Mitt
- fix: fail to set KeepAliveIntervall #715 by @Larvan2
- fix: hy2 udp not working by @wwqgtxx
- fix: ntp service panic by @riolu.rs
- fix: ntp service panic by @wwqgtxx
- fix: RESTful api missing TunConf.device by @YanceyChiew
- fix: sing-vmess panic by @wwqgtxx
- fix: socks5 udp not working on loopback by @wwqgtxx
- fix: TLS ALPN support by @H1JK
- fix: tuicv5 panic in ReadFrom by @wwqgtxx
- fix: uot read failed by @wwqgtxx
Maintenance
- chore: cleanup code by @Larvan2
- chore: cleanup codes by @Larvan2
- chore: DNS cache policy follow upstream by @Larvan2
- chore: fix typo by @Larvan2
- chore: handle provider proxies in proxies api by @PuerNya
- chore: ignore PR when Pre-releasing by @Larvan2
- chore: limit tuicv5's maxUdpRelayPacketSize up to 1200-PacketOverHead by @wwqgtxx
- chore: ntp service dep with sing, optional synchronize system time by @riolu.rs
- chore: ntp service support
dialer-proxy
by @wwqgtxx - chore: rebuild ca parsing by @wwqgtxx
- chore: rename func name by @Larvan2
- chore: resolver read system hosts file by @wwqgtxx
- chore: Restore go1.20 support by @wwqgtxx
- chore: restore unselected by @Larvan2
- chore: share N.dialer code by @wwqgtxx
- chore: support set cwnd for hy2 too by @wwqgtxx
- chore: TCPKeepAlive interval set to 15s by default by @Larvan2
- chore: Update android-ndk by @汐殇
- chore: Update dependencies by @H1JK
- chore: Update dependencies by @wwqgtxx
- chore: update external-ui by @xishang0128
- Chore: update github issue template by @xishang0128
- chore: update provider proxies api by @xishang0128
- chore: update quic-go to 0.38.0 by @wwqgtxx
- chore: updateUI API return 501 when config incomplete by @Larvan2
- chore: use cmp in go 1.21 by @Larvan2
- chore: use WaitGroup in dualStackDialContext by @Larvan2
- chore: Use xsync provided map size calculation by @H1JK
- chore: using xsync.MapOf replace sync.Map by @wwqgtxx
- docs(README): update dashboard section by @kunish
- Merge pull request #767 from PuerNya/fix-delay by @汐殇
- refactor: Decouple .Cleanup from ReCreateTun by @YanceyChiew
Full Changelog: v1.15.1...v1.16.0
v1.15.1
What's Changed
- feat: Add Meta-geoip V0 database support by @H1JK
- feat: Add RCode DNS client by @H1JK
- feat: Add sing-geoip database support by @H1JK
- feat: Add XUDP migration support by @H1JK
- feat: add
inbound-mptcp
for listeners by @wwqgtxx - feat: add
mptcp
for all proxy by @wwqgtxx - feat: optional provider path (#624) by @汐殇
- feat: support tuicV5 by @wwqgtxx
- feat: tuic outbound allow set an empty
ALPN
array by @wwqgtxx
BUG & Fix
- fix geodata-mode by @xishang0128
- fix hysteria faketcp lookback in TUN mode (#601) by @Mars160
- fix: parse nested
sub-rules
failed by @Skyxim - fix: Disable XUDP global ID if source address invalid by @H1JK
- fix: discard http unsuccessful status by @Skyxim
- fix: DNS cache by @H1JK
- fix: dns concurrent not work by @Skyxim
- fix: go1.19 compile by @wwqgtxx
- fix: handle manually select in url-test by @Larvan2
- fix: hysteria faketcp loopback in tun mode by @wwqgtxx
- Fix: mapping dns should not stale (#675) by @Yusaki丶Kanade
- fix: nil pointer in urltest (#603) by @wzdnzd
- fix: panic when add 4in6 ipcidr by @Skyxim
- fix: Resolve delay omission in the presence of nested proxy-groups by @Larvan2
- fix: singmux return wrong supportUDP value by @wwqgtxx
- fix: tuic server cwnd parsing by @wwqgtxx
- fix: tuicV5's heartbeat should be a datagram packet by @wwqgtxx
- fix: tunnel's handleUDPToLocal panic by @wwqgtxx
Maintenance
- chore: change geodata download url to fastly.jsdelivr.net (#636) by @moranno
- chore: adjustable cwnd for cc in quic by @Larvan2
- chore: allow unsafe path for provider by environment variable by @Skyxim
- chore: avoid unneeded map copy when close connection in restful api by @wwqgtxx
- chore: better close single connection in restful api by @wwqgtxx
- chore: better env parsing by @wwqgtxx
- chore: better resolv.conf parsing by @wwqgtxx
- chore: better tuicV5 deFragger by @wwqgtxx
- chore: Disable cache for RCode client by @H1JK
- chore: fix TUIC cwnd parsing by @Larvan2
- chore: function rename by @wwqgtxx
- chore: generate release note automatically by @Larvan2
- chore: genReleaseNote support verrsion range by @Larvan2
- chore: Ignore PR in Docker build by @Larvan2
- chore: init gopacket only when dial fake-tcp to decrease memory using by @wwqgtxx
- chore: Random only if the certificate and private-key are empty by @Skyxim
- chore: reduce process lookup attempts when process not exist #613 by @Skyxim
- chore: Refine adapter type name by @H1JK
- chore: Reject packet conn implement wait read by @H1JK
- chore: Remove legacy XTLS support (#645) by @hellojack
- chore: Replace murmur3 with maphash by @H1JK
- Chore: Something update from clash (#639) by @タイムライン
- chore: Something update from clash :) (#606) by @タイムライン
- chore: statistic's Snapshot only contains TrackerInfo by @wwqgtxx
- chore: structure support decode pointer by @wwqgtxx
- chore: tuic server can handle V4 and V5 in same port by @wwqgtxx
- chore: Update dependencies by @H1JK
- chore: Update dependencies by @wwqgtxx
- chore: update go1.21.0 release by @wwqgtxx
- chore: Update go1.21rc3 by @wwqgtxx
- chore: update proxy's udpConn when received a new packet by @wwqgtxx
- chore: update quic-go to 0.34.0 by @wwqgtxx
- chore: update quic-go to 0.35.1 by @wwqgtxx
- chore: update quic-go to 0.36.0 by @wwqgtxx
- chore: update quic-go to 0.36.1 by @wwqgtxx
- chore: update quic-go to 0.37.1 by @wwqgtxx
- chore: update quic-go to 0.37.2 and go1.21rc4 by @wwqgtxx
- chore: update quic-go to 0.37.3 by @wwqgtxx
- chore: update to go1.21rc2, drop support for go1.19 by @wwqgtxx
- chore: Use Meta-geoip for default by @H1JK
- chore: using uint16 for ports in Metadata by @wwqgtxx
- refactor: Geodata initialization by @H1JK
Full Changelog: v1.14.5...v1.15.1
v1.15.0
What's Changed
- feat: Add RCode DNS client by @H1JK
- feat: Add XUDP migration support by @H1JK
- feat: optional provider path (#624) by @xishang0128
- feat: support tuicV5 by @wwqgtxx
BUG & Fix
- fix hysteria faketcp lookback in TUN mode (#601) by @Mars160
- fix: Disable XUDP global ID if source address invalid by @H1JK
- fix: dns concurrent not work by @Skyxim
- fix: go1.19 compile by @wwqgtxx
- fix: hysteria faketcp loopback in tun mode by @wwqgtxx
- fix: nil pointer in urltest (#603) by @wzdnzd
- fix: panic when add 4in6 ipcidr by @Skyxim
- fix: Resolve delay omission in the presence of nested proxy-groups by @Larvan2
- fix: singmux return wrong supportUDP value by @wwqgtxx
- fix: tuic server cwnd parsing by @wwqgtxx
- fix: tuicV5's heartbeat should be a datagram packet by @wwqgtxx
Maintenance
- chore: adjustable cwnd for cc in quic by @Larvan2
- chore: allow unsafe path for provider by environment variable by @Skyxim
- chore: avoid unneeded map copy when close connection in restful api by @wwqgtxx
- chore: better close single connection in restful api by @wwqgtxx
- chore: better resolv.conf parsing by @wwqgtxx
- chore: Disable cache for RCode client by @H1JK
- chore: fix TUIC cwnd parsing by @Larvan2
- chore: function rename by @wwqgtxx
- chore: generate release note automatically by @Larvan2
- chore: genReleaseNote support verrsion range by @Larvan2
- chore: Ignore PR in Docker build by @Larvan2
- chore: init gopacket only when dial fake-tcp to decrease memory using by @wwqgtxx
- chore: reduce process lookup attempts when process not exist #613 by @Skyxim
- chore: Refine adapter type name by @H1JK
- chore: Replace murmur3 with maphash by @H1JK
- chore: Something update from clash :) (#606) by @Nep-Timeline
- chore: statistic's Snapshot only contains TrackerInfo by @wwqgtxx
- chore: tuic server can handle V4 and V5 in same port by @wwqgtxx
- chore: Update dependencies by @H1JK
- chore: Update dependencies by @wwqgtxx
- chore: update proxy's udpConn when received a new packet by @wwqgtxx
- chore: update quic-go to 0.34.0 by @wwqgtxx
- chore: update quic-go to 0.35.1 by @wwqgtxx
Full Changelog: v1.14.5...v1.15.0
v1.14.5
What's Changed
Configs example
- feat: add
IN-USER
andIN-NAME
rules by @wwqgtxx - feat: rewrite http outbound by @PuerNya
- feat: Support insecure gRPC by @H1JK
- feat: support system dns by @sleshep
- feat: support system dns for windows by @Larvan2
- feat: Updater detect and download AMD64v3 artifact by @H1JK
- refactor: Move vision implementation to a new package by @H1JK
- refactor: Switch to sing-shadowsocks2 client by @H1JK
BUG & Fix
- fix: Deadline not apply on EnhancePacketConn by @wwqgtxx
- fix: deadline reader cause panic by @wwqgtxx
- Fix: deprecated action commands (#556) by @H1JK
- fix: ensure group not empty by @wwqgtxx
- fix: handle manually select in url-test by @Larvan2
- fix: mux's udp should add write lock by @wwqgtxx
- fix: shadowsocks rc4-md5 not working by @wwqgtxx
- fix: sing inbound should check needAdditionReadDeadline on udp too by @wwqgtxx
- fix: sing-based listener panic by @wwqgtxx
- fix: sing-ss2's Reader not set buffer end by @wwqgtxx
- fix: ss aead udp problem by @wwqgtxx
- fix: tfoConn panic by @wwqgtxx
- fix: TLS certificate pool initialize by @H1JK
- fix: tuic can't work with proxy-dialer by @wwqgtxx
- fix: tuic connection error using fast_open by @Skyxim
- fix: tuic server return error udp address by @wwqgtxx
- fix: udp can't auto close by @wwqgtxx
- fix: UDP packet should not return io.EOF by @wwqgtxx
- fix: udp panic when server return a domain name by @wwqgtxx
- Fix: update action to support Node 16 (#565) by @8Mi_Yile
- fix: Update unsafe pointer add usage by @H1JK
- fix: wildcard matching problem by @Skyxim
- fix: #512: geo download failed when startup (#538) by @sleshep
Maintenance
- chore: Add vision splice support by @H1JK
- chore: add WaitReadFrom support in hyPacketConn by @wwqgtxx
- chore: add WaitReadFrom support in quicStreamPacketConn by @wwqgtxx
- chore: add WaitReadFrom support in ssr by @wwqgtxx
- chore: better packet deadline by @wwqgtxx
- chore: better sing's udp api support by @wwqgtxx
- chore: better tproxy error logging by @wwqgtxx
- chore: better tuic earlyConn impl by @wwqgtxx
- chore: better updater by @Larvan2
- chore: cleanup system dns code by @wwqgtxx
- chore: decrease direct udp read memory used for no-windows platform by @wwqgtxx
- chore: decrease shadowsocks udp read memory used for no-windows platform by @wwqgtxx
- chore: Decrease UoT read memory by @H1JK
- chore: drop bufio.Reader in BufferedConn to let gc can clean up its internal buf by @wwqgtxx
- chore: improve read waiter interface by @wwqgtxx
- chore: Make slash optional for system resolver by @H1JK
- chore: more context passing in outbounds by @wwqgtxx
- chore: packet deadline support CreateReadWaiter interface by @wwqgtxx
- chore: Random only if the certificate and private-key are empty by @Skyxim
- chore: rebuild ref and threadSafe packetConn by @wwqgtxx
- chore: Remove default DNS in system resolver by @H1JK
- chore: sing inbound support WaitReadPacket by @wwqgtxx
- chore: slightly improve quic-bbr performance by @Larvan2
- chore: switch ss uot default back to version 1 by @wwqgtxx
- chore: Update dependencies by @H1JK
- chore: update docs by @cubemaze
- chore: update release note by @Larvan2
- chore: upgrade dependencies by @Skyxim
- chore: upgrade dependencies by @wwqgtxx
- chore: Use API to create windows firewall rule by @Larvan2
- chore: using internal socks5.ReadAddr0 in trojan by @wwqgtxx
- docs: update config.yaml by @Larvan2
Full Changelog: v1.14.4...v1.14.5
v1.14.4
What's Changed
Configs example
- feat: Add multi-peer support for wireguard outbound by @wwqgtxx
- feat:
nameserver-policy
support use rule-providers and reduce domain-set memory by @Skyxim - feat: add
statistic
andonly-tcp
options for smux by @wwqgtxx - feat: add memory status for snapshot by @wwqgtxx
- feat: add proxy and sing-based listener support sing-mux by @wwqgtxx
- feat: core support memory chat by @rookisbusy
- feat: proxy-provider can set
dialer-proxy
too it will applydialer-proxy
to all proxy in this provider by @wwqgtxx - feat: ruleset support text
format
by @wwqgtxx - feat: support
dialer-proxy
config for all outbound by @wwqgtxx - feat: urltest can be select by user by @MetaCubeX
- feat: wireguard add
dialer-proxy
config to support chain forwarding by @wwqgtxx - feat: wireguard add
remote-dns-resolve
anddns
settings by @wwqgtxx
BUG & Fix
- fix: CGO build failed on darwin-10.16 by @wwqgtxx
- fix: concurrent close on h2mux server conn by @nekohasekai
- fix: Converter panic on bad VMess share links by @H1JK
- fix: Vision slice out of bounds error by @H1JK
- fix: chat.js not begin with zero by @rookisbusy
- fix: deadline pipeReadBuffer, pipeReadFrom and panic when alloc empty buffer by @wwqgtxx
- fix: direct outbound not ensure ip was resolved by @wwqgtxx
- fix: domain-set wildcard match by @Skyxim
- fix: ensure StreamWebsocketConn call N.NewDeadlineConn by @wwqgtxx
- fix: firstWriteCallBackConn can pass N.ExtendedConn too by @wwqgtxx
- fix: h2 close panic by @wwqgtxx
- fix: not match top domain by @Skyxim
- fix: proxyDialer has a non-nil interface containing nil pointer judgment by @wwqgtxx
- fix: proxyDialer panic when domain name was not resolved by @wwqgtxx
- fix: revert LRU cache changes by @wwqgtxx
- fix: ruleProvider panic by @wwqgtxx
- fix: return pooled buffer when simple-obfs tls read error (#2643) by @bdbai
- fix: sing-mux udp by @wwqgtxx
- fix: should always drop packet when handle UDP packet (#2659) by @yaling888
- fix: smux should show its support udp and uot by @wwqgtxx
- fix: tracker remote addr check by @Skyxim
- fix: tuic fast-open not work by @wwqgtxx
- fix: tuic pool client should only cache the system's UDPConn by @wwqgtxx
- fix: tun warn timeout by @rookisbusy
- fix: tunnel udp panic by @wwqgtxx
- fix: vless tcp not working by @wwqgtxx
- fix: vless udp not working by @wwqgtxx
- fix: wireguard auto close not working by @wwqgtxx
- fix: wireguard reconnect failed by @wwqgtxx
- fix: wireguard tcp close need long time by @wwqgtxx
Maintenance
- chore: add issue templates by @Larvan2
- chore:
clash
filter link local by @Skyxim - chore: Add early bounds checks by @H1JK
- chore: Add read deadline implementation by @wwqgtxx
- chore: Adopt sing-tun's update by @wwqgtxx
- chore: DomainSet now build from a DomainTrie by @wwqgtxx
- chore: Update dependencies by @wwqgtxx
- chore: add genReleaseNote.sh by @Larvan2
- chore: better error ignore by @wwqgtxx
- chore: better memory fetching time by @Skyxim
- chore: better parse remote dst by @Skyxim
- chore: better upgrade by @Larvan2
- chore: better workflow by @Larvan2
- chore: clarify the wireguard logging by @wwqgtxx
- chore: clean up code by @Larvan2
- chore: clean up docs by @Larvan2
- chore: cleanup listener before restart by @Larvan2
- chore: cleanup unneeded deadline by @wwqgtxx
- chore: clear windows bind error by @wwqgtxx
- chore: close all connections after proxySet initial by @wwqgtxx
- chore: download geoX use inner by @Larvan2
- chore: fix build by @Larvan2
- chore: force set SelectAble when start load cache by @wwqgtxx
- chore: init gopsutil's Process direct from struct by @wwqgtxx
- chore: make all net.Conn wrapper can pass through N.ExtendedConn by @wwqgtxx
- chore: proxyDialer can add inner conn to statistic by @wwqgtxx
- chore: proxyDialer can limited support old dial function by @wwqgtxx
- chore: proxyDialer don't push flow to manager in statistic by @wwqgtxx
- chore: proxyDialer first using old function to let mux work by @wwqgtxx
- chore: remove debug_api patch by @Larvan2
- chore: rename delete.yml by @Larvan2
- chore: resolver priority return TypeA in ResolveIP (not effected LookupIP) by @wwqgtxx
- chore: rewrite verifyIP6 by @wwqgtxx
- chore: rule-provider direct using IndexByte in bytes for find new line by @wwqgtxx
- chore: rule-provider now read yaml line-by-line by @wwqgtxx
- chore: safe sing-mux close by @wwqgtxx
- chore: support splice for direct outbound by @wwqgtxx
- chore: sync sing-wireguard's update by @wwqgtxx
- chore: udp always direct pass ip to remote without domain by @wwqgtxx
- chore: update bug_report by @Skyxim
- chore: update demo by @Skyxim
- chore: update doc by @Skyxim
- chore: update templates by @Larvan2
- chore: update use compatible version for windows/linux amd64 by @Larvan2
- chore: update wireguard-go by @wwqgtxx
- chore: using new chan based deadline reader by @wwqgtxx
- chore: using sync/atomic replace uber/atomic by @wwqgtxx
- chore: version print error by @Skyxim
- chore: wireguard dns can work with domain-based server by @wwqgtxx
- doc: update config.yaml by @wwqgtxx
- doc: update smux by @wwqgtxx
Full Changelog: v1.14.3...v1.14.4
What's Changed
- Alpha by @rookisbusy in #490
- feat: core support memory chat by @rookisbusy in #491
- fix: chat.js not begin with zero by @rookisbusy in #492
- fix: tun warn timeout by @rookisbusy in #493
Full Changelog: v1.14.3...v1.14.4
What's Changed
- Alpha by @rookisbusy in #490
- feat: core support memory chat by @rookisbusy in #491
- fix: chat.js not begin with zero by @rookisbusy in #492
- fix: tun warn timeout by @rookisbusy in #493
- fix: wildcard matching problem by @Skyxim in #536
Full Changelog: v1.14.3...v1.14.4