Skip to content
Compare
Choose a tag to compare

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: v1.11.0...v1.11.4

Compare
Choose a tag to compare

Feature

Bugfixes

New Contributors

Full Changelog: v1.10.6...v1.11.0

Compare
Choose a tag to compare

Chore

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: v1.10.0...v1.10.6

30d4668
Compare
Choose a tag to compare

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: v1.9.0...v1.10.0

Compare
Choose a tag to compare

Highlight

  • Fixed connectivity bug in #1868. recommended update.

Feature

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: v1.8.0...v1.9.0

Compare
Choose a tag to compare

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: v1.7.1...v1.8.0

Compare
Choose a tag to compare

Bugfixes

Compare
Choose a tag to compare

Feature

# 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
Compare
Choose a tag to compare

Feature

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

Change

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)
Compare
Choose a tag to compare

Feature

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