Skip to content

Tags: xvzc/spoofdpi

Tags

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

v1.1.3

Toggle v1.1.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: add custom source archive including commit file (#327)