Glider Versions Save

glider is a forward proxy with multiple protocols support, and also a dns/dhcp server with ipset management features(like dnsmasq).

v0.16.3

1 year ago

Enhancements:

  1. dhcpd: do not release static records
  2. chore: update dependencies
  3. chore: do not override config file when installing deb package
  4. chore: built with Go1.20.2

v0.16.2

1 year ago

Bug Fixes:

  1. ssh: fixed an issue when the destination is unreachable (#324)

Chore:

  1. ci: built with Go1.18.2

-- Note: No need to upgrade to this version if you don't use ssh forwarder.

v0.16.1

2 years ago

Enhancements:

  1. proxy: added vsock support on linux platform(#295)

Bug Fixes:

  1. socks5: avoid untyped nil printing which may lead to panic (fix #322)

Changes:

  1. docker: use scratch as base image NOTE: you may need to change your Dockerfile if you use nadoo/glider as your base image

Chore:

  1. ci: build docker image for riscv64 platform
  2. ci: added new binary release for Microarchitecture level x86-64-v3, download amd64v3 files if you need
  3. ci: built with Go1.18.1

v0.16.0

2 years ago

Enhancements:

  1. dns: add new config dnsnoaaaa to filter AAAA queries, default to false
  2. proxy: nat fullcone support for tproxy, trojan, ss, socks5 (#253)
  3. proxy: add new env: FORWARDER_URL to script health check (#310)
  4. proxy: support average latency calculating, add a new config checklatencysamples and default to 10 (#282)
  5. ipset: support ipv6 (note: ipset=glider will create 2 ipsets, glider for ipv4 and glider6 for ipv6)
  6. socks5: support protocol chain with unix socket(#291)
  7. config: optimize the parsing speed of rule config file (#306)
    • env: MacBook Pro 14” with M1 Pro(8-core CPU, 14-core GPU, 16G/512G)
    • rules: domain: 1M lines, ip: 1M lines, cidr: 1M lines
    • load time: 1.82 seconds
  8. config: support environment variable parsing in config file, format: {$ENV_VAR_NAME}
  9. service: added dhcpd-failover service
    • only serve requests when there's no other dhcp server exists in lan, detect interval: 1min
  10. proxy: support registrable help messages

Bug Fixes:

  1. tproxy: fix ipv6 support

Chore:

  1. ci: build binary for riscv64
  2. ci: build deb package for debian/ubuntu (by @koen-serry)
  3. ci: change docker version tag from vX.Y.Z to X.Y.Z (thanks @gaby )
  4. ci: new platforms for docker (386, arm/v6)
  5. ci: upload artifacts on each commit building
  6. ci: built with Go1.18

v0.15.3

2 years ago

Enhancements:

  1. vmess: support zero security
  2. proxy: improve interface binding (by setsockopt) on linux
  3. chore: built with Go1.17.6

Bug Fixes:

  1. vmess: fixed a panic issue when security set to none

v0.15.2

2 years ago

Enhancements:

  1. proxy: support https health checking;

  2. proxy: support regex match in http&https health checking;

    So we can set checking like:

    • check=https://www.netflix.com/title/70143836#expect=301
    • check=https://www.netflix.com/title/70143836#expect=301|404

Bug Fixes:

  1. vmess: fixed a panic issue in v0.15.1 (with @mzz2017 )

v0.15.1

2 years ago

Enhancements:

  1. ssh: added timeout parameter
  2. ssh: improve connection handling (#289 #299)
  3. tls,wss,trojan: support certificate pinning
  4. dns: support default port 53 in dnsserver config
  5. tproxy: fixed ipv6 support (#290)
  6. vmess: support length confusion (#298 by @mzz2017 )
  7. trojan: fix potential memory leaking (#297 by @mzz2017 )
  8. proxy: allow duplicate forwarders, so we can:
    • create 2 underlay ssh connections to serverA: glider -verbose -listen :8443 -forward ssh://serverA -forward ssh://serverA
    • control the weight of forwarder, serverA: 67%, serverB: 33%: glider -verbose -listen :8443 -forward ssh://serverA -forward ssh://serverA -forward socks5://serverB:1080
  9. proxy: show the number of enabled proxies (#292)
  10. proxy: exit glider when it fails to listen
  11. ci: built with Go1.17.5

v0.15.0

2 years ago

New Schemes:

  1. direct: now we can use direct as a failover by giving it a lower priority
    forward=socks5://host:port#priority=1
    forward=direct://#priority=0
    
  2. tproxy: linux tproxy server support, only udp now, ref: link
    glider -verbose -listen redir://:12345 -listen tproxy://:12345
    
  3. pxyproto: supports the server mode of PROXY protocol v1, e.g.:
    glider -verbose -listen pxyproto://:8443,http://
    
  4. wss: now we can use wss://host:port/path instead of tls://host:port,ws:///path for convenience

Config Changes:

  1. dns: added new config dnscachelog to show the query log of cache, default to false
  2. log: added new config logflags to control the format of log, default 19, ref: link
  3. proxy: added new config tcpbufsize(default: 32768) & udpbufsize(default: 2048)
  4. dhcpd: support static ip address mapping
    #service=dhcpd,INTERFACE,START_IP,END_IP,LEASE_MINUTES[,MAC=IP,MAC=IP...]
    #e.g.:
    service=dhcpd,eth2,192.168.2.100,192.168.2.199,720,fc:23:34:9e:25:01=192.168.2.101
    

Enhancements:

  1. ws: use default port if not specified
  2. ws: remove the Sec-WebSocket-Protocol header
  3. tls: added new parameter alpn in url scheme
  4. ssh: handle error in init conn to avoid panics
  5. dhcpd: support to handle DECLINE & RELEASE message type
  6. dhcpd: support more platforms including macOS and freebsd(not tested)
  7. vmess: support aead authing, enabled when alterID=0 or not setting
  8. vless,vmess: support string to uuid mapping standard
  9. proxy: fixed a bug which leads to panic when the specified interface not exists
  10. proxy: improve udp server implementations
  11. ci: built with Go1.17

v0.14.0

3 years ago

Changes:

  1. smux: Added smux protocol support
  2. ssh: Optimized the ssh client implementation (#251)
  3. docker: Added basic tools (#255 by @gaby )
  4. ci: Added freebsd version

smux usage examples:

  1. http proxy over smux over websocket:
  • server:

    glider -verbose -listen ws://:10000,smux://,http://
    
  • client:

    glider -verbose -listen :8443 -forward ws://:10000,smux://,http://
    
  • test it with curl:

    curl -x socks5://127.0.0.1:8443 apple.com
    
  1. a tcp port forwarder with smux:
  • server:

    glider -verbose -listen smux://:10000 -forward tcp://8.8.8.8:53
    
  • client:

    glider -verbose -listen tcp://:53 -forward smux://:10000
    
  • test it with dig:

    dig @127.0.0.1 apple.com +tcp
    

v0.13.2

3 years ago

Changes:

  1. socks5: Fixed a bug in socks5 server
  2. tls,trojan: Optimized the default port handling
  3. chore: Built with Go1.16.2