Clash Versions Save

A rule-based tunnel in Go.

v1.11.4

1 year ago

Chore

  • load-balance consistent hash needs to have a fallback strategy
  • remove AddrType on Metadata (#2199)

Bugfixes

  • should unmap lAddr on tproxy udp listener
  • proxy provider filter validation (#2198) @kamingchan
  • fakeip logic improve (can help reduce the list of fake ip-filters, .e.g full-cone on Nintendo Switch network test)
  • process rule type (#2206) @kamingchan

Full Changelog: https://github.com/Dreamacro/clash/compare/v1.11.0...v1.11.4

v1.11.0

1 year ago

Feature

  • custom-specific interface can be set on nameserver (#2126) @Bowser1704

Bugfixes

  • add length check for ssr auth_aes128_sha1 (#2129) @kamingchan
  • plain http upgrade header detected (#2134) @Kr328

New Contributors

Full Changelog: https://github.com/Dreamacro/clash/compare/v1.10.6...v1.11.0

v1.10.6

2 years ago

Chore

  • replace bootstrap dns (#2080) @Kr328
  • add none alias to dummy on ShadowsocksR (#2056) @Anankke

Bugfixes

  • decode nil value in slice decoder (#2102) @kamingchan
  • plain http proxy Upgrade behavior (#2097) @Kr328
  • convert size to unit32 in getoridst to solve some mips64 devices (#2041) @maomaozgw
  • sometimes API works well but all inbound cannot receive any connections

New Contributors

Full Changelog: https://github.com/Dreamacro/clash/compare/v1.10.0...v1.10.6

v1.10.0

2 years ago

Highlight

  • migrate to go 1.18
  • add darwin-amd64-v3 linux-amd64-v3 freebsd-amd64-v3 and windows-amd64-v3 for modern CPU. A detailed description can be found here.

Feature

  • support snell v3 (#1884) @icpz
  • move find connection process to tunnel and add PROCESS-PATH (#2016)
  • add tzdata to Dockerfile (#2027) @suyar

Chore

  • change provider file modify time when updated (#1918) @Kr328
  • add more details to process resolving (#2017)

Bugfixes

  • ignore empty dns server error
  • tls handshake requires a timeout (#1893) @thank243
  • domain trie search
  • routing-mark should effect on root
  • listener tcp keepalive & reuse net.BufferedConn (#1987) @kamingchan
  • should split linux process name with space (#2008) @Kr328
  • routing-mark option doesn't work on proxies (#2028) @risetechlab

New Contributors

Full Changelog: https://github.com/Dreamacro/clash/compare/v1.9.0...v1.10.0

v1.9.0

2 years ago

Highlight

  • Fixed connectivity bug in #1868. recommended update.

Feature

  • add filter on proxy provider (#1511) @beyondkmp
  • add linux/arm/v6 for the container image (#1771) @LinuxSuRen

Change

  • remove forward compatible codes in 2022 as agreed
    • migrate cache
    • ws-headers and ws-path on vmess

Chore

  • use nop packet conn for udp reject

Bugfixes

  • bind iface should throw control error
  • revert wrong ssr udp fix
  • fakeip pool cycle used
  • builtin right mime of .js (#1808) @fakeboboliu
  • when both providers and proxies are present, use the health check configuration for proxies (#1821) @noel2004
  • multiple port string parsing overflow (#1868) @updateing

Full Changelog: https://github.com/Dreamacro/clash/compare/v1.8.0...v1.9.0

v1.8.0

2 years ago

Feature

  • persistence fakeip (#1662)
profile:
    store-fake-ip: true
  • support trojan over websocket
  • all proxies support dial different NIC
    • priority: proxy > group > global interface-name
  • all proxies support set fwmark on linux (#1705) @fakeboboliu
    • priority: proxy > group > global routing-mark
interface-name: en1
routing-mark: 6666
proxies:
  - name: "socks"
    type: socks5
    server: server
    port: 443
    interface-name: en0
    routing-mark: 2333

Change

  • use bbolt as cache db
  • doh request should with id 0 (#1660) @beyondkmp
  • use interface HardwareAddr for dhcp discovery
  • unexpected proxy dial behavior on mapping mode (redir-host)
    • redir-host no remote DNS request anymore

Chore

  • avoid bufConn twice (#1650) @fakeboboliu
  • use sharded bytes.Buffer pool
  • remove deprecated ioutil
  • adjust all udp alloc size

Bugfixes

  • http proxy should respond correct http version (#1651) @Kr328
  • dhcp client should request special interface
  • remove ResponseHeaderTimeout limitation (#1690) @blaisewang

Full Changelog: https://github.com/Dreamacro/clash/compare/v1.7.1...v1.8.0

v1.7.1

2 years ago

Bugfixes

  • vmess ws headers not set properly with ws-opts (#1595) @maskedeken
  • potential overflow in ssr (#1600) @fakeboboliu
  • should not unmarshal RawConfig to pointer (#1615) @Kr328
  • should not trust address of http.Client (#1616) @Kr328
  • potential pitfalls on dns request
  • http(s) proxy authentication (#1613) @lxe524
  • socks4 request continues after authentication failed (#1624) @ExcitedCodes

v1.7.0

2 years ago

Feature

  • SOCKS4/SOCKS4A Inbound Compatible Support (#1491) @xjasonlyu
  • add dhcp type dns client (#1509) @Kr328
  • add geoip-code option
  • add vmess websocket 0rtt (#1505 #1558) @AkinoKaede @wwqgtxx
# for v2fly and xray (recommand)
- name: "vmess-ws-0rtt"
  type: vmess
  server: server
  port: 443
  uuid: uuid
  alterId: 32
  cipher: auto
  network: ws
  ws-opts:
    path: /
    max-early-data: 2048
    early-data-header-name: Sec-WebSocket-Protocol
# for xray compatible (not recommended)
- name: "vmess-ws-0rtt"
  type: vmess
  server: server
  port: 443
  uuid: uuid
  alterId: 32
  cipher: auto
  network: ws
  ## also work for xray
  # ws-opts:
  #  path: /
  #  max-early-data: 2048
  #  early-data-header-name: Sec-WebSocket-Protocol
  ws-opts:
    path: /?ed=2048

Change

  • logging real listen port (#1492) @ayanamist
  • logging remote port on request (#1494) @ayanamist
  • limit concurrency number of provider health check (10 for now)
  • split SOCKS version inbound metadata type (socks4 and socks5) (#1513) @xjasonlyu
  • make GEOIP match case-insensitive (#1574) @Loyalsoldier
  • skip DIRECT proxies in relay group (#1583) @ExcitedCodes
  • use ws-opts for vmess config (The old configuration is backward compatible to 2022)
  • migration go 1.17
    • add arm64 windows plaform
    • GEOIP support LAN for private ip (not related to mmdb)

Test

  • add protocol benchmark (Linux only)

Bugfixes

  • race condition panic on start clash
  • remove Content-Length from CONNECT response (#1502) @duament
  • grpc transport path should not escape
  • ssr auth aes128 udp hmac verify

v1.6.5

2 years ago

Feature

  • dns resolve domain through nameserver-policy (#1406) @icpz

Change

  • refactor plain HTTP proxy (#1443) @Kr328
  • config reload API use default path when both path and payload don't exist (#1447) @ayanamist
  • expose udp field to proxies API (#1441) @Fndroid
  • primary adaptation of the API interface to be able to use clash as a library

Bugfixes

  • vmess http should use Host header on request
  • enable DNS server message compression (#1451) @indust
  • remove ClientSessionCache and add NextProtos for vmess (fix #1468)

v1.6.0

3 years ago

Feature

  • PROCESS-NAME support freebsd 13 (#1351) @icpz
  • add freebsd arm64 build (#1370) @cntrump

Bugfixes

  • grpc transport panic
  • grpc transport udp issue
  • vmess http2 should use correctly default host
  • vmess aead writer concurrent write (#1350) @sprov065
  • trojan should safe close connection
  • snell v2 io timeout on reuse connection (#1362) @kamingchan
  • should write file if provider initializes from HTTP (#1365) @Kr328
  • skip deleted node from url-test group (#1378) @fishg
  • plain HTTP inbound leak