Skip to content

Comments

Add end-to-end test for ss-redir transparent proxy via QEMU#3020

Merged
madeye merged 1 commit intomasterfrom
test/ss-redir-qemu-e2e
Feb 8, 2026
Merged

Add end-to-end test for ss-redir transparent proxy via QEMU#3020
madeye merged 1 commit intomasterfrom
test/ss-redir-qemu-e2e

Conversation

@madeye
Copy link
Contributor

@madeye madeye commented Feb 7, 2026

Summary

  • Adds a QEMU-based integration test that boots a minimal Alpine Linux guest to verify the full ss-redir + ss-nat transparent proxy chain: iptables REDIRECT → ss-redir → ss-server (host) → internet
  • Builds a static ss-redir binary to avoid glibc/musl ABI mismatch between Ubuntu host and Alpine guest
  • Uses QEMU user-mode (SLIRP) networking with KVM acceleration when available
  • Linux-only CI step with 8-minute timeout, skipped on macOS

Test plan

  • bash -n tests/test_redir_qemu.sh and bash -n tests/qemu/guest-init.sh pass syntax checks
  • CI: new "ss-redir transparent proxy test (QEMU)" step passes on ubuntu-latest
  • CI: existing steps (unit tests, stress test, TUI tests) unaffected
  • CI: macOS build unaffected (QEMU step skipped via if: runner.os == 'Linux')

🤖 Generated with Claude Code

Boot a minimal Alpine Linux guest in QEMU with iptables, ss-redir, and
ss-nat to verify the full transparent proxy chain: iptables REDIRECT →
ss-redir → ss-server (host) → internet. The host-built ss-redir binary
and its shared library dependencies are copied into the Alpine rootfs,
avoiding static linking issues. Uses QEMU user-mode networking with KVM
acceleration when available. Linux-only CI step with 8-minute timeout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@madeye madeye force-pushed the test/ss-redir-qemu-e2e branch from 67e8580 to 14b5544 Compare February 7, 2026 11:01
@madeye madeye merged commit 44939a7 into master Feb 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant