Skip to content

Releases: MetaCubeX/mihomo

Prerelease-Alpha

26 Feb 16:49
Compare
Choose a tag to compare
Prerelease-Alpha Pre-release
Pre-release

Release created at Tue May 21 23:56:59 CST 2024
Synchronize Alpha branch code updates, keeping only the latest version


我应该下载哪个文件? / Which file should I download?
二进制文件筛选 / Binary file selector
查看文档 / Docs

v1.18.5

19 May 08:50
Compare
Choose a tag to compare

What's Changed

BUG & Fix

Maintenance

Full Changelog: v1.18.4...v1.18.5

v1.18.4

29 Apr 06:24
Compare
Choose a tag to compare

What's Changed

  • 3e0bd65 feat: Converter support Xray HTTPUpgrade fast open path by @H1JK
  • a878254 feat: support -ext-ctl-unix cmdline to override external controller unix address by @wwqgtxx
  • ca84ab1 feat: support external-controller-unix by @wwqgtxx
  • f3e23b1 feat: Allow providers to set individual proxy and headers by @xishang0128

BUG & Fix

Maintenance

Full Changelog: v1.18.3...v1.18.4

v1.18.3

29 Mar 11:56
Compare
Choose a tag to compare

What's Changed

BUG & Fix

Maintenance

Full Changelog: v1.18.2...v1.18.3

v1.18.2

27 Mar 11:20
Compare
Choose a tag to compare

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

BUG & Fix

Maintenance

Full Changelog: v1.18.1...v1.18.2

New Contributors

Full Changelog: v1.18.1...v1.18.2

v1.18.1

02 Feb 12:19
Compare
Choose a tag to compare

📣

预祝大家新年快乐!

What's Changed

  • feat: add DSCP rule for Tproxy UDP packets (#996) by @Pretze

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 is 1200-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

02 Jan 07:30
Compare
Choose a tag to compare

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

03 Dec 01:01
Compare
Choose a tag to compare

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 and private-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

25 Sep 11:37
Compare
Choose a tag to compare

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

13 Aug 15:02
Compare
Choose a tag to compare

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