Skip to content

Tags: xvzc/spoofdpi

Tags

v1.5.3

Toggle v1.5.3's commit message
chore(main): release 1.5.3

v1.5.2

Toggle v1.5.2's commit message
chore(main): release 1.5.2

v1.5.1

Toggle v1.5.1's commit message
chore(main): release 1.5.1

v1.5.0

Toggle v1.5.0's commit message
chore(main): release 1.5.0

v1.4.1

Toggle v1.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release 1.4.1 (#384)

🤖 I have created a release *beep* *boop*
---


## [1.4.1](v1.4.0...v1.4.1)
(2026-05-03)


### Bug Fixes

* **main:** return early when createServer fails to avoid nil-deref on
ListenAndServe ([#382](#382))
([2aa53d0](2aa53d0))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

v1.4.0

Toggle v1.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(main): release 1.4.0 (#380)

🤖 I have created a release *beep* *boop*
---


## [1.4.0](v1.3.1...v1.4.0)
(2026-04-29)


### Features

* support TUI mode ([#378](#378))
([b0c489b](b0c489b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

v1.3.1

Toggle v1.3.1's commit message

Verified

This commit was signed with the committer’s verified signature.
xvzc xvzc
ci: edit release template

v1.3.0

Toggle v1.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: support socks5 and tun modes (#364)

* refactor(socks5): move rule matching to proxy, extract handlers

* refactor: extract Destination to netutil, update socks5 to use it, restore http pipe

* refactor: extract TLS tunneling logic to handler.Bridge

* refactor: restructure proxy packages

* chore: rename handler files for clarity

* refactor: restructure proxy packages to http, socks5, and tlsutil

* feat: support socks5 and tun

* feat: support socks5 and tun for linux

* fix: build condition for tun mode

* refactor(netutil): consolidate OS-specific code into netutil_*.go

- Merge bind_*.go and gateway_*.go into unified netutil_*.go files
- netutil_bsd.go: bindToInterface (IP_BOUND_IF) + getDefaultGateway for macOS/BSD
- netutil_linux.go: bindToInterface (LocalAddr) + getDefaultGateway for Linux
- netutil.go: no-op fallbacks for unsupported platforms
- Simplify bindToInterface on BSD to only use iface.Index
- Reduces file count from 6 to 3

* fix(tun): use -ifscope for proper interface-bound routing on macOS

- Replace 0.0.0.0/32 hack with proper -ifscope default route
- SetGatewayRoute now uses 'route add -ifscope <iface> default <gateway>'
- This creates a scoped default route for IP_BOUND_IF sockets
- UnsetGatewayRoute updated to clean up ifscope routes properly
- More logical and standards-compliant routing approach

* refactor(netutil): rename TimeoutConn to IdleTimeoutConn

- Better reflects the semantics: deadline extends on activity
- Updated comments to clarify idle-based timeout behavior
- Connection stays alive as long as there are Read/Write operations

* refactor(config): rename UDPTimeout to UDPIdleTimeout

- ConnOptions.UDPTimeout -> ConnOptions.UDPIdleTimeout
- CLI flag: --udp-timeout -> --udp-idle-timeout
- TOML key: udp-timeout -> udp-idle-timeout
- Updated all usages across codebase and tests
- Clearer naming to indicate idle-based timeout behavior

* feat: add support for socks5, tun modes

* fix: unsafe casting for trace id

* style: reformat

* style: reformat

* style: reformat

* refactor: optimize cache with generics

* docs: update docs

* refactor: rename network-config flag to auto-configure-network

* fix(socks5): close associated UDP connection on TCP disconnection

* fix: validate source address for UDP associate

* fix(packet): skip ethernet layer if MAC addresses are missing

* fix: ensure graceful cleanup using global context

* chore: remove unnecessary file

* refactor(tun): resolve gateway and interface prior to server startup

* fix(cache): trigger onInvalidate on duplicate key updates

LRUCache previously overwrote existing values without notification when
storing a duplicate key. To prevent potential resource leaks, the
onInvalidate callback is now invoked prior to storing the new value,
ensuring the previous entry is properly cleaned up.

* refactor(socks5): improve variable naming and logging

* test: remove unused test files

* refactor(netutil): rename SessionCache to ConnRegistry

* fix(tcp_writer): also check dstMAC to determine ethernet layer inclusion

* refactor: rename lAddr to lUDPAddr

* refactor: rename network config cleanup function to unset

* style: remove trailing whitespace in network_darwin

* fix(socks5): send success response after upstream dial

* fix(netutil): fix goroutine leak by returning and closing http.Server in RunPACServer

* refactor(socks5): extract inbound udp relay logic into a method

* style(socks5): make relayInboundUDP inline

* fix(socks5): explicitly evict conn from pool on udp inbound loop exit

* refactor: use tagged switch for cfg.App.Mode

* docs: notify that 'socks5' and 'tun' modes are currently experimental

* chore: fix typo

v1.2.1

Toggle v1.2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
refactor: packet sniffer writer (#352)

* feat: implement passive gateway and interface discovery

- Replace active ARP/NDP probing with passive traffic monitoring
- Introduce NetworkDetector to sniff outbound/inbound packets
- Update main.go to trigger discovery via dummy UDP packet and wait for gateway MAC
- Refactor system package: move interface discovery to NetworkDetector
- Remove obsolete internal/system/gateway.go and internal/system/iface.go

* fix(config): add missing rule validation during TOML unmarshal

- Call checkRule inside Rule.UnmarshalTOML to ensure required fields exist

* test: update test suites to match type changes and defaults

- Update tests to use proto.NewFakeTLSMessage for HTTPSOptions.FakePacket
- Fix type assertions in config, desync, and main tests
- Correct expected default value for https-split-mode in CLI tests

* refactor: cleanup unused files and structural changes

- Remove obsolete handler and packet files (hop_tracker, injector)
- Remove unused proto/http_request.go and proto/tls_message.go
- Add new internal packages: proto, netutil, packet implementation
- Consolidate proxy implementation under internal/proxy

* feat: change default HTTPS split mode to SNI

- Update default split mode from 'none' to 'sni' in config and CLI
- Update documentation to reflect the new default

* refactor: improve network detection and dialing

- Rename DialFirstSuccessful to DialFastest and support network type
- Integrate traffic triggering into NetworkDetector.Start
- Increase detection timeout to 5s in main
- Remove manual UDP dialing from main

* refactor: modernize DNS resolvers and proxy handlers

- Use standardized dnsOpts in resolvers
- Update proxies to use DialFastest
- Cleanup config tests and validation logic

* chore: update CI and documentation

- Use pull_request_target in check-pr workflow
- Add sign arg to release workflow
- Add Discord link to README

* docs: update readme

* docs: update readme

* docs: update readme

* style: fix wrong formatted file

* docs(issue-template): add country field to issue templates

* fix(timeout): increase gateway detection and dns dial timeouts

* fix(cli): use correct default config variable during merge

* refactor(config): support multiple domains and addresses in match rules

- Update MatchAttrs to use Domains []string and Addrs []AddrMatch
- Fix FakeClientHello constant length
- Update all consumers (matcher, proxy, tests) to adapt to new config structure

* style: fix wrong formatted code

v1.2.0

Toggle v1.2.0's commit message

Verified

This tag was signed with the committer’s verified signature.
xvzc xvzc
prepare for next release